[U-Boot,v2,08/10] powerpc, 8xx: move FEC Ethernet driver in drivers/net
diff mbox

Message ID c0029b2ae20919cf6bbfec51a5fe0713b6fa44ff.1499329461.git.christophe.leroy@c-s.fr
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Christophe Leroy July 6, 2017, 8:33 a.m. UTC
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 README                                             | 15 ------
 arch/powerpc/cpu/mpc8xx/Makefile                   |  1 -
 arch/powerpc/cpu/mpc8xx/cpu.c                      |  2 +-
 drivers/net/Kconfig                                | 58 ++++++++++++++++++++++
 drivers/net/Makefile                               |  1 +
 .../cpu/mpc8xx/fec.c => drivers/net/mpc8xx_fec.c   | 18 -------
 scripts/config_whitelist.txt                       |  4 --
 7 files changed, 60 insertions(+), 39 deletions(-)
 rename arch/powerpc/cpu/mpc8xx/fec.c => drivers/net/mpc8xx_fec.c (97%)

Comments

Bin Meng July 6, 2017, 8:54 a.m. UTC | #1
Hi Christophe,

On Thu, Jul 6, 2017 at 4:33 PM, Christophe Leroy
<christophe.leroy@c-s.fr> wrote:
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
> ---
>  README                                             | 15 ------
>  arch/powerpc/cpu/mpc8xx/Makefile                   |  1 -
>  arch/powerpc/cpu/mpc8xx/cpu.c                      |  2 +-
>  drivers/net/Kconfig                                | 58 ++++++++++++++++++++++
>  drivers/net/Makefile                               |  1 +
>  .../cpu/mpc8xx/fec.c => drivers/net/mpc8xx_fec.c   | 18 -------
>  scripts/config_whitelist.txt                       |  4 --
>  7 files changed, 60 insertions(+), 39 deletions(-)
>  rename arch/powerpc/cpu/mpc8xx/fec.c => drivers/net/mpc8xx_fec.c (97%)
>

I've seen all previous discussion on this 8xx support. But since you
are modernising 8xx support, can you convert this driver to DM
instead? We should not add any new legacy driver any more.

[snip]

Regards,
Bin
Tom Rini July 6, 2017, 12:02 p.m. UTC | #2
On Thu, Jul 06, 2017 at 04:54:59PM +0800, Bin Meng wrote:
> Hi Christophe,
> 
> On Thu, Jul 6, 2017 at 4:33 PM, Christophe Leroy
> <christophe.leroy@c-s.fr> wrote:
> > Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
> > ---
> >  README                                             | 15 ------
> >  arch/powerpc/cpu/mpc8xx/Makefile                   |  1 -
> >  arch/powerpc/cpu/mpc8xx/cpu.c                      |  2 +-
> >  drivers/net/Kconfig                                | 58 ++++++++++++++++++++++
> >  drivers/net/Makefile                               |  1 +
> >  .../cpu/mpc8xx/fec.c => drivers/net/mpc8xx_fec.c   | 18 -------
> >  scripts/config_whitelist.txt                       |  4 --
> >  7 files changed, 60 insertions(+), 39 deletions(-)
> >  rename arch/powerpc/cpu/mpc8xx/fec.c => drivers/net/mpc8xx_fec.c (97%)
> 
> I've seen all previous discussion on this 8xx support. But since you
> are modernising 8xx support, can you convert this driver to DM
> instead? We should not add any new legacy driver any more.

This is why I was saying incremental change in the -rc3 announcement.
This code will be updated to modern requirements.  But it (being the
parts that are still used) will come in, get moved, then get converted.
Or out it goes again :)
Tom Rini July 9, 2017, 12:25 a.m. UTC | #3
On Thu, Jul 06, 2017 at 10:33:23AM +0200, Christophe Leroy wrote:

> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>

Applied to u-boot/master, thanks!

Patch
diff mbox

diff --git a/README b/README
index 030a452f9a..0f204be0ca 100644
--- a/README
+++ b/README
@@ -4083,21 +4083,6 @@  Low Level (hardware related) configuration options:
 		Only for 83xx systems. If specified, then DDR should
 		be configured using CS0 and CS1 instead of CS2 and CS3.
 
-- CONFIG_ETHER_ON_FEC[12]
-		Define to enable FEC[12] on a 8xx series processor.
-
-- CONFIG_FEC[12]_PHY
-		Define to the hardcoded PHY address which corresponds
-		to the given FEC; i. e.
-			#define CONFIG_FEC1_PHY 4
-		means that the PHY with address 4 is connected to FEC1
-
-		When set to -1, means to probe for first available.
-
-- CONFIG_FEC[12]_PHY_NORXERR
-		The PHY does not have a RXERR line (RMII only).
-		(so program the FEC to ignore it).
-
 - CONFIG_RMII
 		Enable RMII mode for all FECs.
 		Note that this is a global option, we can't
diff --git a/arch/powerpc/cpu/mpc8xx/Makefile b/arch/powerpc/cpu/mpc8xx/Makefile
index b5b4bfafb9..f67c3f8463 100644
--- a/arch/powerpc/cpu/mpc8xx/Makefile
+++ b/arch/powerpc/cpu/mpc8xx/Makefile
@@ -9,7 +9,6 @@  extra-y += start.o
 extra-y += traps.o
 obj-y	+= cpu.o
 obj-y	+= cpu_init.o
-obj-y	+= fec.o
 obj-$(CONFIG_OF_LIBFDT) += fdt.o
 obj-$(CONFIG_CMD_IMMAP) += immap.o
 obj-y	+= interrupts.o
diff --git a/arch/powerpc/cpu/mpc8xx/cpu.c b/arch/powerpc/cpu/mpc8xx/cpu.c
index 5cfc8c189c..74e6c6d02c 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu.c
@@ -327,7 +327,7 @@  void reset_8xx_watchdog(immap_t __iomem *immr)
  */
 int cpu_eth_init(bd_t *bis)
 {
-#if defined(FEC_ENET)
+#if defined(CONFIG_MPC8XX_FEC)
 	fec_initialize(bis);
 #endif
 	return 0;
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 33634c33d4..736aab2e6e 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -246,4 +246,62 @@  config RENESAS_RAVB
 	  This driver implements support for the Ethernet AVB block in
 	  Renesas M3 and H3 SoCs.
 
+config MPC8XX_FEC
+	bool "Fast Ethernet Controller on MPC8XX"
+	depends on 8xx
+	select MII
+	help
+	  This driver implements support for the Fast Ethernet Controller
+	  on MPC8XX
+
+config ETHER_ON_FEC1
+	bool "FEC1"
+	depends on MPC8XX_FEC
+	default y
+
+config FEC1_PHY
+	int "FEC1 PHY"
+	depends on ETHER_ON_FEC1
+	default -1
+	help
+	  Define to the hardcoded PHY address which corresponds
+	  to the given FEC; i. e.
+		#define CONFIG_FEC1_PHY 4
+	  means that the PHY with address 4 is connected to FEC1
+
+	  When set to -1, means to probe for first available.
+
+config PHY_NORXERR
+	bool "PHY_NORXERR"
+	depends on ETHER_ON_FEC1
+	default n
+	help
+	  The PHY does not have a RXERR line (RMII only).
+	  (so program the FEC to ignore it).
+
+config ETHER_ON_FEC2
+	bool "FEC2"
+	depends on MPC8XX_FEC && MPC885
+	default y
+
+config FEC2_PHY
+	int "FEC2 PHY"
+	depends on ETHER_ON_FEC2
+	default -1
+	help
+	  Define to the hardcoded PHY address which corresponds
+	  to the given FEC; i. e.
+		#define CONFIG_FEC1_PHY 4
+	  means that the PHY with address 4 is connected to FEC1
+
+	  When set to -1, means to probe for first available.
+
+config FEC2_PHY_NORXERR
+	bool "PHY_NORXERR"
+	depends on ETHER_ON_FEC2
+	default n
+	help
+	  The PHY does not have a RXERR line (RMII only).
+	  (so program the FEC to ignore it).
+
 endif # NETDEVICES
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 4a5176e087..94a4fd8701 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -38,6 +38,7 @@  obj-$(CONFIG_LAN91C96) += lan91c96.o
 obj-$(CONFIG_LPC32XX_ETH) += lpc32xx_eth.o
 obj-$(CONFIG_MACB) += macb.o
 obj-$(CONFIG_MCFFEC) += mcffec.o mcfmii.o
+obj-$(CONFIG_MPC8XX_FEC) += mpc8xx_fec.o
 obj-$(CONFIG_MVGBE) += mvgbe.o
 obj-$(CONFIG_MVNETA) += mvneta.o
 obj-$(CONFIG_MVPP2) += mvpp2.o
diff --git a/arch/powerpc/cpu/mpc8xx/fec.c b/drivers/net/mpc8xx_fec.c
similarity index 97%
rename from arch/powerpc/cpu/mpc8xx/fec.c
rename to drivers/net/mpc8xx_fec.c
index 56cb7a506e..b070d6696a 100644
--- a/arch/powerpc/cpu/mpc8xx/fec.c
+++ b/drivers/net/mpc8xx_fec.c
@@ -16,14 +16,6 @@ 
 
 DECLARE_GLOBAL_DATA_PTR;
 
-#if defined(CONFIG_CMD_NET) && \
-	(defined(FEC_ENET) || defined(CONFIG_ETHER_ON_FEC1) || defined(CONFIG_ETHER_ON_FEC2))
-
-/* compatibility test, if only FEC_ENET defined assume ETHER on FEC1 */
-#if defined(FEC_ENET) && !defined(CONFIG_ETHER_ON_FEC1) && !defined(CONFIG_ETHER_ON_FEC2)
-#define CONFIG_ETHER_ON_FEC1 1
-#endif
-
 /* define WANT_MII when MII support is required */
 #if defined(CONFIG_SYS_DISCOVER_PHY) || defined(CONFIG_FEC1_PHY) || defined(CONFIG_FEC2_PHY)
 #define WANT_MII
@@ -65,11 +57,7 @@  static struct ether_fcc_info_s
 	{
 		0,
 		offsetof(immap_t, im_cpm.cp_fec1),
-#if defined(CONFIG_FEC1_PHY)
 		CONFIG_FEC1_PHY,
-#else
-		-1,	/* discover */
-#endif
 		-1,
 		0,
 
@@ -79,11 +67,7 @@  static struct ether_fcc_info_s
 	{
 		1,
 		offsetof(immap_t, im_cpm.cp_fec2),
-#if defined(CONFIG_FEC2_PHY)
 		CONFIG_FEC2_PHY,
-#else
-		-1,
-#endif
 		-1,
 		0,
 	},
@@ -846,5 +830,3 @@  int fec8xx_miiphy_write(struct mii_dev *bus, int addr, int devad, int reg,
 	return 0;
 }
 #endif
-
-#endif
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index dff46dd6a2..43b44025dd 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -712,8 +712,6 @@  CONFIG_ETHER_ON_FCC
 CONFIG_ETHER_ON_FCC1
 CONFIG_ETHER_ON_FCC2
 CONFIG_ETHER_ON_FCC3
-CONFIG_ETHER_ON_FEC1
-CONFIG_ETHER_ON_FEC2
 CONFIG_ETHPRIME
 CONFIG_ETH_BUFSIZE
 CONFIG_ETH_RXSIZE
@@ -769,8 +767,6 @@  CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
 CONFIG_FEATURE_SH_EXTRA_QUIET
 CONFIG_FEATURE_SH_FANCY_PROMPT
 CONFIG_FEATURE_SH_STANDALONE_SHELL
-CONFIG_FEC1_PHY
-CONFIG_FEC2_PHY
 CONFIG_FEC_ENET_DEV
 CONFIG_FEC_FIXED_SPEED
 CONFIG_FEC_MXC_25M_REF_CLK