[U-Boot] [PATCH 1/3][ppc4xx] Changed PPC4xx EMAC driver to require CONFIG_PPC4xx_EMAC

All in-tree IBM/AMCC PPC4xx boards using the EMAC get this new CONFIG
Signed-off-by: Ben Warren biggerbadderben@gmail.com ---
Rebased against 4xx tree. Please test and ACK/NAK.
cpu/ppc4xx/4xx_enet.c | 9 --------- cpu/ppc4xx/Makefile | 1 + include/configs/AR405.h | 1 + include/configs/ASH405.h | 1 + include/configs/CMS700.h | 1 + include/configs/CPCI405.h | 1 + include/configs/CPCI4052.h | 1 + include/configs/CPCI405AB.h | 1 + include/configs/CPCI405DT.h | 1 + include/configs/CPCIISER4.h | 1 + include/configs/CRAYL1.h | 2 ++ include/configs/DP405.h | 1 + include/configs/DU405.h | 1 + include/configs/DU440.h | 1 + include/configs/ERIC.h | 1 + include/configs/EXBITGEN.h | 1 + include/configs/G2000.h | 1 + include/configs/HH405.h | 1 + include/configs/HUB405.h | 1 + include/configs/JSE.h | 1 + include/configs/KAREF.h | 1 + include/configs/METROBOX.h | 1 + include/configs/MIP405.h | 1 + include/configs/OCRTC.h | 1 + include/configs/ORSG.h | 1 + include/configs/PCI405.h | 1 + include/configs/PIP405.h | 1 + include/configs/PLU405.h | 1 + include/configs/PMC405.h | 1 + include/configs/PMC440.h | 1 + include/configs/PPChameleonEVB.h | 1 + include/configs/VOH405.h | 1 + include/configs/VOM405.h | 1 + include/configs/W7OLMC.h | 1 + include/configs/W7OLMG.h | 1 + include/configs/WUH405.h | 1 + include/configs/XPEDITE1K.h | 1 + include/configs/alpr.h | 1 + include/configs/amcc-common.h | 1 + include/configs/csb272.h | 1 + include/configs/csb472.h | 1 + include/configs/korat.h | 1 + include/configs/lwmon5.h | 1 + include/configs/netstal-common.h | 1 + include/configs/p3p440.h | 1 + include/configs/pcs440ep.h | 1 + include/configs/quad100hd.h | 1 + include/configs/sbc405.h | 1 + include/configs/sc3.h | 2 ++ include/configs/zeus.h | 1 + net/eth.c | 5 ++--- 51 files changed, 53 insertions(+), 12 deletions(-)
diff --git a/cpu/ppc4xx/4xx_enet.c b/cpu/ppc4xx/4xx_enet.c index d7b16da..1978269 100644 --- a/cpu/ppc4xx/4xx_enet.c +++ b/cpu/ppc4xx/4xx_enet.c @@ -91,13 +91,6 @@ #include <miiphy.h> #include <malloc.h>
-/* - * Only compile for platform with AMCC EMAC ethernet controller and - * network support enabled. - * Remark: CONFIG_405 describes Xilinx PPC405 FPGA without EMAC controller! - */ -#if defined(CONFIG_CMD_NET) && !defined(CONFIG_405) && !defined(CONFIG_IOP480) - #if !(defined(CONFIG_MII) || defined(CONFIG_CMD_MII)) #error "CONFIG_MII has to be defined!" #endif @@ -2131,5 +2124,3 @@ int emac4xx_miiphy_initialize (bd_t * bis) return 0; } #endif /* !defined(CONFIG_NET_MULTI) */ - -#endif diff --git a/cpu/ppc4xx/Makefile b/cpu/ppc4xx/Makefile index 463b575..adfe13c 100644 --- a/cpu/ppc4xx/Makefile +++ b/cpu/ppc4xx/Makefile @@ -38,6 +38,7 @@ COBJS += 44x_spd_ddr2.o ifdef CONFIG_PPC4xx_DDR_AUTOCALIBRATION COBJS += 4xx_ibm_ddr2_autocalib.o endif +COBJS-$(CONFIG_PPC4xx_EMAC) += 4xx_enet.o COBJS += 4xx_pci.o COBJS += 4xx_pcie.o COBJS += bedbug_405.o diff --git a/include/configs/AR405.h b/include/configs/AR405.h index 864774c..9f19269 100644 --- a/include/configs/AR405.h +++ b/include/configs/AR405.h @@ -67,6 +67,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/ASH405.h b/include/configs/ASH405.h index bcc85ee..a694083 100644 --- a/include/configs/ASH405.h +++ b/include/configs/ASH405.h @@ -56,6 +56,7 @@ #define CONFIG_NET_MULTI 1 #undef CONFIG_HAS_ETH1
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/CMS700.h b/include/configs/CMS700.h index d58f508..d0e2464 100644 --- a/include/configs/CMS700.h +++ b/include/configs/CMS700.h @@ -52,6 +52,7 @@
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_NET_MULTI 1 #undef CONFIG_HAS_ETH1
diff --git a/include/configs/CPCI405.h b/include/configs/CPCI405.h index 3493d75..1a2bc1c 100644 --- a/include/configs/CPCI405.h +++ b/include/configs/CPCI405.h @@ -52,6 +52,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/CPCI4052.h b/include/configs/CPCI4052.h index 734ab95..e231fa7 100644 --- a/include/configs/CPCI4052.h +++ b/include/configs/CPCI4052.h @@ -54,6 +54,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/CPCI405AB.h b/include/configs/CPCI405AB.h index 47ad89d..2319c58 100644 --- a/include/configs/CPCI405AB.h +++ b/include/configs/CPCI405AB.h @@ -54,6 +54,7 @@ #undef CONFIG_LOADS_ECHO /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/CPCI405DT.h b/include/configs/CPCI405DT.h index 4e94dfc..be8c238 100644 --- a/include/configs/CPCI405DT.h +++ b/include/configs/CPCI405DT.h @@ -53,6 +53,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/CPCIISER4.h b/include/configs/CPCIISER4.h index 2d60ebf..3263712 100644 --- a/include/configs/CPCIISER4.h +++ b/include/configs/CPCIISER4.h @@ -50,6 +50,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/CRAYL1.h b/include/configs/CRAYL1.h index 1122d02..f1608e1 100644 --- a/include/configs/CRAYL1.h +++ b/include/configs/CRAYL1.h @@ -39,6 +39,8 @@ #define CONFIG_SYS_CLK_FREQ 25000000 #define CONFIG_BAUDRATE 9600 #define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */ + +#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 1 /* PHY address; handling of ENET */ #define CONFIG_BOARD_EARLY_INIT_F 1 /* early setup for 405gp */ diff --git a/include/configs/DP405.h b/include/configs/DP405.h index 0ff4f7d..884f3fe 100644 --- a/include/configs/DP405.h +++ b/include/configs/DP405.h @@ -52,6 +52,7 @@
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */
diff --git a/include/configs/DU405.h b/include/configs/DU405.h index 939e216..1d20efe 100644 --- a/include/configs/DU405.h +++ b/include/configs/DU405.h @@ -54,6 +54,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/DU440.h b/include/configs/DU440.h index 508a0ca..729153c 100644 --- a/include/configs/DU440.h +++ b/include/configs/DU440.h @@ -253,6 +253,7 @@ int du440_phy_addr(int devnum); #endif
+#define CONFIG_PPC4xx_EMAC #define CONFIG_IBM_EMAC4_V4 1 #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR du440_phy_addr(0) /* PHY address */ diff --git a/include/configs/ERIC.h b/include/configs/ERIC.h index c05945a..1b766a7 100644 --- a/include/configs/ERIC.h +++ b/include/configs/ERIC.h @@ -93,6 +93,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 1 /* PHY address */
diff --git a/include/configs/EXBITGEN.h b/include/configs/EXBITGEN.h index 9f5d3ca..1dd6e57 100644 --- a/include/configs/EXBITGEN.h +++ b/include/configs/EXBITGEN.h @@ -88,6 +88,7 @@ */ #define CONFIG_BOOTP_BOOTFILESIZE #define CONFIG_BOOTP_BOOTPATH +#define CONFIG_PPC4xx_EMAC #define CONFIG_BOOTP_GATEWAY #define CONFIG_BOOTP_HOSTNAME
diff --git a/include/configs/G2000.h b/include/configs/G2000.h index 4341f02..d299044 100644 --- a/include/configs/G2000.h +++ b/include/configs/G2000.h @@ -80,6 +80,7 @@
#define CONFIG_NET_MULTI 1
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_PHY1_ADDR 1 /* PHY address */ diff --git a/include/configs/HH405.h b/include/configs/HH405.h index 1e7cc12..80e59bb 100644 --- a/include/configs/HH405.h +++ b/include/configs/HH405.h @@ -64,6 +64,7 @@
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_NET_MULTI 1 #undef CONFIG_HAS_ETH1
diff --git a/include/configs/HUB405.h b/include/configs/HUB405.h index 3e58424..b3c7046 100644 --- a/include/configs/HUB405.h +++ b/include/configs/HUB405.h @@ -54,6 +54,7 @@
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/JSE.h b/include/configs/JSE.h index 508b5c8..8aca1f9 100644 --- a/include/configs/JSE.h +++ b/include/configs/JSE.h @@ -132,6 +132,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 1 /* PHY address */
diff --git a/include/configs/KAREF.h b/include/configs/KAREF.h index 403081d..4b67c94 100644 --- a/include/configs/KAREF.h +++ b/include/configs/KAREF.h @@ -157,6 +157,7 @@ /*----------------------------------------------------------------------- * Networking *----------------------------------------------------------------------*/ +#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_NET_MULTI 1 #define CONFIG_PHY_ADDR 0xff /* no phy on EMAC0 */ diff --git a/include/configs/METROBOX.h b/include/configs/METROBOX.h index c0ddd45..518173a 100644 --- a/include/configs/METROBOX.h +++ b/include/configs/METROBOX.h @@ -221,6 +221,7 @@ /*----------------------------------------------------------------------- * Networking *----------------------------------------------------------------------*/ +#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_NET_MULTI 1 #define CONFIG_PHY_ADDR 0xff /* no phy on EMAC0 */ diff --git a/include/configs/MIP405.h b/include/configs/MIP405.h index 7dcf185..c58ce05 100644 --- a/include/configs/MIP405.h +++ b/include/configs/MIP405.h @@ -336,6 +336,7 @@ /************************************************************ * Ethernet Stuff ***********************************************************/ +#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 1 /* PHY address */ #define CONFIG_PHY_RESET_DELAY 300 /* Intel LXT971A needs this */ diff --git a/include/configs/OCRTC.h b/include/configs/OCRTC.h index ff11df9..32814d4 100644 --- a/include/configs/OCRTC.h +++ b/include/configs/OCRTC.h @@ -50,6 +50,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/ORSG.h b/include/configs/ORSG.h index a635fca..58e9328 100644 --- a/include/configs/ORSG.h +++ b/include/configs/ORSG.h @@ -50,6 +50,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/PCI405.h b/include/configs/PCI405.h index b55e383..0393366 100644 --- a/include/configs/PCI405.h +++ b/include/configs/PCI405.h @@ -63,6 +63,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */
diff --git a/include/configs/PIP405.h b/include/configs/PIP405.h index 2966979..5c4d69b 100644 --- a/include/configs/PIP405.h +++ b/include/configs/PIP405.h @@ -278,6 +278,7 @@ /************************************************************ * Ethernet Stuff ***********************************************************/ +#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 1 /* PHY address */ /************************************************************ diff --git a/include/configs/PLU405.h b/include/configs/PLU405.h index 675dbe6..11ce008 100644 --- a/include/configs/PLU405.h +++ b/include/configs/PLU405.h @@ -54,6 +54,7 @@ #define CONFIG_NET_MULTI 1 #undef CONFIG_HAS_ETH1
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/PMC405.h b/include/configs/PMC405.h index 12e63b7..8d07d77 100644 --- a/include/configs/PMC405.h +++ b/include/configs/PMC405.h @@ -56,6 +56,7 @@ #define CONFIG_NET_MULTI 1 #undef CONFIG_HAS_ETH1
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/PMC440.h b/include/configs/PMC440.h index 7071ccb..7219bb8 100644 --- a/include/configs/PMC440.h +++ b/include/configs/PMC440.h @@ -315,6 +315,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_IBM_EMAC4_V4 1 #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address, See schematics */ diff --git a/include/configs/PPChameleonEVB.h b/include/configs/PPChameleonEVB.h index e66f8ef..09a9641 100644 --- a/include/configs/PPChameleonEVB.h +++ b/include/configs/PPChameleonEVB.h @@ -104,6 +104,7 @@ #undef CONFIG_EXT_PHY #define CONFIG_NET_MULTI 1
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #ifndef CONFIG_EXT_PHY #define CONFIG_PHY_ADDR 1 /* EMAC0 PHY address */ diff --git a/include/configs/VOH405.h b/include/configs/VOH405.h index fb1febc..10ef620 100644 --- a/include/configs/VOH405.h +++ b/include/configs/VOH405.h @@ -55,6 +55,7 @@ #define CONFIG_NET_MULTI 1 #undef CONFIG_HAS_ETH1
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/VOM405.h b/include/configs/VOM405.h index b6e3588..90efc6d 100644 --- a/include/configs/VOM405.h +++ b/include/configs/VOM405.h @@ -53,6 +53,7 @@ #define CONFIG_NET_MULTI 1 #undef CONFIG_HAS_ETH1
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/W7OLMC.h b/include/configs/W7OLMC.h index e546369..51d0a0a 100644 --- a/include/configs/W7OLMC.h +++ b/include/configs/W7OLMC.h @@ -65,6 +65,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #undef CONFIG_SYS_LOADS_BAUD_CHANGE /* disallow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */
diff --git a/include/configs/W7OLMG.h b/include/configs/W7OLMG.h index 2260338..ca1a9d4 100644 --- a/include/configs/W7OLMG.h +++ b/include/configs/W7OLMG.h @@ -65,6 +65,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #undef CONFIG_SYS_LOADS_BAUD_CHANGE /* disallow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */
diff --git a/include/configs/WUH405.h b/include/configs/WUH405.h index ec81564..01cdf3a 100644 --- a/include/configs/WUH405.h +++ b/include/configs/WUH405.h @@ -54,6 +54,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */ diff --git a/include/configs/XPEDITE1K.h b/include/configs/XPEDITE1K.h index 569bb90..8d44ec6 100644 --- a/include/configs/XPEDITE1K.h +++ b/include/configs/XPEDITE1K.h @@ -167,6 +167,7 @@ extern void out32(unsigned int, unsigned long); #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address phy0 not populated */ #define CONFIG_PHY1_ADDR 1 /* PHY address phy1 not populated */ diff --git a/include/configs/alpr.h b/include/configs/alpr.h index 3158412..6e9f5e5 100644 --- a/include/configs/alpr.h +++ b/include/configs/alpr.h @@ -198,6 +198,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_NET_MULTI 1 #define CONFIG_PHY_ADDR 0x02 /* dummy setting, no EMAC0 used */ diff --git a/include/configs/amcc-common.h b/include/configs/amcc-common.h index 8516571..d3dc3e5 100644 --- a/include/configs/amcc-common.h +++ b/include/configs/amcc-common.h @@ -45,6 +45,7 @@ /* * Ethernet/EMAC/PHY */ +#define CONFIG_PPC4xx_EMAC #define CONFIG_MII /* MII PHY management */ #define CONFIG_NET_MULTI #define CONFIG_NETCONSOLE /* include NetConsole support */ diff --git a/include/configs/csb272.h b/include/configs/csb272.h index 393e992..874f2c0 100644 --- a/include/configs/csb272.h +++ b/include/configs/csb272.h @@ -180,6 +180,7 @@ * MII PHY configuration * */ +#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_PHY_CMD_DELAY 40 /* PHY COMMAND delay */ diff --git a/include/configs/csb472.h b/include/configs/csb472.h index af38252..2e30e69 100644 --- a/include/configs/csb472.h +++ b/include/configs/csb472.h @@ -179,6 +179,7 @@ * MII PHY configuration * */ +#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_PHY_CMD_DELAY 40 /* PHY COMMAND delay */ diff --git a/include/configs/korat.h b/include/configs/korat.h index ca3e8a9..d56da14 100644 --- a/include/configs/korat.h +++ b/include/configs/korat.h @@ -215,6 +215,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_IBM_EMAC4_V4 1 #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 2 /* PHY address, See schematics */ diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h index e0dbd61..05055c8 100644 --- a/include/configs/lwmon5.h +++ b/include/configs/lwmon5.h @@ -326,6 +326,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_IBM_EMAC4_V4 1 #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 3 /* PHY address, See schematics */ diff --git a/include/configs/netstal-common.h b/include/configs/netstal-common.h index 1fa4b00..0a75794 100644 --- a/include/configs/netstal-common.h +++ b/include/configs/netstal-common.h @@ -58,6 +58,7 @@ /* * Ethernet/EMAC/PHY */ +#define CONFIG_PPC4xx_EMAC #define CONFIG_MII /* MII PHY management */ #define CONFIG_PHY_ADDR 1 /* PHY address */ #if defined(CONFIG_440) diff --git a/include/configs/p3p440.h b/include/configs/p3p440.h index 1dc8656..729ca6a 100644 --- a/include/configs/p3p440.h +++ b/include/configs/p3p440.h @@ -158,6 +158,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0x1c /* PHY address */ #define CONFIG_HAS_ETH1 diff --git a/include/configs/pcs440ep.h b/include/configs/pcs440ep.h index 6e2d906..000ae5c 100644 --- a/include/configs/pcs440ep.h +++ b/include/configs/pcs440ep.h @@ -218,6 +218,7 @@ #define CONFIG_LOADS_ECHO 1 /* echo on for serial download */ #define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_NET_MULTI 1 /* required for netconsole */ #define CONFIG_HAS_ETH1 1 /* add support for "eth1addr" */ diff --git a/include/configs/quad100hd.h b/include/configs/quad100hd.h index 1a76301..0f7fca3 100644 --- a/include/configs/quad100hd.h +++ b/include/configs/quad100hd.h @@ -45,6 +45,7 @@ #define CONFIG_ENV_IS_IN_EEPROM #undef CONFIG_ENV_IS_IN_FLASH
+#define CONFIG_PPC4xx_EMAC #define CONFIG_NET_MULTI 1 #define CONFIG_HAS_ETH1 1 #define CONFIG_MII 1 /* MII PHY management */ diff --git a/include/configs/sbc405.h b/include/configs/sbc405.h index d93ca2d..c156820 100644 --- a/include/configs/sbc405.h +++ b/include/configs/sbc405.h @@ -58,6 +58,7 @@ #define CONFIG_BOOTCOMMAND "version;echo;tftpboot ${loadaddr} ${loadfile};bootvx" /* autoboot command */
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0 /* PHY address */ #define CONFIG_PHY_RESET_DELAY 300 /* Intel LXT971A needs this */ diff --git a/include/configs/sc3.h b/include/configs/sc3.h index 44135df..d152a96 100644 --- a/include/configs/sc3.h +++ b/include/configs/sc3.h @@ -166,6 +166,8 @@ /* #define CONFIG_EEPRO100_SROM_WRITE */ /* #define CONFIG_SHOW_MAC */ #define CONFIG_EEPRO100 + +#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* add 405GP MII PHY management */ #define CONFIG_PHY_ADDR 1 /* the connected Phy defaults to address 1 */
diff --git a/include/configs/zeus.h b/include/configs/zeus.h index b75e8a1..1a77c71 100644 --- a/include/configs/zeus.h +++ b/include/configs/zeus.h @@ -46,6 +46,7 @@
#define CONFIG_OVERWRITE_ETHADDR_ONCE 1
+#define CONFIG_PPC4xx_EMAC #define CONFIG_MII 1 /* MII PHY management */ #define CONFIG_PHY_ADDR 0x01 /* PHY address */ #define CONFIG_HAS_ETH1 1 diff --git a/net/eth.c b/net/eth.c index ccd871a..a354e76 100644 --- a/net/eth.c +++ b/net/eth.c @@ -159,7 +159,7 @@ int eth_initialize(bd_t *bis) #if defined(CONFIG_DB64460) || defined(CONFIG_P3Mx) mv6446x_eth_initialize(bis); #endif -#if defined(CONFIG_4xx) && !defined(CONFIG_IOP480) && !defined(CONFIG_AP1000) +#if defined(CONFIG_PPC4xx_EMAC) ppc_4xx_eth_initialize(bis); #endif #ifdef SCC_ENET @@ -525,8 +525,7 @@ int eth_initialize(bd_t *bis) #if defined(CONFIG_AT91RM9200) at91rm9200_miiphy_initialize(bis); #endif -#if defined(CONFIG_4xx) && !defined(CONFIG_IOP480) \ - && !defined(CONFIG_AP1000) && !defined(CONFIG_405) +#if defined(CONFIG_PPC4xx_EMAC) emac4xx_miiphy_initialize(bis); #endif #if defined(CONFIG_MCF52x2)

Signed-off-by: Ben Warren biggerbadderben@gmail.com --- Rebased against 4xx tree. Please test and ACK/NAK.
cpu/ppc4xx/Makefile | 1 - {cpu/ppc4xx => drivers/net}/4xx_enet.c | 0 drivers/net/Makefile | 1 + 3 files changed, 1 insertions(+), 1 deletions(-) rename {cpu/ppc4xx => drivers/net}/4xx_enet.c (100%)
diff --git a/cpu/ppc4xx/Makefile b/cpu/ppc4xx/Makefile index adfe13c..463b575 100644 --- a/cpu/ppc4xx/Makefile +++ b/cpu/ppc4xx/Makefile @@ -38,7 +38,6 @@ COBJS += 44x_spd_ddr2.o ifdef CONFIG_PPC4xx_DDR_AUTOCALIBRATION COBJS += 4xx_ibm_ddr2_autocalib.o endif -COBJS-$(CONFIG_PPC4xx_EMAC) += 4xx_enet.o COBJS += 4xx_pci.o COBJS += 4xx_pcie.o COBJS += bedbug_405.o diff --git a/cpu/ppc4xx/4xx_enet.c b/drivers/net/4xx_enet.c similarity index 100% rename from cpu/ppc4xx/4xx_enet.c rename to drivers/net/4xx_enet.c diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 439c354..9e4a854 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -54,6 +54,7 @@ COBJS-$(CONFIG_NS8382X) += ns8382x.o COBJS-$(CONFIG_DRIVER_NS9750_ETHERNET) += ns9750_eth.o COBJS-$(CONFIG_PCNET) += pcnet.o COBJS-$(CONFIG_PLB2800_ETHER) += plb2800_eth.o +COBJS-$(CONFIG_PPC4xx_EMAC) += 4xx_enet.o COBJS-$(CONFIG_DRIVER_RTL8019) += rtl8019.o COBJS-$(CONFIG_RTL8139) += rtl8139.o COBJS-$(CONFIG_RTL8169) += rtl8169.o

Removed initialization of the driver from net/eth.c
Signed-off-by: Ben Warren biggerbadderben@gmail.com --- Rebased against 4xx tree. Please test and ACK/NAK.
cpu/ppc4xx/cpu.c | 14 ++++++++++++++ include/netdev.h | 1 + net/eth.c | 4 ---- 3 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/cpu/ppc4xx/cpu.c b/cpu/ppc4xx/cpu.c index a676b30..1f0b56c 100644 --- a/cpu/ppc4xx/cpu.c +++ b/cpu/ppc4xx/cpu.c @@ -36,6 +36,7 @@ #include <command.h> #include <asm/cache.h> #include <ppc4xx.h> +#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -693,3 +694,16 @@ void reset_4xx_watchdog(void) mtspr(tsr, 0x40000000); } #endif /* CONFIG_WATCHDOG */ + +/* + * Initializes on-chip ethernet controllers. + * to override, implement board_eth_init() + */ +int cpu_eth_init(bd_t *bis) +{ +#if defined(CONFIG_PPC4xx_EMAC) + ppc_4xx_eth_initialize(bis); +#endif + return 0; +} + diff --git a/include/netdev.h b/include/netdev.h index 87d578c..620f9d6 100644 --- a/include/netdev.h +++ b/include/netdev.h @@ -58,6 +58,7 @@ int natsemi_initialize(bd_t *bis); int ns8382x_initialize(bd_t *bis); int pcnet_initialize(bd_t *bis); int plb2800_eth_initialize(bd_t *bis); +int ppc_4xx_eth_initialize (bd_t *bis); int rtl8139_initialize(bd_t *bis); int rtl8169_initialize(bd_t *bis); int skge_initialize(bd_t *bis); diff --git a/net/eth.c b/net/eth.c index a354e76..c4534d0 100644 --- a/net/eth.c +++ b/net/eth.c @@ -44,7 +44,6 @@ extern int fec_initialize(bd_t*); extern int mpc8220_fec_initialize(bd_t*); extern int mv6436x_eth_initialize(bd_t *); extern int mv6446x_eth_initialize(bd_t *); -extern int ppc_4xx_eth_initialize(bd_t *); extern int scc_initialize(bd_t*); extern int npe_initialize(bd_t *); extern int uec_initialize(int); @@ -159,9 +158,6 @@ int eth_initialize(bd_t *bis) #if defined(CONFIG_DB64460) || defined(CONFIG_P3Mx) mv6446x_eth_initialize(bis); #endif -#if defined(CONFIG_PPC4xx_EMAC) - ppc_4xx_eth_initialize(bis); -#endif #ifdef SCC_ENET scc_initialize(bis); #endif

On Tuesday 04 November 2008, Ben Warren wrote:
All in-tree IBM/AMCC PPC4xx boards using the EMAC get this new CONFIG
Signed-off-by: Ben Warren biggerbadderben@gmail.com
Rebased against 4xx tree. Please test and ACK/NAK.
I'm testing right now. It seems to work on "most" boards. Here a small patch that you should incorporate:
diff --git a/cpu/ppc4xx/Makefile b/cpu/ppc4xx/Makefile index 463b575..96ab5c6 100644 --- a/cpu/ppc4xx/Makefile +++ b/cpu/ppc4xx/Makefile @@ -60,7 +60,6 @@ COBJS += usb.o COBJS += usb_ohci.o COBJS += usbdev.o ifndef CONFIG_XILINX_440 -COBJS += 4xx_enet.o COBJS += 4xx_uart.o COBJS += gpio.o COBJS += miiphy.o
And also there are some boards that include the 4xx_enet object directly from their linker script:
[stefan@kubuntu u-boot-ppc4xx (master)]$ git grep "cpu/ppc4xx/4xx_enet.o" board/cray/L1/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/csb272/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/csb472/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/dave/PPChameleonEVB/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/eric/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/esd/ar405/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/esd/dp405/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/esd/hub405/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/esd/voh405/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/g2000/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/ml2/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/mpl/mip405/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/sandburst/karef/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/sandburst/karef/u-boot.lds.debug: cpu/ppc4xx/4xx_enet.o (.text) board/sandburst/metrobox/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/sandburst/metrobox/u-boot.lds.debug: cpu/ppc4xx/4xx_enet.o (.text) board/sbc405/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text) board/xilinx/ml300/u-boot.lds: cpu/ppc4xx/4xx_enet.o (.text)
It should be safe to remove this reference completely, but the fix with least consequences is the change to the new object location.
Please change this in your next patch submission and you can add my Acked-by and include it into your net repository.
Thanks for your work on this.
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office@denx.de =====================================================================
participants (2)
-
Ben Warren
-
Stefan Roese