The reset_net_chip() function has wrong timings for the reset pulse.

This appeared to work until:
0607e2b (ARMV7: OMAP: Write more than 1 byte at a time in i2c_write)

Fix the Ethernet support by introducing right timings.

Signed-off-by: Igor Grinberg <grinb...@compulab.co.il>
---
 board/cm_t35/cm_t35.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/board/cm_t35/cm_t35.c b/board/cm_t35/cm_t35.c
index bc991c4..ee7d5a0 100644
--- a/board/cm_t35/cm_t35.c
+++ b/board/cm_t35/cm_t35.c
@@ -362,16 +362,17 @@ static void reset_net_chip(void)
 {
        /* Set GPIO1 of TPS65930 as output */
        twl4030_i2c_write_u8(TWL4030_CHIP_GPIO, 0x02,
-                            TWL4030_BASEADD_GPIO+0x03);
+                               TWL4030_BASEADD_GPIO + 0x03);
        /* Send a pulse on the GPIO pin */
        twl4030_i2c_write_u8(TWL4030_CHIP_GPIO, 0x02,
-                            TWL4030_BASEADD_GPIO+0x0C);
+                               TWL4030_BASEADD_GPIO + 0x0C);
        udelay(1);
        twl4030_i2c_write_u8(TWL4030_CHIP_GPIO, 0x02,
-                            TWL4030_BASEADD_GPIO+0x09);
-       udelay(1);
+                               TWL4030_BASEADD_GPIO + 0x09);
+       mdelay(40);
        twl4030_i2c_write_u8(TWL4030_CHIP_GPIO, 0x02,
-                            TWL4030_BASEADD_GPIO+0x0C);
+                               TWL4030_BASEADD_GPIO + 0x0C);
+       mdelay(1);
 }
 #else
 static inline void reset_net_chip(void) {}
-- 
1.7.3.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to