Moved initialization of Ethernet controllers on Atmel AT91 to board_eth_init()
[platform/kernel/u-boot.git] / board / atmel / at91sam9260ek / at91sam9260ek.c
index 836a0c4..913e3fb 100644 (file)
 #include <asm/arch/at91_rstc.h>
 #include <asm/arch/gpio.h>
 #include <asm/arch/io.h>
+#include <asm/arch/hardware.h>
 #if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
 #include <net.h>
 #endif
+#include <netdev.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -188,8 +190,17 @@ static void at91sam9260ek_macb_hw_init(void)
        at91_set_B_periph(AT91_PIN_PA25, 0);    /* ERX2 */
        at91_set_B_periph(AT91_PIN_PA26, 0);    /* ERX3 */
        at91_set_B_periph(AT91_PIN_PA27, 0);    /* ERXCK */
+#if defined(CONFIG_AT91SAM9260EK)
+       /*
+        * use PA10, PA11 for ETX2, ETX3.
+        * PA23 and PA24 are for TWI EEPROM
+        */
+       at91_set_B_periph(AT91_PIN_PA10, 0);    /* ETX2 */
+       at91_set_B_periph(AT91_PIN_PA11, 0);    /* ETX3 */
+#else
        at91_set_B_periph(AT91_PIN_PA23, 0);    /* ETX2 */
        at91_set_B_periph(AT91_PIN_PA24, 0);    /* ETX3 */
+#endif
        at91_set_B_periph(AT91_PIN_PA22, 0);    /* ETXER */
 #endif
 
@@ -239,3 +250,12 @@ void reset_phy(void)
 #endif
 }
 #endif
+
+int board_eth_init(bd_t *bis)
+{
+       int rc = 0;
+#ifdef CONFIG_MACB
+       rc = macb_eth_initialize(0, (void *)AT91_BASE_EMAC, 0x00);
+#endif
+       return rc;
+}