oweals/u-boot.git
8 years agoARM: mxs: allow boards to select DC-DC switching clock source
Michael Heimpold [Sun, 13 Dec 2015 11:08:37 +0000 (12:08 +0100)]
ARM: mxs: allow boards to select DC-DC switching clock source

For some board designs, it might be useful to switch the DC-DC
clock source to something else rather the default 24 MHz, e.g.
for EMI reasons.

For this, override the mxs_power_setup_dcdc_clocksource function
in your board support files.

Example:
void mxs_power_setup_dcdc_clocksource(void)
{
    mxs_power_switch_dcdc_clocksource(POWER_MISC_FREQSEL_20MHZ);
}

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Cc: Marek Vasut <marex@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
8 years agocgtqmx6eval: fix pad configuration for SPI bus
Michael Schanz [Thu, 10 Dec 2015 08:58:35 +0000 (09:58 +0100)]
cgtqmx6eval: fix pad configuration for SPI bus

Use the macro SETUP_IOMUX_PAD(...) rather than imx_iomux_v3_setup_multiple_pads(...) in order to setup
the pin configuration for ECSPI1.

ARRAY_SIZE(pads) provides the wrong size for imx_iomux_v3_setup_multiple_pads(pads, ARRAY_SIZE(pads)) in
case of MX6QDL. In the particular case, the content of GPR12 is overwritten and the IPG/AHB/ATB/ATP clocks
are deactivated. Therefore, the connection to the system via JTAG is not possible anymore. Furthermore,
kernel version 3.0.35 hangs during bootprocess in the function etm_init().

Signed-off-by: Michael Schanz <michael.schanz@congatec.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
8 years agonet: fec_mxc: unregister mdio bus on probe error
Måns Rullgård [Tue, 8 Dec 2015 15:38:46 +0000 (15:38 +0000)]
net: fec_mxc: unregister mdio bus on probe error

If fecmxc_initialize_multi() fails, it frees but does not unregister
the mdio bus, causing subsequent uses of the "mii" command to crash.
Fix this by adding mdio_unregister() calls where needed.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Reviewed-by: Eric Nelson <eric@nelint.com>
8 years agonet: fec_mxc: configure MDIO hold time
Måns Rullgård [Tue, 8 Dec 2015 15:38:45 +0000 (15:38 +0000)]
net: fec_mxc: configure MDIO hold time

If the host clock frequency is higher than 100 MHz, the MDIO hold
time needs to be increased from its current setting of one cycle in
order to meet the specified minium of 10 ns.  Writing an appropriate
value to the HOLDTIME field of the MII_SPEED register achieves this.

Comment copied from Linux kernel.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Reviewed-by: Eric Nelson <eric@nelint.com>
8 years agoserial_mxc: Fix setup of UARTx_UFCR register
Maximilian Schwerin [Wed, 25 Nov 2015 13:08:00 +0000 (14:08 +0100)]
serial_mxc: Fix setup of UARTx_UFCR register

This patch writes the default values for TXTL and RXTL to UARTx_UFCR.
Without this patch some older kernel versions crash as UARTx_UFCR was
not always correctly initialized.

Signed-off-by: Maximilian Schwerin <maximilian.schwerin@tigris.de>
8 years agoARM: imx: fsl_esdhc: fix usage of low 4 bits of sysctl register
Eric Nelson [Fri, 4 Dec 2015 19:32:48 +0000 (12:32 -0700)]
ARM: imx: fsl_esdhc: fix usage of low 4 bits of sysctl register

The low four bits of the SYSCTL register are reserved on the USDHC
controller on i.MX6 and i.MX7 processors, but are used for clocking
operations on earlier models.

Guard against their usage by hiding the bit mask macros on those
processors.

These bits are used to prevent glitches when changing clocks on
i.MX35 et al. Use the RSTA bit instead for i.MX6 and i.MX7.

>From the i.MX6DQ RM:
To prevent possible glitch on the card clock, clear the
FRC_SDCLK_ON bit when changing clock divisor value(SDCLKFS
or DVS in System Control Register) or setting RSTA bit.

Signed-off-by: Eric Nelson <eric@nelint.com>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Reviewed-by: Hector Palacios <hector.palacios@digi.com>
8 years agoimx: ddr: drop duplicated debug info
Peng Fan [Thu, 15 Oct 2015 10:06:00 +0000 (18:06 +0800)]
imx: ddr: drop duplicated debug info

Drop duplicated debug info for tcl.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoarm: novena: Switch novena to config_distro_bootcmd
Vagrant Cascadian [Tue, 24 Nov 2015 23:37:10 +0000 (00:37 +0100)]
arm: novena: Switch novena to config_distro_bootcmd

Switch Novena to distro bootcmd, so it can be used with debian easily.

Signed-off-by: Vagrant Cascadian <vagrant@aikidev.net>
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Sean Cross <xobs@kosagi.com>
Cc: Stefano Babic <sbabic@denx.de>
Tested-by: Vagrant Cascadian <vagrant@aikidev.net>
8 years agoimx: mx6: fix reg base address when runtime usage
Peng Fan [Mon, 30 Nov 2015 08:04:51 +0000 (16:04 +0800)]
imx: mx6: fix reg base address when runtime usage

Should use parenthese to wrap the macro definition, otherwise
we will encounter error like the following:

"
if (base_addr != LCDIF1_BASE_ADDR) {
    puts("Wrong LCD interface!\n");
    return -EINVAL;
}
"

Without this patch, we will always encounter "Wrong LCD interface".

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx6: add missing return value
Jeroen Hofstee [Sun, 29 Nov 2015 17:30:34 +0000 (18:30 +0100)]
imx: mx6: add missing return value

cc: Peng Fan <Peng.Fan@freescale.com>
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
Reviewed-by: Peng Fan <Peng.Fan@freescale.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agoimx: mx7: enable CONFIG_FSL_CLK
Peng Fan [Thu, 29 Oct 2015 07:59:25 +0000 (15:59 +0800)]
imx: mx7: enable CONFIG_FSL_CLK

This commit "677f970bc62a661690b3431543d5a5d5e682ba70" introduce a new
macro "CONFIG_FSL_CLK" that get_clocks() should not be limited by ESDHC.

But that patch missed to enable it for i.MX7. THis patch enables
CONFIG_FSL_CLK to let get_clocks work.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Adrian Alonso <aalonso@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
8 years agomx6sxsabresd: Fix Ethernet PHY reset sequence
Fabio Estevam [Mon, 23 Nov 2015 18:18:02 +0000 (16:18 -0200)]
mx6sxsabresd: Fix Ethernet PHY reset sequence

Since commit 59370f3fcd1350 ("net: phy: delay only if reset handler is
registered") Ethernet is no longer functional.

This commit does not have an issue in itself, but it revelead a problem
with the Ethernet initialization.

Fix this by calling enable_fec_anatop_clock() earlier and also
by adding a 10ms reset delay as recommended in the AR8031 datasheet.

Suggested-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agocgtqmx6eval: Fix defconfig name
Otavio Salvador [Wed, 25 Nov 2015 11:09:20 +0000 (09:09 -0200)]
cgtqmx6eval: Fix defconfig name

After the conversion to SPL the defconfig was renamed, so adjust it.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
8 years agoarm: imx6: novena: Enable extfs support in SPL
Marek Vasut [Wed, 25 Nov 2015 23:18:45 +0000 (00:18 +0100)]
arm: imx6: novena: Enable extfs support in SPL

Simple patch to enable support for extfs filesystem in SPL,
this is useful to those who want to avoid vfat like plague.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
8 years agoarm: imx6: novena, gw_ventana: Fix use of pfuze100 bit definitions
Marek Vasut [Thu, 26 Nov 2015 13:08:50 +0000 (14:08 +0100)]
arm: imx6: novena, gw_ventana: Fix use of pfuze100 bit definitions

The following patch changed the PFUZE100 swbst register bit definitions
and broke PMIC configuration on multiple boards, at least on the novena
and gw_ventana. This patch fixes it.

commit 8fa46350a4c7dca7710362f6c871098557b934ad
Author: Peng Fan <Peng.Fan@freescale.com>
Date:   Fri Aug 7 16:43:45 2015 +0800

    power: regulator: add pfuze100 support

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Peng Fan <Peng.Fan@freescale.com>
Cc: Przemyslaw Marczak <p.marczak@samsung.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Cc: Vagrant Cascadian <vagrant@aikidev.net>
Reviewed-by: Przemyslaw Marczak <p.marczak@samsung.com>
Tested-by: Vagrant Cascadian <vagrant@aikidev.net>
Reviewed-by: Peng Fan <Peng.Fan@freescale.com>
Acked-by: Tim Harvey <tharvey@gateworks.com>
8 years agoARM: mxs: fix VDDD brownout setting
Michael Heimpold [Sun, 15 Nov 2015 21:47:12 +0000 (22:47 +0100)]
ARM: mxs: fix VDDD brownout setting

At the moment, the desired brownout is at 1.0V. However,
this setting cannot be realized by hardware since we have
only 3 bits to represent the voltage difference from the
target value.

Target value is 1500 mV, brownout target is 1000 mV,
voltage steps are 25 mV.

Register content calculation:
  (1500 [mV] - 1000 [mV]) / 25 [mV] = 20 (decimal) = 0x14

  Register takes only 3 bits, that is 0x4.

But 0x4 * 25 [mV] = 100 [mV], that means that actual
brownout level is 1500 [mV] - 100 [mV] = 1.4 V.

Minimum possible BO level is
  1500 [mV] - 0x7 * 25 [mV] = 1315 [mV].

So lets use this value as desired BO value (which is
also the same as FSL bootlets use).

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Cc: Marek Vasut <marex@denx.de>
Cc: Otavio Salvador <otavio@ossystems.com.br>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Marek Vasut <marex@denx.de>
8 years agomx6: clock: Modify GPMI clock to support mx6sx
Ye.Li [Mon, 12 Jan 2015 08:46:17 +0000 (16:46 +0800)]
mx6: clock: Modify GPMI clock to support mx6sx

On mx6sx, the CCM register bits for GPMI are different as other
mx6 platforms. Modify the GPMI clock function to support mx6sx.

Signed-off-by: Ye.Li <B37916@freescale.com>
8 years agovideo: ipu: simplify if else code
Peng Fan [Tue, 24 Nov 2015 08:54:23 +0000 (16:54 +0800)]
video: ipu: simplify if else code

Simplify if/else code, since if channel equals to MEM_BG_SYNC or
MEM_FG_SYNC, we have value 5 for 'dc_chan'.

Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
Cc: Anatolij Gustschin <agust@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Reviewed-by: Stefano Babic <sbabic@denx.de>
8 years agocolibri_vf: Add board_usb_phy_mode function
Sanchayan Maity [Thu, 12 Nov 2015 06:17:35 +0000 (11:47 +0530)]
colibri_vf: Add board_usb_phy_mode function

Add board_usb_phy_mode function for detecting whether a port is
being used as host or client using a GPIO. On Colibri Vybrid we
provide GPIO 102 for this very same purpose.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
8 years agocgtqmx6eval: Add DFU support
Otavio Salvador [Thu, 19 Nov 2015 21:02:38 +0000 (19:02 -0200)]
cgtqmx6eval: Add DFU support

Add MMC and SPI DFU support.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agoiomux-v3: Take MX6D in consideration for imx_iomux_v3_setup_pad()
Otavio Salvador [Thu, 19 Nov 2015 21:02:37 +0000 (19:02 -0200)]
iomux-v3: Take MX6D in consideration for imx_iomux_v3_setup_pad()

We should also take MX6D option in consideration when defining
imx_iomux_v3_setup_pad().

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agocgtqmx6eval: Add SPL support
Otavio Salvador [Thu, 19 Nov 2015 21:02:36 +0000 (19:02 -0200)]
cgtqmx6eval: Add SPL support

Congatec has several MX6 boards based on quad, dual, dual-lite and solo.

Add SPL support so that all the variants can be supported

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agocgtqmx6eval: Add fastboot support
Otavio Salvador [Thu, 19 Nov 2015 21:02:35 +0000 (19:02 -0200)]
cgtqmx6eval: Add fastboot support

Tested basic fastboot commands, such as:

On the U-boot prompt:

=> fastboot 0

On the host PC:

$ fastboot getvar bootloader-version -i 0x0525
bootloader-version: U-Boot 2015.10-rc2-09654-g8f41d27
finished. total time: 0.000s

$ fastboot reboot -i 0x0525 --> board reboots fine.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agocgtqmx6eval: Use SPI NOR to store the environment
Otavio Salvador [Thu, 19 Nov 2015 21:02:34 +0000 (19:02 -0200)]
cgtqmx6eval: Use SPI NOR to store the environment

Congatec boards boot from SPI NOR, so it makes more sense to use
SPI NOR to store the environment variables.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agocgtqmx6eval: Add SPI NOR flash support
Otavio Salvador [Thu, 19 Nov 2015 21:02:33 +0000 (19:02 -0200)]
cgtqmx6eval: Add SPI NOR flash support

Add SPI NOR support:

=> sf probe
SF: Detected SST25VF032B with page size 256 Bytes, erase size 4 KiB, total 4 MiB

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
8 years agoarm: mx6: Reduce SPL malloc pool size
Marek Vasut [Fri, 20 Nov 2015 20:43:24 +0000 (21:43 +0100)]
arm: mx6: Reduce SPL malloc pool size

Using 50 MiB malloc pool in SPL is nonsense. Since the caches are not
enabled in SPL, it takes 2 seconds to init the pool and has no obvious
benefit. Reduce the size to 1 MiB.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Tim Harvey <tharvey@gateworks.com>
Tested-by: Stefano Babic <sbabic@denx.de>
Acked-by: Tim Harvey <tharvey@gateworks.com>
8 years agodm: Add timeline and guide for porting serial drivers
Simon Glass [Fri, 20 Nov 2015 17:48:47 +0000 (10:48 -0700)]
dm: Add timeline and guide for porting serial drivers

Add a README with a brief guide to porting serial drivers over to use
driver model.

Add a timeline also. All serial drivers should be converted by the end
of January 2016.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: test: usb: sandbox: Add keyboard tests for sandbox
Simon Glass [Mon, 9 Nov 2015 06:48:08 +0000 (23:48 -0700)]
dm: test: usb: sandbox: Add keyboard tests for sandbox

Add a test that verifies that USB keyboards work correctly on sandbox.
This verifies some additional parts of the USB stack.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agosandbox: Enable USB keyboard
Simon Glass [Mon, 9 Nov 2015 06:48:07 +0000 (23:48 -0700)]
sandbox: Enable USB keyboard

Enable the USB keyboard on sandbox, now that we have a suitable emulation
driver.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agousb: sandbox: Add a USB emulation driver
Simon Glass [Mon, 9 Nov 2015 06:48:06 +0000 (23:48 -0700)]
usb: sandbox: Add a USB emulation driver

Add a simple USB keyboard driver for sandbox. It provides a function to
'load' it with input data, which it will then stream through to the normal
U-Boot input subsystem. When the input data is exhausted, the keyboard stops
providing data.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agousb: sandbox: Add support for interrupt operations
Simon Glass [Mon, 9 Nov 2015 06:48:05 +0000 (23:48 -0700)]
usb: sandbox: Add support for interrupt operations

Allow USB device emulation to support interrupt URBs so that we can use USB
keyboards with sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agousb: Avoid open-coded USB constants in usb_kbd.c
Simon Glass [Mon, 9 Nov 2015 06:48:04 +0000 (23:48 -0700)]
usb: Avoid open-coded USB constants in usb_kbd.c

Replace the open-coded values with constants to make it clearer what they
mean.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agousb: Drop unused code in usb_kbd.c
Simon Glass [Mon, 9 Nov 2015 06:48:03 +0000 (23:48 -0700)]
usb: Drop unused code in usb_kbd.c

This was missed in the conversion to driver model.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: test: usb: Add a test for device reordering
Simon Glass [Mon, 9 Nov 2015 06:48:02 +0000 (23:48 -0700)]
dm: test: usb: Add a test for device reordering

Add tests that 'usb tree' produces the right output when a device changes
order on the bus.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: test: usb: Add tests for the 'usb tree' command
Simon Glass [Mon, 9 Nov 2015 06:48:01 +0000 (23:48 -0700)]
dm: test: usb: Add tests for the 'usb tree' command

Add tests that this command produces the right output, even when a rescan
results in a device disappearing from the bus.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: usb: Remove inactive children after a bus scan
Simon Glass [Mon, 9 Nov 2015 06:48:00 +0000 (23:48 -0700)]
dm: usb: Remove inactive children after a bus scan

Each scan of the USB bus may return different results. Existing driver-model
devices are reused when found, but if a device no longer exists it will stay
around, de-activated, but bound.

Detect these devices and remove them after the scan completes.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: usb: Deprecate usb_get_dev_index()
Simon Glass [Mon, 9 Nov 2015 06:47:59 +0000 (23:47 -0700)]
dm: usb: Deprecate usb_get_dev_index()

This function should not be used with driver model. While there are users
of USB Ethernet that use driver model for USB but not Ethernet, we have
to keep it around. Add a comment to that effect.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoRevert "dm: Export device_remove_children / device_unbind_children"
Simon Glass [Mon, 9 Nov 2015 06:47:58 +0000 (23:47 -0700)]
Revert "dm: Export device_remove_children / device_unbind_children"

This reverts commit bb52b367f6ca4a3a918e77737f4ff6a1089912d9.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoRevert "dm: usb: Use device_unbind_children to clean up usb devs on stop"
Simon Glass [Mon, 9 Nov 2015 06:47:57 +0000 (23:47 -0700)]
Revert "dm: usb: Use device_unbind_children to clean up usb devs on stop"

This reverts commit 6cda369509e0d3fa5f9e33c9d71589c4523799fa.

We want to avoid having the USB stack rely on unbind.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoRevert "dm: usb: Rename usb_find_child to usb_find_emul_child"
Simon Glass [Mon, 9 Nov 2015 06:47:56 +0000 (23:47 -0700)]
Revert "dm: usb: Rename usb_find_child to usb_find_emul_child"

This reverts commit 9b510df703d282effba4f56ac567aa8011d56e6b.

We want to avoid having the USB stack rely on unbind.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agosandbox: usb: Allow finding a USB emulator for a device
Simon Glass [Mon, 9 Nov 2015 06:47:55 +0000 (23:47 -0700)]
sandbox: usb: Allow finding a USB emulator for a device

Each USB device has an emulator. Currently this can only be found by
supplying the 'pipe' value, which contains the device number. Add a way
to find it directly from the emulated device.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agosandbox: usb: Allow up to 4 emulated devices on a hub
Simon Glass [Mon, 9 Nov 2015 06:47:54 +0000 (23:47 -0700)]
sandbox: usb: Allow up to 4 emulated devices on a hub

To support more advanced testing, support 4 devices instead of 2.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agosandbox: usb: Allow dynamic emulated USB device descriptors
Simon Glass [Mon, 9 Nov 2015 06:47:53 +0000 (23:47 -0700)]
sandbox: usb: Allow dynamic emulated USB device descriptors

We would like the serial number to come from the device tree node name of
the emulated device. This avoids them all having the same name. Adjust the
code to support this.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: core: Add safe device iteration macros
Simon Glass [Mon, 9 Nov 2015 06:47:52 +0000 (23:47 -0700)]
dm: core: Add safe device iteration macros

Add iteration macros which support unbinding a device within the loop.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agousb: Refactor USB tree output code for testing
Simon Glass [Mon, 9 Nov 2015 06:47:51 +0000 (23:47 -0700)]
usb: Refactor USB tree output code for testing

Allow the 'usb tree' command to be used from test code, so that we can
verify that it works correctly.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agotest: Record and silence console in tests
Simon Glass [Mon, 9 Nov 2015 06:47:50 +0000 (23:47 -0700)]
test: Record and silence console in tests

When running sandbox tests, silence the console to avoid unwanted output.
Also, record the console in case tests want to check it.

The -v option can be used to enable stdout during tests.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agosandbox: Enable console recording and silent console
Simon Glass [Mon, 9 Nov 2015 06:47:49 +0000 (23:47 -0700)]
sandbox: Enable console recording and silent console

Allow console recording so that tests can use it. Also allow the console
output to be suppressed, to reduce test output 'noise'.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoconsole: Add a console buffer
Simon Glass [Mon, 9 Nov 2015 06:47:48 +0000 (23:47 -0700)]
console: Add a console buffer

It is useful to be able to record console output and provide console input
via a buffer. This provides sandbox with the ability to run a command and
check its output. If the console is set to silent then no visible output
is generated.

This also provides a means to fix the problem where tests produce unwanted
output, such as errors or warnings. This can be confusing. We can instead
set the console to silent and record this output. It can be checked later
in the test if required.

It is possible that this may prove useful for non-test situations. For
example the console output may be suppressed for normal operations, but
recorded and stored for access by the OS. That feature is not implemented
at present.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoAdd a circular memory buffer implementation
Simon Glass [Mon, 9 Nov 2015 06:47:47 +0000 (23:47 -0700)]
Add a circular memory buffer implementation

This will be used to support console recording. It provides for a circular
buffer which can be written at the head and read from the tail. It supports
avoiding data copying by providing raw access to the data.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoDrop config.h header from display_options.c
Simon Glass [Mon, 9 Nov 2015 06:47:46 +0000 (23:47 -0700)]
Drop config.h header from display_options.c

Since common.h will always include this automatically, it is not needed.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoMove console definitions into a new console.h file
Simon Glass [Mon, 9 Nov 2015 06:47:45 +0000 (23:47 -0700)]
Move console definitions into a new console.h file

The console includes a global variable and several functions that are only
used by a small subset of U-Boot files. Before adding more functions, move
the definitions into their own header file.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: usb: Avoid time delays in sandbox tests
Simon Glass [Mon, 9 Nov 2015 06:47:44 +0000 (23:47 -0700)]
dm: usb: Avoid time delays in sandbox tests

Currently the USB tests take around two seconds to run. Remove these
unnecessary time delays so that the tests run quickly.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agosandbox: Add a way to skip time delays
Simon Glass [Mon, 9 Nov 2015 06:47:43 +0000 (23:47 -0700)]
sandbox: Add a way to skip time delays

Some tests are slow due to delays which are unnecessary on sandbox. The
worst offender is USB where we lose two seconds. Add a way to disable time
delays.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agosandbox: cros_ec: fix uninitialized use of len
Daniel Schwierzeck [Fri, 6 Nov 2015 13:15:37 +0000 (14:15 +0100)]
sandbox: cros_ec: fix uninitialized use of len

Building with gcc-5.2 raises this warning:

drivers/misc/cros_ec_sandbox.c: In function cros_ec_sandbox_packet:
drivers/misc/cros_ec_sandbox.c:483:5: warning: len may be used uninitialized in this function [-Wmaybe-uninitialized]
  if (len < 0)
     ^

If the function process_cmd() is called with
req_hdr->command == EC_CMD_ENTERING_MODE, the value of len will be
returned uninitialized.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agox86: qemu: Convert to use driver model keyboard
Bin Meng [Thu, 12 Nov 2015 13:33:06 +0000 (05:33 -0800)]
x86: qemu: Convert to use driver model keyboard

Convert to use driver model keyboard on QEMU.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agox86: crownbay: Convert to use driver model keyboard
Bin Meng [Thu, 12 Nov 2015 13:33:05 +0000 (05:33 -0800)]
x86: crownbay: Convert to use driver model keyboard

Convert to use driver model keyboard on Intel Crown Bay.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agoinput: Ban digit numbers if 'Num Lock' is not on
Bin Meng [Thu, 12 Nov 2015 13:33:04 +0000 (05:33 -0800)]
input: Ban digit numbers if 'Num Lock' is not on

When 'Num Lock' is not on, we should not send these digit numbers
(0-9 and dot) to the output buffer.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agoinput: Change LED state bits to conform i8042 compatible keyboard
Bin Meng [Thu, 12 Nov 2015 13:33:03 +0000 (05:33 -0800)]
input: Change LED state bits to conform i8042 compatible keyboard

When sending LED update command to an i8042 compatible keyboard,
bit1 is 'Num Lock' and bit2 is 'Caps Lock' in the data byte. But
input library defines bit1 as 'Caps Lock' and bit2 as 'Num Lock'.
This causes a wrong LED to be set on an i8042 compatible keyboard.
Change the LED state bits to be i8042 compatible, and change the
keyboard flags as well.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agoinput: Call keyboard's update_leds() method when the LEDs change
Bin Meng [Thu, 12 Nov 2015 13:33:02 +0000 (05:33 -0800)]
input: Call keyboard's update_leds() method when the LEDs change

We should request keyboard to turn on/off its LED when detecting
any changes on the LEDs.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Minor changes to allow this to build without CONFIG_DM_KEYBOARD:
Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoinput: Save keyboard's LED state to correct place
Bin Meng [Thu, 12 Nov 2015 13:33:01 +0000 (05:33 -0800)]
input: Save keyboard's LED state to correct place

Currently keyboard's LED state is wrongly saved to config->leds in
process_modifier(). It should really be config->flags.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agoinput: Convert 'keyboard' driver to use input library
Simon Glass [Wed, 11 Nov 2015 17:05:48 +0000 (10:05 -0700)]
input: Convert 'keyboard' driver to use input library

This has duplicated scan code tables and logic. We can use the input
library to implement most of the features here.

This needs testing. The only supported board appears to be TQM5200.
Unfortunately no maintainer is listed for this board.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agovideo: input: Clean up after i8042 conversion
Simon Glass [Wed, 11 Nov 2015 17:05:47 +0000 (10:05 -0700)]
video: input: Clean up after i8042 conversion

Now that i8042 uses driver model, adjust other mentions of it and remove old
code that is no-longer used. Update the README and unify the keyboard text
into one place.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoi8042: Handle a duplicate power-on-reset response
Simon Glass [Wed, 11 Nov 2015 17:05:46 +0000 (10:05 -0700)]
i8042: Handle a duplicate power-on-reset response

Sometimes we seem to get 0xaa twice which causes the config read to fail.
This causes chromebook_link to fail to set up the keyboard.

Add a check for this and read the config again when detected.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoinput: Convert i8042 to driver model
Simon Glass [Wed, 11 Nov 2015 17:05:45 +0000 (10:05 -0700)]
input: Convert i8042 to driver model

Adjust this driver to support driver model. The only users are x86 boards
so this should be safe.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoDrop CONFIG_ISA_KEYBOARD
Simon Glass [Wed, 11 Nov 2015 17:05:44 +0000 (10:05 -0700)]
Drop CONFIG_ISA_KEYBOARD

This option is mentioned but does not do anything. Drop it.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agox86: Add an i8042 device for boards that have it
Simon Glass [Wed, 11 Nov 2015 17:05:43 +0000 (10:05 -0700)]
x86: Add an i8042 device for boards that have it

Some boards have an i8042 device. Enable the driver for all x86 boards, and
add a device tree node for those which may have this keyboard.

Also adjust the configuration so that i8042 is always separate from the VGA,
and rename the stdin driver accordingly. With this commit the keyboard will
not work, but it is fixed in the next commit.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoinput: Add a Kconfig option for the i8042 keyboard
Simon Glass [Wed, 11 Nov 2015 17:05:42 +0000 (10:05 -0700)]
input: Add a Kconfig option for the i8042 keyboard

Add a new option CONFIG_I8042_KEYB which will replace the current
CONFIG_I8042_KBD. This new name fits better with existing drivers.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoinput: i8042: Convert to use the input library
Simon Glass [Wed, 11 Nov 2015 17:05:41 +0000 (10:05 -0700)]
input: i8042: Convert to use the input library

At present the i8042 driver has its own logic and keymaps. In an effort to
unify the code, move it over to use the input library. This changes most of
the keycode-processing logic since it is now in that library. The main
responsibilities of the driver are now to handle the LEDs, deal with the
PS/2 extended keycodes and initialise the the keyboard.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoinput: Allow updating of keyboard LEDs
Simon Glass [Wed, 11 Nov 2015 17:05:40 +0000 (10:05 -0700)]
input: Allow updating of keyboard LEDs

Add a function which returns a new keyboard LED value when the LEDs need
updating.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoinput: Handle caps lock
Simon Glass [Wed, 11 Nov 2015 17:05:39 +0000 (10:05 -0700)]
input: Handle caps lock

When caps lock is enabled we should convert lower case to upper case. Add
this to the input key processing so that caps lock works correctly.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoinput: Adjust structure of code in process_modifier()
Simon Glass [Wed, 11 Nov 2015 17:05:38 +0000 (10:05 -0700)]
input: Adjust structure of code in process_modifier()

Move all the '!release' code into one block so that it is clear that it only
applies on key release.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoinput: Support the German keymap
Simon Glass [Wed, 11 Nov 2015 17:05:37 +0000 (10:05 -0700)]
input: Support the German keymap

Add support for the German keymap, taken from i8042.c. This can be selected
when the input library it initialised.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agosandbox: add a sandbox timer and basic test
Thomas Chou [Fri, 30 Oct 2015 07:35:52 +0000 (15:35 +0800)]
sandbox: add a sandbox timer and basic test

Add a sandbox timer which get time from host os and a basic
test.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agocommon/board_f.c: move mark_bootstage after arch_cpu_init_dm
Thomas Chou [Fri, 30 Oct 2015 07:35:51 +0000 (15:35 +0800)]
common/board_f.c: move mark_bootstage after arch_cpu_init_dm

As mark_bootstage() uses timer, it should go after driver model
is initialized.

Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
8 years agoinput: Allow repeat filtering to be disabled
Simon Glass [Mon, 19 Oct 2015 03:17:25 +0000 (21:17 -0600)]
input: Allow repeat filtering to be disabled

Generally the input library handles processing of a list of scanned keys.
Repeated keys need to be generated based on a timer in this case, since all
that is provided is a list of keys current depressed.

Keyboards which do their own scanning will resend codes when they want to
inject a repeating key. Provide a function which tells the input library to
accept repeating keys and not to try to second-guess the caller.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoinput: Add a function to add a keycode to the existing set
Simon Glass [Mon, 19 Oct 2015 03:17:24 +0000 (21:17 -0600)]
input: Add a function to add a keycode to the existing set

Most keyboards can be scanned to produce a list of the keycodes which are
depressed. With the i8042 keyboard this scanning is done internally and
only the processed results are returned.

In this case, when a key is pressed, a 'make' code is sent. When the key
is released a 'break' code is sent. This means that the driver needs to
keep track of which keys are pressed. It also means that any protocol error
can lead to stuck keys.

In order to support this type of keyboard, add a function when can be used
to provide a single keycode and either add it to the list of what is pressed
or remove it from the list. Then the normal input_send_keycodes() function
can be used to actually do the decoding work.

Add debugging to display the ASCII characters written to the input queue
also.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoinput: Add a few more keyboard keycodes
Simon Glass [Mon, 19 Oct 2015 03:17:23 +0000 (21:17 -0600)]
input: Add a few more keyboard keycodes

The slash and * are missing from the keycode tables. Add these so that
these keypad keys can be used.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoinput: Correct keycode for Ctrl-Y
Simon Glass [Mon, 19 Oct 2015 03:17:22 +0000 (21:17 -0600)]
input: Correct keycode for Ctrl-Y

This code is currently incorrect, perhaps due to a typo. Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoi8042: Adjust keyboard init to assume success
Simon Glass [Mon, 19 Oct 2015 03:17:21 +0000 (21:17 -0600)]
i8042: Adjust keyboard init to assume success

Modify i8042_kbd_init() so that the normal pass is sucessful init and
failure exits early. This will make the code easier to extend and is easier
to read.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoi8042: Adjust kbd_reset() to collect all failures
Simon Glass [Mon, 19 Oct 2015 03:17:20 +0000 (21:17 -0600)]
i8042: Adjust kbd_reset() to collect all failures

Rather than lots of 'return' statements, use goto to a single return.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoi8042: Use functions to handle register access
Simon Glass [Mon, 19 Oct 2015 03:17:19 +0000 (21:17 -0600)]
i8042: Use functions to handle register access

At present the register access in kbd_reset() is quite primitive. This makes
it hard to follow.

Create functions to read and write data, both to a single register, and via
the command/data approach.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-on: Intel Crown Bay and QEMU
Tested-by: Bin Meng <bmeng.cn@gmail.com>
8 years agovideo: Drop unused console functions
Simon Glass [Mon, 19 Oct 2015 03:17:18 +0000 (21:17 -0600)]
video: Drop unused console functions

CONFIG_CONSOLE_CURSOR, CONFIG_SYS_CONSOLE_BLINK_COUNT and
CONFIG_CONSOLE_TIME are not used by any board. The implementation is not
great and stands in the way of a refactor of i8042. Drop these for now.
They can be re-introduced quite easily later, perhaps with driver-model
real-time-clock (RTC) support.

When reintroducing, it might be useful to make a few changes:
- Blink time would be more useful than blink count
- The confusing #ifdefs should be avoided
- The time functions should support driver model
- It would be best keyed off console_tstc() or some similar idle loop
    rather than a particular input driver (i8042 in this case)

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agodm: cros_ec: Convert cros_ec keyboard driver to driver model
Simon Glass [Mon, 19 Oct 2015 03:17:17 +0000 (21:17 -0600)]
dm: cros_ec: Convert cros_ec keyboard driver to driver model

Adjust the cros_ec keyboard driver to support driver model. Make this the
default for all Exynos boards so that those that use a keyboard will build
correctly with this driver.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: tegra: Convert keyboard driver to driver model
Simon Glass [Mon, 19 Oct 2015 03:17:16 +0000 (21:17 -0600)]
dm: tegra: Convert keyboard driver to driver model

Adjust the tegra keyboard driver to support driver model, using the new
uclass. Make this the default for all Tegra boards so that those that use
a keyboard will build correctly with this driver.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agodm: stdio: Plumb in the new keyboard uclass
Simon Glass [Mon, 19 Oct 2015 03:17:15 +0000 (21:17 -0600)]
dm: stdio: Plumb in the new keyboard uclass

When driver model is used for keyboards we must scan the available keyboards
and register them with stdio. Add code to do this.

At some point (once LCD/video is converted) we should be able to convert
stdio to driver model and avoid these dual data structures.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agocros_ec: Use udevice instead of cros_ec_dev for keyboard functions
Simon Glass [Mon, 19 Oct 2015 03:17:14 +0000 (21:17 -0600)]
cros_ec: Use udevice instead of cros_ec_dev for keyboard functions

In preparation for converting the cros_ec keyboard driver to driver model,
adjust the cros_ec functions it will use to use a normal struct udevice.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agoinput: Add the keycode translation tables separately
Simon Glass [Mon, 19 Oct 2015 03:17:13 +0000 (21:17 -0600)]
input: Add the keycode translation tables separately

Require the caller to add the keycode translation tables separately so that
it can select which ones to use. In a later patch we will add the option to
add German tables.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoinput: Return -ENOSPC when there is not space
Simon Glass [Mon, 19 Oct 2015 03:17:12 +0000 (21:17 -0600)]
input: Return -ENOSPC when there is not space

Return a useful error instead of -1 when something goes wrong.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agoinput: Add a device pointer to the input config
Simon Glass [Mon, 19 Oct 2015 03:17:11 +0000 (21:17 -0600)]
input: Add a device pointer to the input config

The read_keys() method in input is passed a struct input_config. Add a
device pointer there so that we can find out the device that is referred
to with driver model.

Once all drivers are converted we can update the input structure to use
driver model instead.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agodm: input: Create a keyboard uclass
Simon Glass [Mon, 19 Oct 2015 03:17:10 +0000 (21:17 -0600)]
dm: input: Create a keyboard uclass

Add a uclass for keyboard input, mirroring the existing stdio methods.
This is enabled by a new CONFIG_DM_KEYBOARD option.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
8 years agodm: usb: Add support for USB keyboards with driver model
Simon Glass [Tue, 8 Sep 2015 17:15:11 +0000 (11:15 -0600)]
dm: usb: Add support for USB keyboards with driver model

Switch USB keyboards over to use driver model instead of scanning with the
horrible usb_get_dev_index() function. This involves creating a new uclass
for keyboards, although so far there is no API.

Signed-off-by: Simon Glass <sjg@chromium.org>
8 years agorockchip: Turn on CONFIG_DEBUG_UART_NS16550 in defconfigs
Ariel D'Alessandro [Mon, 16 Nov 2015 11:15:50 +0000 (08:15 -0300)]
rockchip: Turn on CONFIG_DEBUG_UART_NS16550 in defconfigs

No UART driver was specified in defconfig, thus
DEBUG_UART_ALTERA_JTAGUART was incorrectly selected by default since
commit 220e8021af96741bd7149ca9895e1f0c8a38d0bb added a new Altera UART
driver.

Signed-off-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
Acked-by: Simon Glass <sjg@chromium.org>
8 years agoMerge branch 'master' of git://git.denx.de/u-boot-spi
Tom Rini [Thu, 19 Nov 2015 18:27:26 +0000 (13:27 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-spi

8 years agoMerge branch 'zynq' of git://www.denx.de/git/u-boot-microblaze
Tom Rini [Thu, 19 Nov 2015 16:25:36 +0000 (11:25 -0500)]
Merge branch 'zynq' of git://denx.de/git/u-boot-microblaze

8 years agoMerge branch 'master' of git://www.denx.de/git/u-boot-microblaze
Tom Rini [Thu, 19 Nov 2015 14:06:44 +0000 (09:06 -0500)]
Merge branch 'master' of git://denx.de/git/u-boot-microblaze

8 years agocommon: mii: Do not allow to exceed max phy limit
Michal Simek [Mon, 19 Oct 2015 13:13:34 +0000 (15:13 +0200)]
common: mii: Do not allow to exceed max phy limit

Phy can have addresses 0-31. Check this boundary to ensure that user
can't call commands on phy address 32 and more.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
8 years agozynq: sdhci: Define max clock by macro
Michal Simek [Mon, 28 Sep 2015 23:27:13 +0000 (01:27 +0200)]
zynq: sdhci: Define max clock by macro

zc1571 with silicon can operate on 200MHz maximum frequency. Setup this
frequency by default and fix setting for ep108.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
8 years agonet: zynq: Fix MDC setting for zynq
Michal Simek [Tue, 8 Sep 2015 15:07:01 +0000 (17:07 +0200)]
net: zynq: Fix MDC setting for zynq

Based on spec:
"MDC must not exceed 2.5 MHz (MDC is only active during MDIO read and
write operations)"
Zynq is running on 111MHz. Current setting is 32 which is 111/32=3.47
which is above of 2.5MHz.
Using 48 divider will give us correct setting according spec
(111/48=2.31).

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: zynq: Remove unused MDCCLKDIV2 macro
Michal Simek [Tue, 8 Sep 2015 14:54:39 +0000 (16:54 +0200)]
net: zynq: Remove unused MDCCLKDIV2 macro

Driver cleanup.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
8 years agonet: zynq: Fix mdc clock division setting for 100Mbit/s
Michal Simek [Tue, 8 Sep 2015 14:55:42 +0000 (16:55 +0200)]
net: zynq: Fix mdc clock division setting for 100Mbit/s

Using set and clear macro is incorrect because it is not overwritting
origin mdc clock division setup.
For example origin setup is 8(0b001) and new setup is 64(0b100) which
means 0b101 is setup which is 96 divider.
Using writel to rewrite all setting like for 1000Mbit/s case.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>