Explorar o código

cm-t35: fix Ethernet reset timing

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 <grinberg@compulab.co.il>
Igor Grinberg %!s(int64=13) %!d(string=hai) anos
pai
achega
07277e740b
Modificáronse 1 ficheiros con 6 adicións e 5 borrados
  1. 6 5
      board/cm_t35/cm_t35.c

+ 6 - 5
board/cm_t35/cm_t35.c

@@ -356,16 +356,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) {}