From 96e21f86e8266ed40759e5495ee461265d7f6d28 Mon Sep 17 00:00:00 2001
From: Ben Warren <biggerbadderben@gmail.com>
Date: Mon, 27 Oct 2008 23:50:15 -0700
Subject: [PATCH] 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>
Acked-by: Stefan Roese <sr@denx.de>
---
 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 d7b16daf39..1978269599 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 463b57566a..adfe13ce72 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 864774c229..9f19269574 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 bcc85ee0b0..a694083d5f 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 d58f508484..d0e246409d 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 3493d75bd4..1a2bc1c2e7 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 734ab95e43..e231fa7058 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 47ad89dfeb..2319c58725 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 4e94dfc328..be8c238a0d 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 2d60ebf2e4..3263712534 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 1122d02d61..f1608e145f 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 0ff4f7dfe6..884f3fe885 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 939e216051..1d20efea00 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 508a0cae3d..729153c2ef 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 c05945a726..1b766a7dcb 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 9f5d3caa5f..1dd6e573d2 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 4341f02e60..d299044cb2 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 1e7cc124d3..80e59bb266 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 3e5842444d..b3c7046fc3 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 508b5c8dbe..8aca1f941d 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 403081d0d2..4b67c9454b 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 c0ddd45c0e..518173aa5d 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 7dcf1855a2..c58ce053fd 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 ff11df92ed..32814d49f5 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 a635fca192..58e9328e4f 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 b55e383b2b..0393366b5c 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 2966979cb8..5c4d69b207 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 675dbe6676..11ce0080f9 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 12e63b717e..8d07d7705d 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 7071ccbfe7..7219bb8ae1 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 e66f8efead..09a96417f5 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 fb1febc5c9..10ef620d82 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 b6e3588811..90efc6d811 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 e546369c99..51d0a0a6ac 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 226033831b..ca1a9d4a77 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 ec81564068..01cdf3a6f3 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 569bb9052e..8d44ec6d72 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 315841257d..6e9f5e5a53 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 85165710b0..d3dc3e5336 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 393e9929a1..874f2c0b39 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 af382526fa..2e30e69640 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 ca3e8a9fc4..d56da14487 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 e0dbd6113c..05055c89af 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 1fa4b00eb5..0a757943e8 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 1dc8656bfb..729ca6ac7d 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 6e2d9067c8..000ae5cd7d 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 1a76301956..0f7fca38d5 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 d93ca2d98f..c156820acf 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 44135dfac5..d152a9670d 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 b75e8a118a..1a77c71968 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 0b954edb78..eab51045a4 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -153,7 +153,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
 	if (!eth_devices) {
@@ -485,8 +485,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)
-- 
2.39.5