avr32:grasshopper: fix PHY initialisation
authorAndreas Bießmann <andreas.devel@googlemail.com>
Fri, 25 May 2012 10:29:32 +0000 (12:29 +0200)
committerAndreas Bießmann <andreas.devel@googlemail.com>
Mon, 4 Jun 2012 07:21:20 +0000 (09:21 +0200)
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
board/in-circuit/grasshopper/grasshopper.c

index 475a759b7a51031b953128310d72a5078b557b60..222fe43958346afa7d8db2656eb1fbed78e17841 100644 (file)
@@ -72,6 +72,13 @@ int board_early_init_f(void)
        portmux_enable_usart0(PORTMUX_DRIVE_MIN);
        portmux_enable_usart1(PORTMUX_DRIVE_MIN);
 #if defined(CONFIG_MACB)
+       /* set PHY reset and pwrdown to low */
+       portmux_select_gpio(PORTMUX_PORT_B, (1 << 29) | (1 << 30),
+               PORTMUX_DIR_OUTPUT | PORTMUX_INIT_LOW);
+       udelay(100);
+       /* release PHYs reset */
+       gpio_set_value(GPIO_PIN_PB(29), 1);
+
        portmux_enable_macb0(PORTMUX_MACB_MII, PORTMUX_DRIVE_LOW);
 #endif