summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Grinberg <grinberg@compulab.co.il>2012-04-02 20:12:58 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-04-16 14:47:58 +0200
commit07277e740ba9422f603bbcd97d5a9ab5731fe06d (patch)
tree17659f64bf68a9bbe094a33b571fc47d43d7b307
parent385488dc1b20e55739cfdecdce20319a60dbad44 (diff)
downloadu-boot-07277e740ba9422f603bbcd97d5a9ab5731fe06d.tar.gz
u-boot-07277e740ba9422f603bbcd97d5a9ab5731fe06d.tar.xz
u-boot-07277e740ba9422f603bbcd97d5a9ab5731fe06d.zip
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>
-rw-r--r--board/cm_t35/cm_t35.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/board/cm_t35/cm_t35.c b/board/cm_t35/cm_t35.c
index 0a049944d7..7af1f41af2 100644
--- a/board/cm_t35/cm_t35.c
+++ b/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) {}