]> git.sur5r.net Git - u-boot/blobdiff - cpu/arm920t/at91rm9200/ether.c
Merge branch 'mpc86xx'
[u-boot] / cpu / arm920t / at91rm9200 / ether.c
index d88517f4b1af6f1683b3a4dfea94543e5045e906..67008d0b9112ece297408d2f5000b164a45e4ec1 100644 (file)
@@ -23,6 +23,7 @@
 
 #include <at91rm9200_net.h>
 #include <net.h>
+#include <miiphy.h>
 
 /* ----- Ethernet Buffer definitions ----- */
 
@@ -150,7 +151,6 @@ UCHAR at91rm9200_EmacWritePhy (AT91PS_EMAC p_mac,
        return TRUE;
 }
 
-
 int eth_init (bd_t * bd)
 {
        int ret;
@@ -184,7 +184,7 @@ int eth_init (bd_t * bd)
 
        /* Init Ehternet buffers */
        for (i = 0; i < RBF_FRAMEMAX; i++) {
-               rbfdt[i].addr = rbf_framebuf[i];
+               rbfdt[i].addr = (unsigned long)rbf_framebuf[i];
                rbfdt[i].size = 0;
        }
        rbfdt[RBF_FRAMEMAX - 1].addr |= RBF_WRAP;
@@ -265,8 +265,9 @@ void eth_halt (void)
 {
 };
 
-#if (CONFIG_COMMANDS & CFG_CMD_MII)
-int  miiphy_read(unsigned char addr, unsigned char reg, unsigned short * value)
+#if defined(CONFIG_MII) || (CONFIG_COMMANDS & CFG_CMD_MII)
+int  at91rm9200_miiphy_read(char *devname, unsigned char addr,
+               unsigned char reg, unsigned short * value)
 {
        at91rm9200_EmacEnableMDIO (p_mac);
        at91rm9200_EmacReadPhy (p_mac, reg, value);
@@ -274,14 +275,24 @@ int  miiphy_read(unsigned char addr, unsigned char reg, unsigned short * value)
        return 0;
 }
 
-int  miiphy_write(unsigned char addr, unsigned char reg, unsigned short value)
+int  at91rm9200_miiphy_write(char *devname, unsigned char addr,
+               unsigned char reg, unsigned short value)
 {
        at91rm9200_EmacEnableMDIO (p_mac);
        at91rm9200_EmacWritePhy (p_mac, reg, &value);
        at91rm9200_EmacDisableMDIO (p_mac);
        return 0;
 }
-#endif /* CONFIG_COMMANDS & CFG_CMD_MII */
+
+#endif /* defined(CONFIG_MII) || (CONFIG_COMMANDS & CFG_CMD_MII) */
+
+int at91rm9200_miiphy_initialize(bd_t *bis)
+{
+#if defined(CONFIG_MII) || (CONFIG_COMMANDS & CFG_CMD_MII)
+       miiphy_register("at91rm9200phy", at91rm9200_miiphy_read, at91rm9200_miiphy_write);
+#endif
+       return 0;
+}
 
 #endif /* CONFIG_COMMANDS & CFG_CMD_NET */