summaryrefslogtreecommitdiff
path: root/drivers/net/tsec.c
diff options
context:
space:
mode:
authorAndy Fleming <afleming@freescale.com>2009-02-03 18:26:41 -0600
committerBen Warren <biggerbadderben@gmail.com>2009-02-09 22:52:32 -0800
commit9e5be8214ba751436e57c3be044bf6dccb9a6687 (patch)
treec3e969d2f69338bc9b1f078a45c40238004fdf67 /drivers/net/tsec.c
parent09fcc8b5d86903b76e7e4d1d879d6f4bca25c27b (diff)
downloadu-boot-imx-9e5be8214ba751436e57c3be044bf6dccb9a6687.zip
u-boot-imx-9e5be8214ba751436e57c3be044bf6dccb9a6687.tar.gz
u-boot-imx-9e5be8214ba751436e57c3be044bf6dccb9a6687.tar.bz2
tsec: Fix a bug in soft-resetting
SOFT_RESET must be asserted for at least 3 TX clocks. Usually, that's about 30 clock cycles, so it's been mostly working. But we had no guarantee, and at slower bitrates, it's just over a microsecond (over 1000 clock cycles). This enforces a 2 microsecond gap between assertion and deassertion. Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Diffstat (limited to 'drivers/net/tsec.c')
-rw-r--r--drivers/net/tsec.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
index dc90f23..9edba6a 100644
--- a/drivers/net/tsec.c
+++ b/drivers/net/tsec.c
@@ -158,6 +158,7 @@ int tsec_initialize(bd_t * bis, struct tsec_info_struct *tsec_info)
/* Reset the MAC */
priv->regs->maccfg1 |= MACCFG1_SOFT_RESET;
+ udelay(2); /* Soft Reset must be asserted for 3 TX clocks */
priv->regs->maccfg1 &= ~(MACCFG1_SOFT_RESET);
#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) \