barebox/drivers
Antony Pavlov 92f9b36fc0 net: dm9k: fix reset routine
Based on Linux's commit:

    commit 09ee9f87d02e779e4fc3f5c29212c733d6d6e349
    Author: Michael Abbott <michael.abbott@diamond.ac.uk>
    Date:   Wed Oct 16 11:41:33 2013 +0300

        dm9000: Implement full reset of DM9000 network device

        A Davicom application note for the DM9000 network device recommends
        performing software reset twice to correctly initialise the device.
        Without this reset some devices fail to initialise correctly on
        system startup.

N.B. DM9000B on MIPS Creator CI20 board needs additional workaround
(see the 'Make all GPIO pins outputs' and 'Power internal PHY' lines).

This workaround was taken from this U-boot's commit:

    commit fbcb7ece0ea1e364180f1cf963e0fa0ce7f6560d
    Author: Remy Bohmer <linux@bohmer.net>
    Date:   Tue Jun 3 15:26:24 2008 +0200

        DM9000: Improve eth_reset() routine

        According to the application notes of the DM9000 v1.22 chapter 5.2 bullet 2, the
        reset procedure must be done twice to properly reset the DM9000 by means of software.
        This errata is not needed anymore for the DM9000A, but it does not bother it.

        This change has been tested with DM9000A, DM9000E, DM9000EP.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2015-05-12 08:22:19 +02:00
..
amba resource: Let request_iomem_region return an error pointer 2014-09-16 08:32:09 +02:00
ata of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
base Merge branch 'for-next/of-device-id' 2015-05-06 21:36:13 +02:00
bus Merge branch 'for-next/of-device-id' 2015-05-06 21:36:13 +02:00
clk of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
clocksource clock: incorporate dummy clocksource into core clock code 2014-12-17 12:15:11 +01:00
dma of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
eeprom of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
firmware firmware: socfpga: Fix a bug in fpgamgr_program_write_buf() 2015-04-23 07:57:56 +02:00
gpio Merge branch 'for-next/of-device-id' 2015-05-06 21:36:13 +02:00
habv4 habv4: add High Assurance Boot v4 2015-04-15 07:12:17 +02:00
i2c Merge branch 'for-next/of-device-id' 2015-05-06 21:36:13 +02:00
input input: Let input support depend on !CONSOLE_NONE 2014-10-08 08:11:02 +02:00
led led: gpio: Free GPIOs on unregister() 2015-04-20 07:00:21 +02:00
mci of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
mfd of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
misc of_path: of_find_path(): add possibility to return .bb device 2015-04-23 08:12:28 +02:00
mtd Merge branch 'for-next/of-device-id' 2015-05-06 21:36:13 +02:00
net net: dm9k: fix reset routine 2015-05-12 08:22:19 +02:00
of Merge branch 'for-next/misc' 2015-05-06 21:36:13 +02:00
pci Merge branch 'for-next/of-device-id' 2015-05-06 21:36:13 +02:00
phy add generic PHY framework 2014-11-04 09:50:44 +01:00
pinctrl of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
pwm of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
regulator regulator: add bcm2835 driver 2015-02-04 15:49:59 +01:00
reset reset: add reset controller framework 2014-05-15 14:17:11 +02:00
rtc of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
serial of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
spi Merge branch 'for-next/of-device-id' 2015-05-06 21:36:13 +02:00
usb Merge branch 'for-next/of-device-id' 2015-05-06 21:36:13 +02:00
video of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
w1 driver: Call remove function only when available 2015-03-17 07:24:50 +01:00
watchdog of: use 'const void *' for struct of_device_id.data 2015-04-30 08:12:57 +02:00
Kconfig add generic PHY framework 2014-11-04 09:50:44 +01:00
Makefile habv4: add High Assurance Boot v4 2015-04-15 07:12:17 +02:00