diff mbox series

RFC: net: fec: get rid of CONFIG_FEC_MXC_MDIO_BASE

Message ID 20220505221202.11920-1-tharvey@gateworks.com
State RFC
Headers show
Series RFC: net: fec: get rid of CONFIG_FEC_MXC_MDIO_BASE | expand

Commit Message

Tim Harvey May 5, 2022, 10:12 p.m. UTC
A number of IMX8Q boards using FEC configure the address of the ethernet
controller via defconfig as there are two FEC controllers in the SoC.

Now that the FEC driver uses DM the register address should be coming from
device-tree.

Remove the hard coded config and while at it remove the unused
CONFIG_FEC_MXC_SHARE_MDIO.

This is an RFC as I do not have the affected boards to test with and
would want to see a Tested-By from someone with each board. I am attempting
to clean up some ugliness in the FEC driver. There appears to be
multiple constructs to deal with shared MDIO busses when DM_MDIO should
be the right solution for that.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> (maintainer:Apalis iMX8)
Cc: Oliver Graute <oliver.graute@kococonnector.com> (maintainer:i.MX8QM CGTQMX8 BOARD)
Cc: Anatolij Gustschin <agust@denx.de> (maintainer:CAPRICORN BOARD)
Cc: Peng Fan <peng.fan@nxp.com> (maintainer:i.MX8QM MEK BOARD)
Cc: Fabio Estevam <festevam@gmail.com> (maintainer:i.MX8QXP MEK BOARD)
Cc: Oleh Kravchenko <oleg@kaa.org.ua> (maintainer:OUT4-IMX6ULL-NANO BOARD)
Cc: Joe Hershberger <joe.hershberger@ni.com> (maintainer:NETWORK)
Cc: Ramon Fried <rfried.dev@gmail.com> (maintainer:NETWORK)
---
 configs/apalis-imx8_defconfig          |  2 --
 configs/cgtqmx8_defconfig              |  2 --
 configs/colibri-imx8x_defconfig        |  2 --
 configs/deneb_defconfig                |  2 --
 configs/giedi_defconfig                |  2 --
 configs/imx8qm_mek_defconfig           |  2 --
 configs/imx8qm_rom7720_a1_4G_defconfig |  2 --
 configs/imx8qxp_mek_defconfig          |  2 --
 configs/o4-imx6ull-nano_defconfig      |  2 --
 drivers/net/Kconfig                    | 11 -----------
 drivers/net/fec_mxc.c                  |  5 -----
 11 files changed, 34 deletions(-)

Comments

Oleh Kravchenko May 7, 2022, 7:41 p.m. UTC | #1
Hello Tim,
Your patch looks good, and I'm pleased to verify it.
But I don't have access to the o4-imx6ull-nano board.

06.05.22 01:12, Tim Harvey пише:
> A number of IMX8Q boards using FEC configure the address of the ethernet
> controller via defconfig as there are two FEC controllers in the SoC.
> 
> Now that the FEC driver uses DM the register address should be coming from
> device-tree.
> 
> Remove the hard coded config and while at it remove the unused
> CONFIG_FEC_MXC_SHARE_MDIO.
> 
> This is an RFC as I do not have the affected boards to test with and
> would want to see a Tested-By from someone with each board. I am attempting
> to clean up some ugliness in the FEC driver. There appears to be
> multiple constructs to deal with shared MDIO busses when DM_MDIO should
> be the right solution for that.
> 
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> (maintainer:Apalis iMX8)
> Cc: Oliver Graute <oliver.graute@kococonnector.com> (maintainer:i.MX8QM CGTQMX8 BOARD)
> Cc: Anatolij Gustschin <agust@denx.de> (maintainer:CAPRICORN BOARD)
> Cc: Peng Fan <peng.fan@nxp.com> (maintainer:i.MX8QM MEK BOARD)
> Cc: Fabio Estevam <festevam@gmail.com> (maintainer:i.MX8QXP MEK BOARD)
> Cc: Oleh Kravchenko <oleg@kaa.org.ua> (maintainer:OUT4-IMX6ULL-NANO BOARD)
> Cc: Joe Hershberger <joe.hershberger@ni.com> (maintainer:NETWORK)
> Cc: Ramon Fried <rfried.dev@gmail.com> (maintainer:NETWORK)
> ---
>   configs/apalis-imx8_defconfig          |  2 --
>   configs/cgtqmx8_defconfig              |  2 --
>   configs/colibri-imx8x_defconfig        |  2 --
>   configs/deneb_defconfig                |  2 --
>   configs/giedi_defconfig                |  2 --
>   configs/imx8qm_mek_defconfig           |  2 --
>   configs/imx8qm_rom7720_a1_4G_defconfig |  2 --
>   configs/imx8qxp_mek_defconfig          |  2 --
>   configs/o4-imx6ull-nano_defconfig      |  2 --
>   drivers/net/Kconfig                    | 11 -----------
>   drivers/net/fec_mxc.c                  |  5 -----
>   11 files changed, 34 deletions(-)
> 
> diff --git a/configs/apalis-imx8_defconfig b/configs/apalis-imx8_defconfig
> index beb20f6e1c01..bd8e7f01e493 100644
> --- a/configs/apalis-imx8_defconfig
> +++ b/configs/apalis-imx8_defconfig
> @@ -56,8 +56,6 @@ CONFIG_PHY_ADDR_ENABLE=y
>   CONFIG_PHY_MICREL=y
>   CONFIG_PHY_MICREL_KSZ90X1=y
>   CONFIG_DM_ETH=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>   CONFIG_FEC_MXC=y
>   CONFIG_MII=y
>   CONFIG_PINCTRL=y
> diff --git a/configs/cgtqmx8_defconfig b/configs/cgtqmx8_defconfig
> index 2cf882f826ab..fe62b639bd88 100644
> --- a/configs/cgtqmx8_defconfig
> +++ b/configs/cgtqmx8_defconfig
> @@ -72,8 +72,6 @@ CONFIG_PHY_ADDR_ENABLE=y
>   CONFIG_PHY_ATHEROS=y
>   CONFIG_DM_ETH=y
>   CONFIG_PHY_GIGE=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>   CONFIG_FEC_MXC=y
>   CONFIG_MII=y
>   CONFIG_PINCTRL=y
> diff --git a/configs/colibri-imx8x_defconfig b/configs/colibri-imx8x_defconfig
> index 0c9d6b64c1b6..03e899f51fed 100644
> --- a/configs/colibri-imx8x_defconfig
> +++ b/configs/colibri-imx8x_defconfig
> @@ -54,8 +54,6 @@ CONFIG_PHYLIB=y
>   CONFIG_PHY_ADDR_ENABLE=y
>   CONFIG_PHY_MICREL=y
>   CONFIG_DM_ETH=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>   CONFIG_FEC_MXC=y
>   CONFIG_MII=y
>   CONFIG_PINCTRL=y
> diff --git a/configs/deneb_defconfig b/configs/deneb_defconfig
> index 425fff6c70a6..d0fc11a774f8 100644
> --- a/configs/deneb_defconfig
> +++ b/configs/deneb_defconfig
> @@ -94,8 +94,6 @@ CONFIG_MV88E61XX_CPU_PORT=5
>   CONFIG_MV88E61XX_PHY_PORTS=0x7
>   CONFIG_MV88E61XX_FIXED_PORTS=0x0
>   CONFIG_DM_ETH=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B050000
>   CONFIG_FEC_MXC=y
>   CONFIG_MII=y
>   CONFIG_PINCTRL=y
> diff --git a/configs/giedi_defconfig b/configs/giedi_defconfig
> index 4fbf7ebdcd95..24bc621cf184 100644
> --- a/configs/giedi_defconfig
> +++ b/configs/giedi_defconfig
> @@ -94,8 +94,6 @@ CONFIG_MV88E61XX_CPU_PORT=5
>   CONFIG_MV88E61XX_PHY_PORTS=0x7
>   CONFIG_MV88E61XX_FIXED_PORTS=0x0
>   CONFIG_DM_ETH=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B050000
>   CONFIG_FEC_MXC=y
>   CONFIG_MII=y
>   CONFIG_PINCTRL=y
> diff --git a/configs/imx8qm_mek_defconfig b/configs/imx8qm_mek_defconfig
> index 2e42872f843d..448a20c7afd1 100644
> --- a/configs/imx8qm_mek_defconfig
> +++ b/configs/imx8qm_mek_defconfig
> @@ -73,8 +73,6 @@ CONFIG_PHY_ADDR_ENABLE=y
>   CONFIG_PHY_ATHEROS=y
>   CONFIG_DM_ETH=y
>   CONFIG_PHY_GIGE=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>   CONFIG_FEC_MXC=y
>   CONFIG_MII=y
>   CONFIG_PINCTRL=y
> diff --git a/configs/imx8qm_rom7720_a1_4G_defconfig b/configs/imx8qm_rom7720_a1_4G_defconfig
> index d9997cfa8280..0a8de612ea32 100644
> --- a/configs/imx8qm_rom7720_a1_4G_defconfig
> +++ b/configs/imx8qm_rom7720_a1_4G_defconfig
> @@ -68,8 +68,6 @@ CONFIG_PHY_ADDR_ENABLE=y
>   CONFIG_PHY_ATHEROS=y
>   CONFIG_DM_ETH=y
>   CONFIG_PHY_GIGE=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>   CONFIG_FEC_MXC=y
>   CONFIG_MII=y
>   CONFIG_PINCTRL=y
> diff --git a/configs/imx8qxp_mek_defconfig b/configs/imx8qxp_mek_defconfig
> index 43f42f7a58af..e4a3c4b103e6 100644
> --- a/configs/imx8qxp_mek_defconfig
> +++ b/configs/imx8qxp_mek_defconfig
> @@ -74,8 +74,6 @@ CONFIG_PHY_ADDR_ENABLE=y
>   CONFIG_PHY_ATHEROS=y
>   CONFIG_DM_ETH=y
>   CONFIG_PHY_GIGE=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>   CONFIG_FEC_MXC=y
>   CONFIG_MII=y
>   CONFIG_PINCTRL=y
> diff --git a/configs/o4-imx6ull-nano_defconfig b/configs/o4-imx6ull-nano_defconfig
> index 27a82b116304..216b4ef8a261 100644
> --- a/configs/o4-imx6ull-nano_defconfig
> +++ b/configs/o4-imx6ull-nano_defconfig
> @@ -45,8 +45,6 @@ CONFIG_PHYLIB=y
>   CONFIG_PHY_SMSC=y
>   CONFIG_DM_ETH=y
>   CONFIG_DM_ETH_PHY=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x020b4000
>   CONFIG_FEC_MXC=y
>   CONFIG_MII=y
>   CONFIG_PINCTRL=y
> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> index 347fe8aa425f..82e51b098ae0 100644
> --- a/drivers/net/Kconfig
> +++ b/drivers/net/Kconfig
> @@ -326,17 +326,6 @@ config ETHOC
>   	help
>   	  This MAC is present in OpenRISC and Xtensa XTFPGA boards.
>   
> -config FEC_MXC_SHARE_MDIO
> -	bool "Share the MDIO bus for FEC controller"
> -	depends on FEC_MXC
> -
> -config FEC_MXC_MDIO_BASE
> -	hex "MDIO base address for the FEC controller"
> -	depends on FEC_MXC_SHARE_MDIO
> -	help
> -	  This specifies the MDIO registers base address. It is used when
> -	  two FEC controllers share MDIO bus.
> -
>   config FEC_MXC
>   	bool "FEC Ethernet controller"
>   	depends on MX28 || MX5 || MX6 || MX7 || IMX8 || IMX8M || IMX8ULP || VF610
> diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
> index a623a5c45e4d..1add6fb91f53 100644
> --- a/drivers/net/fec_mxc.c
> +++ b/drivers/net/fec_mxc.c
> @@ -1233,12 +1233,7 @@ static int fecmxc_probe(struct udevice *dev)
>   
>   	if (!bus) {
>   		dm_mii_bus = false;
> -#ifdef CONFIG_FEC_MXC_MDIO_BASE
> -		bus = fec_get_miibus((ulong)CONFIG_FEC_MXC_MDIO_BASE,
> -				     dev_seq(dev));
> -#else
>   		bus = fec_get_miibus((ulong)priv->eth, dev_seq(dev));
> -#endif
>   	}
>   	if (!bus) {
>   		ret = -ENOMEM;

Reviewed-by: Oleh Kravchenko <oleg@kaa.org.ua>
Tim Harvey May 11, 2022, 8:39 p.m. UTC | #2
On Sat, May 7, 2022 at 12:41 PM Oleh Kravchenko <oleg@kaa.org.ua> wrote:
>
> Hello Tim,
> Your patch looks good, and I'm pleased to verify it.
> But I don't have access to the o4-imx6ull-nano board.
>
> 06.05.22 01:12, Tim Harvey пише:
> > A number of IMX8Q boards using FEC configure the address of the ethernet
> > controller via defconfig as there are two FEC controllers in the SoC.
> >
> > Now that the FEC driver uses DM the register address should be coming from
> > device-tree.
> >
> > Remove the hard coded config and while at it remove the unused
> > CONFIG_FEC_MXC_SHARE_MDIO.
> >
> > This is an RFC as I do not have the affected boards to test with and
> > would want to see a Tested-By from someone with each board. I am attempting
> > to clean up some ugliness in the FEC driver. There appears to be
> > multiple constructs to deal with shared MDIO busses when DM_MDIO should
> > be the right solution for that.
> >
> > Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> > Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> (maintainer:Apalis iMX8)
> > Cc: Oliver Graute <oliver.graute@kococonnector.com> (maintainer:i.MX8QM CGTQMX8 BOARD)
> > Cc: Anatolij Gustschin <agust@denx.de> (maintainer:CAPRICORN BOARD)
> > Cc: Peng Fan <peng.fan@nxp.com> (maintainer:i.MX8QM MEK BOARD)
> > Cc: Fabio Estevam <festevam@gmail.com> (maintainer:i.MX8QXP MEK BOARD)
> > Cc: Oleh Kravchenko <oleg@kaa.org.ua> (maintainer:OUT4-IMX6ULL-NANO BOARD)
> > Cc: Joe Hershberger <joe.hershberger@ni.com> (maintainer:NETWORK)
> > Cc: Ramon Fried <rfried.dev@gmail.com> (maintainer:NETWORK)
> > ---
> >   configs/apalis-imx8_defconfig          |  2 --
> >   configs/cgtqmx8_defconfig              |  2 --
> >   configs/colibri-imx8x_defconfig        |  2 --
> >   configs/deneb_defconfig                |  2 --
> >   configs/giedi_defconfig                |  2 --
> >   configs/imx8qm_mek_defconfig           |  2 --
> >   configs/imx8qm_rom7720_a1_4G_defconfig |  2 --
> >   configs/imx8qxp_mek_defconfig          |  2 --
> >   configs/o4-imx6ull-nano_defconfig      |  2 --
> >   drivers/net/Kconfig                    | 11 -----------
> >   drivers/net/fec_mxc.c                  |  5 -----
> >   11 files changed, 34 deletions(-)
> >
> > diff --git a/configs/apalis-imx8_defconfig b/configs/apalis-imx8_defconfig
> > index beb20f6e1c01..bd8e7f01e493 100644
> > --- a/configs/apalis-imx8_defconfig
> > +++ b/configs/apalis-imx8_defconfig
> > @@ -56,8 +56,6 @@ CONFIG_PHY_ADDR_ENABLE=y
> >   CONFIG_PHY_MICREL=y
> >   CONFIG_PHY_MICREL_KSZ90X1=y
> >   CONFIG_DM_ETH=y
> > -CONFIG_FEC_MXC_SHARE_MDIO=y
> > -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
> >   CONFIG_FEC_MXC=y
> >   CONFIG_MII=y
> >   CONFIG_PINCTRL=y
> > diff --git a/configs/cgtqmx8_defconfig b/configs/cgtqmx8_defconfig
> > index 2cf882f826ab..fe62b639bd88 100644
> > --- a/configs/cgtqmx8_defconfig
> > +++ b/configs/cgtqmx8_defconfig
> > @@ -72,8 +72,6 @@ CONFIG_PHY_ADDR_ENABLE=y
> >   CONFIG_PHY_ATHEROS=y
> >   CONFIG_DM_ETH=y
> >   CONFIG_PHY_GIGE=y
> > -CONFIG_FEC_MXC_SHARE_MDIO=y
> > -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
> >   CONFIG_FEC_MXC=y
> >   CONFIG_MII=y
> >   CONFIG_PINCTRL=y
> > diff --git a/configs/colibri-imx8x_defconfig b/configs/colibri-imx8x_defconfig
> > index 0c9d6b64c1b6..03e899f51fed 100644
> > --- a/configs/colibri-imx8x_defconfig
> > +++ b/configs/colibri-imx8x_defconfig
> > @@ -54,8 +54,6 @@ CONFIG_PHYLIB=y
> >   CONFIG_PHY_ADDR_ENABLE=y
> >   CONFIG_PHY_MICREL=y
> >   CONFIG_DM_ETH=y
> > -CONFIG_FEC_MXC_SHARE_MDIO=y
> > -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
> >   CONFIG_FEC_MXC=y
> >   CONFIG_MII=y
> >   CONFIG_PINCTRL=y
> > diff --git a/configs/deneb_defconfig b/configs/deneb_defconfig
> > index 425fff6c70a6..d0fc11a774f8 100644
> > --- a/configs/deneb_defconfig
> > +++ b/configs/deneb_defconfig
> > @@ -94,8 +94,6 @@ CONFIG_MV88E61XX_CPU_PORT=5
> >   CONFIG_MV88E61XX_PHY_PORTS=0x7
> >   CONFIG_MV88E61XX_FIXED_PORTS=0x0
> >   CONFIG_DM_ETH=y
> > -CONFIG_FEC_MXC_SHARE_MDIO=y
> > -CONFIG_FEC_MXC_MDIO_BASE=0x5B050000
> >   CONFIG_FEC_MXC=y
> >   CONFIG_MII=y
> >   CONFIG_PINCTRL=y
> > diff --git a/configs/giedi_defconfig b/configs/giedi_defconfig
> > index 4fbf7ebdcd95..24bc621cf184 100644
> > --- a/configs/giedi_defconfig
> > +++ b/configs/giedi_defconfig
> > @@ -94,8 +94,6 @@ CONFIG_MV88E61XX_CPU_PORT=5
> >   CONFIG_MV88E61XX_PHY_PORTS=0x7
> >   CONFIG_MV88E61XX_FIXED_PORTS=0x0
> >   CONFIG_DM_ETH=y
> > -CONFIG_FEC_MXC_SHARE_MDIO=y
> > -CONFIG_FEC_MXC_MDIO_BASE=0x5B050000
> >   CONFIG_FEC_MXC=y
> >   CONFIG_MII=y
> >   CONFIG_PINCTRL=y
> > diff --git a/configs/imx8qm_mek_defconfig b/configs/imx8qm_mek_defconfig
> > index 2e42872f843d..448a20c7afd1 100644
> > --- a/configs/imx8qm_mek_defconfig
> > +++ b/configs/imx8qm_mek_defconfig
> > @@ -73,8 +73,6 @@ CONFIG_PHY_ADDR_ENABLE=y
> >   CONFIG_PHY_ATHEROS=y
> >   CONFIG_DM_ETH=y
> >   CONFIG_PHY_GIGE=y
> > -CONFIG_FEC_MXC_SHARE_MDIO=y
> > -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
> >   CONFIG_FEC_MXC=y
> >   CONFIG_MII=y
> >   CONFIG_PINCTRL=y
> > diff --git a/configs/imx8qm_rom7720_a1_4G_defconfig b/configs/imx8qm_rom7720_a1_4G_defconfig
> > index d9997cfa8280..0a8de612ea32 100644
> > --- a/configs/imx8qm_rom7720_a1_4G_defconfig
> > +++ b/configs/imx8qm_rom7720_a1_4G_defconfig
> > @@ -68,8 +68,6 @@ CONFIG_PHY_ADDR_ENABLE=y
> >   CONFIG_PHY_ATHEROS=y
> >   CONFIG_DM_ETH=y
> >   CONFIG_PHY_GIGE=y
> > -CONFIG_FEC_MXC_SHARE_MDIO=y
> > -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
> >   CONFIG_FEC_MXC=y
> >   CONFIG_MII=y
> >   CONFIG_PINCTRL=y
> > diff --git a/configs/imx8qxp_mek_defconfig b/configs/imx8qxp_mek_defconfig
> > index 43f42f7a58af..e4a3c4b103e6 100644
> > --- a/configs/imx8qxp_mek_defconfig
> > +++ b/configs/imx8qxp_mek_defconfig
> > @@ -74,8 +74,6 @@ CONFIG_PHY_ADDR_ENABLE=y
> >   CONFIG_PHY_ATHEROS=y
> >   CONFIG_DM_ETH=y
> >   CONFIG_PHY_GIGE=y
> > -CONFIG_FEC_MXC_SHARE_MDIO=y
> > -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
> >   CONFIG_FEC_MXC=y
> >   CONFIG_MII=y
> >   CONFIG_PINCTRL=y
> > diff --git a/configs/o4-imx6ull-nano_defconfig b/configs/o4-imx6ull-nano_defconfig
> > index 27a82b116304..216b4ef8a261 100644
> > --- a/configs/o4-imx6ull-nano_defconfig
> > +++ b/configs/o4-imx6ull-nano_defconfig
> > @@ -45,8 +45,6 @@ CONFIG_PHYLIB=y
> >   CONFIG_PHY_SMSC=y
> >   CONFIG_DM_ETH=y
> >   CONFIG_DM_ETH_PHY=y
> > -CONFIG_FEC_MXC_SHARE_MDIO=y
> > -CONFIG_FEC_MXC_MDIO_BASE=0x020b4000
> >   CONFIG_FEC_MXC=y
> >   CONFIG_MII=y
> >   CONFIG_PINCTRL=y
> > diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> > index 347fe8aa425f..82e51b098ae0 100644
> > --- a/drivers/net/Kconfig
> > +++ b/drivers/net/Kconfig
> > @@ -326,17 +326,6 @@ config ETHOC
> >       help
> >         This MAC is present in OpenRISC and Xtensa XTFPGA boards.
> >
> > -config FEC_MXC_SHARE_MDIO
> > -     bool "Share the MDIO bus for FEC controller"
> > -     depends on FEC_MXC
> > -
> > -config FEC_MXC_MDIO_BASE
> > -     hex "MDIO base address for the FEC controller"
> > -     depends on FEC_MXC_SHARE_MDIO
> > -     help
> > -       This specifies the MDIO registers base address. It is used when
> > -       two FEC controllers share MDIO bus.
> > -
> >   config FEC_MXC
> >       bool "FEC Ethernet controller"
> >       depends on MX28 || MX5 || MX6 || MX7 || IMX8 || IMX8M || IMX8ULP || VF610
> > diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
> > index a623a5c45e4d..1add6fb91f53 100644
> > --- a/drivers/net/fec_mxc.c
> > +++ b/drivers/net/fec_mxc.c
> > @@ -1233,12 +1233,7 @@ static int fecmxc_probe(struct udevice *dev)
> >
> >       if (!bus) {
> >               dm_mii_bus = false;
> > -#ifdef CONFIG_FEC_MXC_MDIO_BASE
> > -             bus = fec_get_miibus((ulong)CONFIG_FEC_MXC_MDIO_BASE,
> > -                                  dev_seq(dev));
> > -#else
> >               bus = fec_get_miibus((ulong)priv->eth, dev_seq(dev));
> > -#endif
> >       }
> >       if (!bus) {
> >               ret = -ENOMEM;
>
> Reviewed-by: Oleh Kravchenko <oleg@kaa.org.ua>

Thanks Oleh. Do you know someone that does have a  o4-imx6ull-nano
board to test with?

Marcel, Fabio, Anatolij and Oliver, can you review and test your
boards with this?

Best Regards,

Tim
Anatolij Gustschin May 11, 2022, 9:11 p.m. UTC | #3
Hi Tim,

On Wed, 11 May 2022 13:39:59 -0700
Tim Harvey tharvey@gateworks.com wrote:
...
> > Reviewed-by: Oleh Kravchenko <oleg@kaa.org.ua>  
> 
> Thanks Oleh. Do you know someone that does have a  o4-imx6ull-nano
> board to test with?
> 
> Marcel, Fabio, Anatolij and Oliver, can you review and test your
> boards with this?

I do not have a working i.MX8QXP MEK board any more and can not test.
Maybe Peng could test it?

--
Anatolij
Ramon Fried May 16, 2022, 12:28 a.m. UTC | #4
On Fri, May 6, 2022 at 1:12 AM Tim Harvey <tharvey@gateworks.com> wrote:
>
> A number of IMX8Q boards using FEC configure the address of the ethernet
> controller via defconfig as there are two FEC controllers in the SoC.
>
> Now that the FEC driver uses DM the register address should be coming from
> device-tree.
>
> Remove the hard coded config and while at it remove the unused
> CONFIG_FEC_MXC_SHARE_MDIO.
>
> This is an RFC as I do not have the affected boards to test with and
> would want to see a Tested-By from someone with each board. I am attempting
> to clean up some ugliness in the FEC driver. There appears to be
> multiple constructs to deal with shared MDIO busses when DM_MDIO should
> be the right solution for that.
>
> Signed-off-by: Tim Harvey <tharvey@gateworks.com>
> Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com> (maintainer:Apalis iMX8)
> Cc: Oliver Graute <oliver.graute@kococonnector.com> (maintainer:i.MX8QM CGTQMX8 BOARD)
> Cc: Anatolij Gustschin <agust@denx.de> (maintainer:CAPRICORN BOARD)
> Cc: Peng Fan <peng.fan@nxp.com> (maintainer:i.MX8QM MEK BOARD)
> Cc: Fabio Estevam <festevam@gmail.com> (maintainer:i.MX8QXP MEK BOARD)
> Cc: Oleh Kravchenko <oleg@kaa.org.ua> (maintainer:OUT4-IMX6ULL-NANO BOARD)
> Cc: Joe Hershberger <joe.hershberger@ni.com> (maintainer:NETWORK)
> Cc: Ramon Fried <rfried.dev@gmail.com> (maintainer:NETWORK)
> ---
>  configs/apalis-imx8_defconfig          |  2 --
>  configs/cgtqmx8_defconfig              |  2 --
>  configs/colibri-imx8x_defconfig        |  2 --
>  configs/deneb_defconfig                |  2 --
>  configs/giedi_defconfig                |  2 --
>  configs/imx8qm_mek_defconfig           |  2 --
>  configs/imx8qm_rom7720_a1_4G_defconfig |  2 --
>  configs/imx8qxp_mek_defconfig          |  2 --
>  configs/o4-imx6ull-nano_defconfig      |  2 --
>  drivers/net/Kconfig                    | 11 -----------
>  drivers/net/fec_mxc.c                  |  5 -----
>  11 files changed, 34 deletions(-)
>
> diff --git a/configs/apalis-imx8_defconfig b/configs/apalis-imx8_defconfig
> index beb20f6e1c01..bd8e7f01e493 100644
> --- a/configs/apalis-imx8_defconfig
> +++ b/configs/apalis-imx8_defconfig
> @@ -56,8 +56,6 @@ CONFIG_PHY_ADDR_ENABLE=y
>  CONFIG_PHY_MICREL=y
>  CONFIG_PHY_MICREL_KSZ90X1=y
>  CONFIG_DM_ETH=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>  CONFIG_FEC_MXC=y
>  CONFIG_MII=y
>  CONFIG_PINCTRL=y
> diff --git a/configs/cgtqmx8_defconfig b/configs/cgtqmx8_defconfig
> index 2cf882f826ab..fe62b639bd88 100644
> --- a/configs/cgtqmx8_defconfig
> +++ b/configs/cgtqmx8_defconfig
> @@ -72,8 +72,6 @@ CONFIG_PHY_ADDR_ENABLE=y
>  CONFIG_PHY_ATHEROS=y
>  CONFIG_DM_ETH=y
>  CONFIG_PHY_GIGE=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>  CONFIG_FEC_MXC=y
>  CONFIG_MII=y
>  CONFIG_PINCTRL=y
> diff --git a/configs/colibri-imx8x_defconfig b/configs/colibri-imx8x_defconfig
> index 0c9d6b64c1b6..03e899f51fed 100644
> --- a/configs/colibri-imx8x_defconfig
> +++ b/configs/colibri-imx8x_defconfig
> @@ -54,8 +54,6 @@ CONFIG_PHYLIB=y
>  CONFIG_PHY_ADDR_ENABLE=y
>  CONFIG_PHY_MICREL=y
>  CONFIG_DM_ETH=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>  CONFIG_FEC_MXC=y
>  CONFIG_MII=y
>  CONFIG_PINCTRL=y
> diff --git a/configs/deneb_defconfig b/configs/deneb_defconfig
> index 425fff6c70a6..d0fc11a774f8 100644
> --- a/configs/deneb_defconfig
> +++ b/configs/deneb_defconfig
> @@ -94,8 +94,6 @@ CONFIG_MV88E61XX_CPU_PORT=5
>  CONFIG_MV88E61XX_PHY_PORTS=0x7
>  CONFIG_MV88E61XX_FIXED_PORTS=0x0
>  CONFIG_DM_ETH=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B050000
>  CONFIG_FEC_MXC=y
>  CONFIG_MII=y
>  CONFIG_PINCTRL=y
> diff --git a/configs/giedi_defconfig b/configs/giedi_defconfig
> index 4fbf7ebdcd95..24bc621cf184 100644
> --- a/configs/giedi_defconfig
> +++ b/configs/giedi_defconfig
> @@ -94,8 +94,6 @@ CONFIG_MV88E61XX_CPU_PORT=5
>  CONFIG_MV88E61XX_PHY_PORTS=0x7
>  CONFIG_MV88E61XX_FIXED_PORTS=0x0
>  CONFIG_DM_ETH=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B050000
>  CONFIG_FEC_MXC=y
>  CONFIG_MII=y
>  CONFIG_PINCTRL=y
> diff --git a/configs/imx8qm_mek_defconfig b/configs/imx8qm_mek_defconfig
> index 2e42872f843d..448a20c7afd1 100644
> --- a/configs/imx8qm_mek_defconfig
> +++ b/configs/imx8qm_mek_defconfig
> @@ -73,8 +73,6 @@ CONFIG_PHY_ADDR_ENABLE=y
>  CONFIG_PHY_ATHEROS=y
>  CONFIG_DM_ETH=y
>  CONFIG_PHY_GIGE=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>  CONFIG_FEC_MXC=y
>  CONFIG_MII=y
>  CONFIG_PINCTRL=y
> diff --git a/configs/imx8qm_rom7720_a1_4G_defconfig b/configs/imx8qm_rom7720_a1_4G_defconfig
> index d9997cfa8280..0a8de612ea32 100644
> --- a/configs/imx8qm_rom7720_a1_4G_defconfig
> +++ b/configs/imx8qm_rom7720_a1_4G_defconfig
> @@ -68,8 +68,6 @@ CONFIG_PHY_ADDR_ENABLE=y
>  CONFIG_PHY_ATHEROS=y
>  CONFIG_DM_ETH=y
>  CONFIG_PHY_GIGE=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>  CONFIG_FEC_MXC=y
>  CONFIG_MII=y
>  CONFIG_PINCTRL=y
> diff --git a/configs/imx8qxp_mek_defconfig b/configs/imx8qxp_mek_defconfig
> index 43f42f7a58af..e4a3c4b103e6 100644
> --- a/configs/imx8qxp_mek_defconfig
> +++ b/configs/imx8qxp_mek_defconfig
> @@ -74,8 +74,6 @@ CONFIG_PHY_ADDR_ENABLE=y
>  CONFIG_PHY_ATHEROS=y
>  CONFIG_DM_ETH=y
>  CONFIG_PHY_GIGE=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
>  CONFIG_FEC_MXC=y
>  CONFIG_MII=y
>  CONFIG_PINCTRL=y
> diff --git a/configs/o4-imx6ull-nano_defconfig b/configs/o4-imx6ull-nano_defconfig
> index 27a82b116304..216b4ef8a261 100644
> --- a/configs/o4-imx6ull-nano_defconfig
> +++ b/configs/o4-imx6ull-nano_defconfig
> @@ -45,8 +45,6 @@ CONFIG_PHYLIB=y
>  CONFIG_PHY_SMSC=y
>  CONFIG_DM_ETH=y
>  CONFIG_DM_ETH_PHY=y
> -CONFIG_FEC_MXC_SHARE_MDIO=y
> -CONFIG_FEC_MXC_MDIO_BASE=0x020b4000
>  CONFIG_FEC_MXC=y
>  CONFIG_MII=y
>  CONFIG_PINCTRL=y
> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> index 347fe8aa425f..82e51b098ae0 100644
> --- a/drivers/net/Kconfig
> +++ b/drivers/net/Kconfig
> @@ -326,17 +326,6 @@ config ETHOC
>         help
>           This MAC is present in OpenRISC and Xtensa XTFPGA boards.
>
> -config FEC_MXC_SHARE_MDIO
> -       bool "Share the MDIO bus for FEC controller"
> -       depends on FEC_MXC
> -
> -config FEC_MXC_MDIO_BASE
> -       hex "MDIO base address for the FEC controller"
> -       depends on FEC_MXC_SHARE_MDIO
> -       help
> -         This specifies the MDIO registers base address. It is used when
> -         two FEC controllers share MDIO bus.
> -
>  config FEC_MXC
>         bool "FEC Ethernet controller"
>         depends on MX28 || MX5 || MX6 || MX7 || IMX8 || IMX8M || IMX8ULP || VF610
> diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
> index a623a5c45e4d..1add6fb91f53 100644
> --- a/drivers/net/fec_mxc.c
> +++ b/drivers/net/fec_mxc.c
> @@ -1233,12 +1233,7 @@ static int fecmxc_probe(struct udevice *dev)
>
>         if (!bus) {
>                 dm_mii_bus = false;
> -#ifdef CONFIG_FEC_MXC_MDIO_BASE
> -               bus = fec_get_miibus((ulong)CONFIG_FEC_MXC_MDIO_BASE,
> -                                    dev_seq(dev));
> -#else
>                 bus = fec_get_miibus((ulong)priv->eth, dev_seq(dev));
> -#endif
>         }
>         if (!bus) {
>                 ret = -ENOMEM;
> --
> 2.17.1
>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
diff mbox series

Patch

diff --git a/configs/apalis-imx8_defconfig b/configs/apalis-imx8_defconfig
index beb20f6e1c01..bd8e7f01e493 100644
--- a/configs/apalis-imx8_defconfig
+++ b/configs/apalis-imx8_defconfig
@@ -56,8 +56,6 @@  CONFIG_PHY_ADDR_ENABLE=y
 CONFIG_PHY_MICREL=y
 CONFIG_PHY_MICREL_KSZ90X1=y
 CONFIG_DM_ETH=y
-CONFIG_FEC_MXC_SHARE_MDIO=y
-CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
diff --git a/configs/cgtqmx8_defconfig b/configs/cgtqmx8_defconfig
index 2cf882f826ab..fe62b639bd88 100644
--- a/configs/cgtqmx8_defconfig
+++ b/configs/cgtqmx8_defconfig
@@ -72,8 +72,6 @@  CONFIG_PHY_ADDR_ENABLE=y
 CONFIG_PHY_ATHEROS=y
 CONFIG_DM_ETH=y
 CONFIG_PHY_GIGE=y
-CONFIG_FEC_MXC_SHARE_MDIO=y
-CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
diff --git a/configs/colibri-imx8x_defconfig b/configs/colibri-imx8x_defconfig
index 0c9d6b64c1b6..03e899f51fed 100644
--- a/configs/colibri-imx8x_defconfig
+++ b/configs/colibri-imx8x_defconfig
@@ -54,8 +54,6 @@  CONFIG_PHYLIB=y
 CONFIG_PHY_ADDR_ENABLE=y
 CONFIG_PHY_MICREL=y
 CONFIG_DM_ETH=y
-CONFIG_FEC_MXC_SHARE_MDIO=y
-CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
diff --git a/configs/deneb_defconfig b/configs/deneb_defconfig
index 425fff6c70a6..d0fc11a774f8 100644
--- a/configs/deneb_defconfig
+++ b/configs/deneb_defconfig
@@ -94,8 +94,6 @@  CONFIG_MV88E61XX_CPU_PORT=5
 CONFIG_MV88E61XX_PHY_PORTS=0x7
 CONFIG_MV88E61XX_FIXED_PORTS=0x0
 CONFIG_DM_ETH=y
-CONFIG_FEC_MXC_SHARE_MDIO=y
-CONFIG_FEC_MXC_MDIO_BASE=0x5B050000
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
diff --git a/configs/giedi_defconfig b/configs/giedi_defconfig
index 4fbf7ebdcd95..24bc621cf184 100644
--- a/configs/giedi_defconfig
+++ b/configs/giedi_defconfig
@@ -94,8 +94,6 @@  CONFIG_MV88E61XX_CPU_PORT=5
 CONFIG_MV88E61XX_PHY_PORTS=0x7
 CONFIG_MV88E61XX_FIXED_PORTS=0x0
 CONFIG_DM_ETH=y
-CONFIG_FEC_MXC_SHARE_MDIO=y
-CONFIG_FEC_MXC_MDIO_BASE=0x5B050000
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
diff --git a/configs/imx8qm_mek_defconfig b/configs/imx8qm_mek_defconfig
index 2e42872f843d..448a20c7afd1 100644
--- a/configs/imx8qm_mek_defconfig
+++ b/configs/imx8qm_mek_defconfig
@@ -73,8 +73,6 @@  CONFIG_PHY_ADDR_ENABLE=y
 CONFIG_PHY_ATHEROS=y
 CONFIG_DM_ETH=y
 CONFIG_PHY_GIGE=y
-CONFIG_FEC_MXC_SHARE_MDIO=y
-CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
diff --git a/configs/imx8qm_rom7720_a1_4G_defconfig b/configs/imx8qm_rom7720_a1_4G_defconfig
index d9997cfa8280..0a8de612ea32 100644
--- a/configs/imx8qm_rom7720_a1_4G_defconfig
+++ b/configs/imx8qm_rom7720_a1_4G_defconfig
@@ -68,8 +68,6 @@  CONFIG_PHY_ADDR_ENABLE=y
 CONFIG_PHY_ATHEROS=y
 CONFIG_DM_ETH=y
 CONFIG_PHY_GIGE=y
-CONFIG_FEC_MXC_SHARE_MDIO=y
-CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
diff --git a/configs/imx8qxp_mek_defconfig b/configs/imx8qxp_mek_defconfig
index 43f42f7a58af..e4a3c4b103e6 100644
--- a/configs/imx8qxp_mek_defconfig
+++ b/configs/imx8qxp_mek_defconfig
@@ -74,8 +74,6 @@  CONFIG_PHY_ADDR_ENABLE=y
 CONFIG_PHY_ATHEROS=y
 CONFIG_DM_ETH=y
 CONFIG_PHY_GIGE=y
-CONFIG_FEC_MXC_SHARE_MDIO=y
-CONFIG_FEC_MXC_MDIO_BASE=0x5B040000
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
diff --git a/configs/o4-imx6ull-nano_defconfig b/configs/o4-imx6ull-nano_defconfig
index 27a82b116304..216b4ef8a261 100644
--- a/configs/o4-imx6ull-nano_defconfig
+++ b/configs/o4-imx6ull-nano_defconfig
@@ -45,8 +45,6 @@  CONFIG_PHYLIB=y
 CONFIG_PHY_SMSC=y
 CONFIG_DM_ETH=y
 CONFIG_DM_ETH_PHY=y
-CONFIG_FEC_MXC_SHARE_MDIO=y
-CONFIG_FEC_MXC_MDIO_BASE=0x020b4000
 CONFIG_FEC_MXC=y
 CONFIG_MII=y
 CONFIG_PINCTRL=y
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 347fe8aa425f..82e51b098ae0 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -326,17 +326,6 @@  config ETHOC
 	help
 	  This MAC is present in OpenRISC and Xtensa XTFPGA boards.
 
-config FEC_MXC_SHARE_MDIO
-	bool "Share the MDIO bus for FEC controller"
-	depends on FEC_MXC
-
-config FEC_MXC_MDIO_BASE
-	hex "MDIO base address for the FEC controller"
-	depends on FEC_MXC_SHARE_MDIO
-	help
-	  This specifies the MDIO registers base address. It is used when
-	  two FEC controllers share MDIO bus.
-
 config FEC_MXC
 	bool "FEC Ethernet controller"
 	depends on MX28 || MX5 || MX6 || MX7 || IMX8 || IMX8M || IMX8ULP || VF610
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index a623a5c45e4d..1add6fb91f53 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -1233,12 +1233,7 @@  static int fecmxc_probe(struct udevice *dev)
 
 	if (!bus) {
 		dm_mii_bus = false;
-#ifdef CONFIG_FEC_MXC_MDIO_BASE
-		bus = fec_get_miibus((ulong)CONFIG_FEC_MXC_MDIO_BASE,
-				     dev_seq(dev));
-#else
 		bus = fec_get_miibus((ulong)priv->eth, dev_seq(dev));
-#endif
 	}
 	if (!bus) {
 		ret = -ENOMEM;