diff options
-rw-r--r-- | board/freescale/mx6sl_evk/mx6sl_evk.c | 11 |
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 3570601..1ce3e59 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); } |