]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/asm-ppc/ibm_ocp.h
[PATCH] ppc32: cleanup AMCC PPC40x eval boards to support U-Boot
[karo-tx-linux.git] / include / asm-ppc / ibm_ocp.h
index 6f10a25bd628c18cc2f4bd1462d79c9f61936a86..9c21de1ff4ed109805142f9d23dd45dfcdff5f6a 100644 (file)
@@ -131,9 +131,22 @@ static inline void ibm_ocp_set_emac(int start, int end)
        /* Copy MAC addresses to EMAC additions */
        for (i=start; i<=end; i++) {
                def = ocp_get_one_device(OCP_VENDOR_IBM, OCP_FUNC_EMAC, i);
-               memcpy(((struct ocp_func_emac_data *)def->additions)->mac_addr,
-                               &__res.bi_enetaddr[i],
-                               6);
+               if (i == 0)
+                       memcpy(((struct ocp_func_emac_data *)def->additions)->mac_addr,
+                              __res.bi_enetaddr, 6);
+#if defined(CONFIG_405EP) || defined(CONFIG_44x)
+               else if (i == 1)
+                       memcpy(((struct ocp_func_emac_data *)def->additions)->mac_addr,
+                              __res.bi_enet1addr, 6);
+#endif
+#if defined(CONFIG_440GX)
+               else if (i == 2)
+                       memcpy(((struct ocp_func_emac_data *)def->additions)->mac_addr,
+                              __res.bi_enet2addr, 6);
+               else if (i == 3)
+                       memcpy(((struct ocp_func_emac_data *)def->additions)->mac_addr,
+                              __res.bi_enet3addr, 6);
+#endif
        }
 }
 #endif