summaryrefslogtreecommitdiff
path: root/board/freescale/mx6sl_evk/mx6sl_evk.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/freescale/mx6sl_evk/mx6sl_evk.c')
-rw-r--r--board/freescale/mx6sl_evk/mx6sl_evk.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/board/freescale/mx6sl_evk/mx6sl_evk.c b/board/freescale/mx6sl_evk/mx6sl_evk.c
index 35706010d9..1ce3e5938c 100644
--- a/board/freescale/mx6sl_evk/mx6sl_evk.c
+++ b/board/freescale/mx6sl_evk/mx6sl_evk.c
@@ -628,9 +628,9 @@ void enet_board_init(void)
writel(reg, GPIO4_BASE_ADDR + 0x4);
/* phy power enable and reset: gpio4_21 */
- /* DR: High Level on: Power ON */
+ /* DR: High Level off: Power Off */
reg = readl(GPIO4_BASE_ADDR + 0x0);
- reg |= (1 << 21);
+ reg &= ~(1 << 21);
writel(reg, GPIO4_BASE_ADDR + 0x0);
/* DIR: output */
@@ -638,6 +638,13 @@ void enet_board_init(void)
reg |= (1 << 21);
writel(reg, GPIO4_BASE_ADDR + 0x4);
+ udelay(1000);
+
+ /* DR: High Level on: Power On */
+ reg = readl(GPIO4_BASE_ADDR + 0x0);
+ reg |= (1 << 21);
+ writel(reg, GPIO4_BASE_ADDR + 0x0);
+
/* wait RC ms for hw reset */
udelay(500);
}