Merge with git://www.denx.de/git/u-boot.git
[oweals/u-boot.git] / cpu / mpc85xx / ether_fcc.c
index 122ca870c826c825d8d96c05cc2449cb7ff05eb0..d15d2424929eacb0437130a50b702718b35d13dd 100644 (file)
 #include <config.h>
 #include <net.h>
 
-#if defined(CONFIG_MPC8560)
+#if defined(CONFIG_MII) || (CONFIG_COMMANDS & CFG_CMD_MII)
+#include <miiphy.h>
+#endif
+
+#if defined(CONFIG_CPM2)
 
 #if defined(CONFIG_ETHER_ON_FCC) && (CONFIG_COMMANDS & CFG_CMD_NET) && \
        defined(CONFIG_NET_MULTI)
@@ -303,7 +307,9 @@ static int fec_init(struct eth_device* dev, bd_t *bis)
      * Allocate space in the reserved FCC area of DPRAM for the
      * internal buffers.  No one uses this space (yet), so we
      * can do this.  Later, we will add resource management for
-     * this area. CPM_FCC_SPECIAL_BASE: 0xb000.
+     * this area.
+     * CPM_FCC_SPECIAL_BASE:   0xB000 for MPC8540, MPC8560
+     *                         0x9000 for MPC8541, MPC8555
      */
     mem_addr = CPM_FCC_SPECIAL_BASE + ((info->ether_index) * 64);
     pram_ptr->fen_genfcc.fcc_riptr = mem_addr;
@@ -451,6 +457,12 @@ int fec_initialize(bd_t *bis)
                dev->recv   = fec_recv;
 
                eth_register(dev);
+
+#if (defined(CONFIG_MII) || (CONFIG_COMMANDS & CFG_CMD_MII)) \
+               && defined(CONFIG_BITBANGMII)
+               miiphy_register(dev->name,
+                               bb_miiphy_read, bb_miiphy_write);
+#endif
        }
 
        return 1;
@@ -458,4 +470,4 @@ int fec_initialize(bd_t *bis)
 
 #endif /* CONFIG_ETHER_ON_FCC && CFG_CMD_NET && CONFIG_NET_MULTI */
 
-#endif /* CONFIG_MPC8560 */
+#endif /* CONFIG_CPM2 */