Message ID | 20220427104202.1205-4-kabel@kernel.org |
---|---|
State | Accepted |
Commit | da84e409df150fa366609d5f5bede6f65326c405 |
Delegated to: | Stefan Roese |
Headers | show |
Series | some mvneta changes, cleanups, fixes | expand |
On Wed, Apr 27, 2022 at 1:42 PM Marek Behún <kabel@kernel.org> wrote: > > From: Marek Behún <marek.behun@nic.cz> > > Use the modern DM MDIO API for connecting PHY in the mvneta driver. > > This requires enabling MVMDIO driver in several config files. > > Signed-off-by: Marek Behún <marek.behun@nic.cz> > --- > configs/clearfog_defconfig | 1 + > configs/controlcenterdc_defconfig | 1 + > configs/db-88f6820-amc_defconfig | 1 + > configs/db-88f6820-gp_defconfig | 1 + > configs/db-mv784mp-gp_defconfig | 1 + > configs/ds414_defconfig | 1 + > configs/helios4_defconfig | 1 + > configs/maxbcm_defconfig | 1 + > configs/mvebu_espressobin-88f3720_defconfig | 1 + > configs/theadorable_debug_defconfig | 1 + > configs/turris_mox_defconfig | 1 + > configs/turris_omnia_defconfig | 1 + > configs/uDPU_defconfig | 1 + > drivers/net/Kconfig | 1 + > drivers/net/mvneta.c | 11 +++++------ > 15 files changed, 19 insertions(+), 6 deletions(-) > > diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig > index 880f16a6e0..b8f59d2962 100644 > --- a/configs/clearfog_defconfig > +++ b/configs/clearfog_defconfig > @@ -63,6 +63,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_SCSI=y > diff --git a/configs/controlcenterdc_defconfig b/configs/controlcenterdc_defconfig > index d4b966b93f..df38b2c54f 100644 > --- a/configs/controlcenterdc_defconfig > +++ b/configs/controlcenterdc_defconfig > @@ -77,6 +77,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_DM_PCI_COMPAT=y > CONFIG_PCI_MVEBU=y > diff --git a/configs/db-88f6820-amc_defconfig b/configs/db-88f6820-amc_defconfig > index 46c822fccd..9b77b4a5f0 100644 > --- a/configs/db-88f6820-amc_defconfig > +++ b/configs/db-88f6820-amc_defconfig > @@ -67,6 +67,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_DEBUG_UART_SHIFT=2 > diff --git a/configs/db-88f6820-gp_defconfig b/configs/db-88f6820-gp_defconfig > index 2dcbc2f29a..f56d1fbf25 100644 > --- a/configs/db-88f6820-gp_defconfig > +++ b/configs/db-88f6820-gp_defconfig > @@ -62,6 +62,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_SCSI=y > diff --git a/configs/db-mv784mp-gp_defconfig b/configs/db-mv784mp-gp_defconfig > index f19cc54975..5683f11836 100644 > --- a/configs/db-mv784mp-gp_defconfig > +++ b/configs/db-mv784mp-gp_defconfig > @@ -65,6 +65,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_DEBUG_UART_SHIFT=2 > diff --git a/configs/ds414_defconfig b/configs/ds414_defconfig > index a3279c15c5..a83fe079b3 100644 > --- a/configs/ds414_defconfig > +++ b/configs/ds414_defconfig > @@ -65,6 +65,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_DEBUG_UART_SHIFT=2 > diff --git a/configs/helios4_defconfig b/configs/helios4_defconfig > index 7d812e8fab..c2130bacb4 100644 > --- a/configs/helios4_defconfig > +++ b/configs/helios4_defconfig > @@ -63,6 +63,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_SCSI=y > diff --git a/configs/maxbcm_defconfig b/configs/maxbcm_defconfig > index 8dd6adf247..40f79d47ea 100644 > --- a/configs/maxbcm_defconfig > +++ b/configs/maxbcm_defconfig > @@ -47,6 +47,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_DEBUG_UART_SHIFT=2 > CONFIG_SYS_NS16550=y > CONFIG_KIRKWOOD_SPI=y > diff --git a/configs/mvebu_espressobin-88f3720_defconfig b/configs/mvebu_espressobin-88f3720_defconfig > index ff05630d20..af30f1b363 100644 > --- a/configs/mvebu_espressobin-88f3720_defconfig > +++ b/configs/mvebu_espressobin-88f3720_defconfig > @@ -76,6 +76,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_E1000=y > CONFIG_MVNETA=y > +CONFIG_MVMDIO=y > CONFIG_NVME_PCI=y > CONFIG_PCI=y > CONFIG_PCI_AARDVARK=y > diff --git a/configs/theadorable_debug_defconfig b/configs/theadorable_debug_defconfig > index 86129e7d2d..9a03a0a7a3 100644 > --- a/configs/theadorable_debug_defconfig > +++ b/configs/theadorable_debug_defconfig > @@ -70,6 +70,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_DM_PCI_COMPAT=y > CONFIG_PCI_MVEBU=y > diff --git a/configs/turris_mox_defconfig b/configs/turris_mox_defconfig > index 9a76a118c2..bcd3699a4f 100644 > --- a/configs/turris_mox_defconfig > +++ b/configs/turris_mox_defconfig > @@ -82,6 +82,7 @@ CONFIG_SPI_FLASH_MTD=y > CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > +CONFIG_MVMDIO=y > CONFIG_NVME_PCI=y > CONFIG_PCI=y > CONFIG_PCI_AARDVARK=y > diff --git a/configs/turris_omnia_defconfig b/configs/turris_omnia_defconfig > index ad56d3824b..6b218bd7a7 100644 > --- a/configs/turris_omnia_defconfig > +++ b/configs/turris_omnia_defconfig > @@ -82,6 +82,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_NVME_PCI=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > diff --git a/configs/uDPU_defconfig b/configs/uDPU_defconfig > index c07bad5076..f2852ad29b 100644 > --- a/configs/uDPU_defconfig > +++ b/configs/uDPU_defconfig > @@ -73,6 +73,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_E1000=y > CONFIG_MVNETA=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_AARDVARK=y > CONFIG_PHY=y > diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig > index 347fe8aa42..47f7a262f2 100644 > --- a/drivers/net/Kconfig > +++ b/drivers/net/Kconfig > @@ -445,6 +445,7 @@ config MVNETA > bool "Marvell Armada XP/385/3700 network interface support" > depends on ARMADA_XP || ARMADA_38X || ARMADA_3700 > select PHYLIB > + select DM_MDIO > help > This driver supports the network interface units in the > Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs > diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c > index 79cdb93341..24a491dcde 100644 > --- a/drivers/net/mvneta.c > +++ b/drivers/net/mvneta.c > @@ -1571,16 +1571,15 @@ static int mvneta_start(struct udevice *dev) > > mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); > } else { > - /* Set phy address of the port */ > - mvreg_write(pp, MVNETA_PHY_ADDR, pp->phyaddr); > - > - phydev = phy_connect(pp->bus, pp->phyaddr, dev, > - pp->phy_interface); > + phydev = dm_eth_phy_connect(dev); > if (!phydev) { > - printf("phy_connect failed\n"); > + printf("dm_eth_phy_connect failed\n"); > return -ENODEV; > } > > + /* Set PHY address in case we will enable HW polling */ > + mvreg_write(pp, MVNETA_PHY_ADDR, phydev->addr); > + > pp->phydev = phydev; > phy_config(phydev); > phy_startup(phydev); > -- > 2.35.1 > Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
On 27.04.22 12:41, Marek Behún wrote: > From: Marek Behún <marek.behun@nic.cz> > > Use the modern DM MDIO API for connecting PHY in the mvneta driver. > > This requires enabling MVMDIO driver in several config files. > > Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de> Thanks, Stefan > --- > configs/clearfog_defconfig | 1 + > configs/controlcenterdc_defconfig | 1 + > configs/db-88f6820-amc_defconfig | 1 + > configs/db-88f6820-gp_defconfig | 1 + > configs/db-mv784mp-gp_defconfig | 1 + > configs/ds414_defconfig | 1 + > configs/helios4_defconfig | 1 + > configs/maxbcm_defconfig | 1 + > configs/mvebu_espressobin-88f3720_defconfig | 1 + > configs/theadorable_debug_defconfig | 1 + > configs/turris_mox_defconfig | 1 + > configs/turris_omnia_defconfig | 1 + > configs/uDPU_defconfig | 1 + > drivers/net/Kconfig | 1 + > drivers/net/mvneta.c | 11 +++++------ > 15 files changed, 19 insertions(+), 6 deletions(-) > > diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig > index 880f16a6e0..b8f59d2962 100644 > --- a/configs/clearfog_defconfig > +++ b/configs/clearfog_defconfig > @@ -63,6 +63,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_SCSI=y > diff --git a/configs/controlcenterdc_defconfig b/configs/controlcenterdc_defconfig > index d4b966b93f..df38b2c54f 100644 > --- a/configs/controlcenterdc_defconfig > +++ b/configs/controlcenterdc_defconfig > @@ -77,6 +77,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_DM_PCI_COMPAT=y > CONFIG_PCI_MVEBU=y > diff --git a/configs/db-88f6820-amc_defconfig b/configs/db-88f6820-amc_defconfig > index 46c822fccd..9b77b4a5f0 100644 > --- a/configs/db-88f6820-amc_defconfig > +++ b/configs/db-88f6820-amc_defconfig > @@ -67,6 +67,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_DEBUG_UART_SHIFT=2 > diff --git a/configs/db-88f6820-gp_defconfig b/configs/db-88f6820-gp_defconfig > index 2dcbc2f29a..f56d1fbf25 100644 > --- a/configs/db-88f6820-gp_defconfig > +++ b/configs/db-88f6820-gp_defconfig > @@ -62,6 +62,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_SCSI=y > diff --git a/configs/db-mv784mp-gp_defconfig b/configs/db-mv784mp-gp_defconfig > index f19cc54975..5683f11836 100644 > --- a/configs/db-mv784mp-gp_defconfig > +++ b/configs/db-mv784mp-gp_defconfig > @@ -65,6 +65,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_DEBUG_UART_SHIFT=2 > diff --git a/configs/ds414_defconfig b/configs/ds414_defconfig > index a3279c15c5..a83fe079b3 100644 > --- a/configs/ds414_defconfig > +++ b/configs/ds414_defconfig > @@ -65,6 +65,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_DEBUG_UART_SHIFT=2 > diff --git a/configs/helios4_defconfig b/configs/helios4_defconfig > index 7d812e8fab..c2130bacb4 100644 > --- a/configs/helios4_defconfig > +++ b/configs/helios4_defconfig > @@ -63,6 +63,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > CONFIG_SCSI=y > diff --git a/configs/maxbcm_defconfig b/configs/maxbcm_defconfig > index 8dd6adf247..40f79d47ea 100644 > --- a/configs/maxbcm_defconfig > +++ b/configs/maxbcm_defconfig > @@ -47,6 +47,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_DEBUG_UART_SHIFT=2 > CONFIG_SYS_NS16550=y > CONFIG_KIRKWOOD_SPI=y > diff --git a/configs/mvebu_espressobin-88f3720_defconfig b/configs/mvebu_espressobin-88f3720_defconfig > index ff05630d20..af30f1b363 100644 > --- a/configs/mvebu_espressobin-88f3720_defconfig > +++ b/configs/mvebu_espressobin-88f3720_defconfig > @@ -76,6 +76,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_E1000=y > CONFIG_MVNETA=y > +CONFIG_MVMDIO=y > CONFIG_NVME_PCI=y > CONFIG_PCI=y > CONFIG_PCI_AARDVARK=y > diff --git a/configs/theadorable_debug_defconfig b/configs/theadorable_debug_defconfig > index 86129e7d2d..9a03a0a7a3 100644 > --- a/configs/theadorable_debug_defconfig > +++ b/configs/theadorable_debug_defconfig > @@ -70,6 +70,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_DM_PCI_COMPAT=y > CONFIG_PCI_MVEBU=y > diff --git a/configs/turris_mox_defconfig b/configs/turris_mox_defconfig > index 9a76a118c2..bcd3699a4f 100644 > --- a/configs/turris_mox_defconfig > +++ b/configs/turris_mox_defconfig > @@ -82,6 +82,7 @@ CONFIG_SPI_FLASH_MTD=y > CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > +CONFIG_MVMDIO=y > CONFIG_NVME_PCI=y > CONFIG_PCI=y > CONFIG_PCI_AARDVARK=y > diff --git a/configs/turris_omnia_defconfig b/configs/turris_omnia_defconfig > index ad56d3824b..6b218bd7a7 100644 > --- a/configs/turris_omnia_defconfig > +++ b/configs/turris_omnia_defconfig > @@ -82,6 +82,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_MVNETA=y > CONFIG_MII=y > +CONFIG_MVMDIO=y > CONFIG_NVME_PCI=y > CONFIG_PCI=y > CONFIG_PCI_MVEBU=y > diff --git a/configs/uDPU_defconfig b/configs/uDPU_defconfig > index c07bad5076..f2852ad29b 100644 > --- a/configs/uDPU_defconfig > +++ b/configs/uDPU_defconfig > @@ -73,6 +73,7 @@ CONFIG_PHY_MARVELL=y > CONFIG_PHY_GIGE=y > CONFIG_E1000=y > CONFIG_MVNETA=y > +CONFIG_MVMDIO=y > CONFIG_PCI=y > CONFIG_PCI_AARDVARK=y > CONFIG_PHY=y > diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig > index 347fe8aa42..47f7a262f2 100644 > --- a/drivers/net/Kconfig > +++ b/drivers/net/Kconfig > @@ -445,6 +445,7 @@ config MVNETA > bool "Marvell Armada XP/385/3700 network interface support" > depends on ARMADA_XP || ARMADA_38X || ARMADA_3700 > select PHYLIB > + select DM_MDIO > help > This driver supports the network interface units in the > Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs > diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c > index 79cdb93341..24a491dcde 100644 > --- a/drivers/net/mvneta.c > +++ b/drivers/net/mvneta.c > @@ -1571,16 +1571,15 @@ static int mvneta_start(struct udevice *dev) > > mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); > } else { > - /* Set phy address of the port */ > - mvreg_write(pp, MVNETA_PHY_ADDR, pp->phyaddr); > - > - phydev = phy_connect(pp->bus, pp->phyaddr, dev, > - pp->phy_interface); > + phydev = dm_eth_phy_connect(dev); > if (!phydev) { > - printf("phy_connect failed\n"); > + printf("dm_eth_phy_connect failed\n"); > return -ENODEV; > } > > + /* Set PHY address in case we will enable HW polling */ > + mvreg_write(pp, MVNETA_PHY_ADDR, phydev->addr); > + > pp->phydev = phydev; > phy_config(phydev); > phy_startup(phydev); Viele Grüße, Stefan Roese
diff --git a/configs/clearfog_defconfig b/configs/clearfog_defconfig index 880f16a6e0..b8f59d2962 100644 --- a/configs/clearfog_defconfig +++ b/configs/clearfog_defconfig @@ -63,6 +63,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y CONFIG_MII=y +CONFIG_MVMDIO=y CONFIG_PCI=y CONFIG_PCI_MVEBU=y CONFIG_SCSI=y diff --git a/configs/controlcenterdc_defconfig b/configs/controlcenterdc_defconfig index d4b966b93f..df38b2c54f 100644 --- a/configs/controlcenterdc_defconfig +++ b/configs/controlcenterdc_defconfig @@ -77,6 +77,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y CONFIG_MII=y +CONFIG_MVMDIO=y CONFIG_PCI=y CONFIG_DM_PCI_COMPAT=y CONFIG_PCI_MVEBU=y diff --git a/configs/db-88f6820-amc_defconfig b/configs/db-88f6820-amc_defconfig index 46c822fccd..9b77b4a5f0 100644 --- a/configs/db-88f6820-amc_defconfig +++ b/configs/db-88f6820-amc_defconfig @@ -67,6 +67,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y CONFIG_MII=y +CONFIG_MVMDIO=y CONFIG_PCI=y CONFIG_PCI_MVEBU=y CONFIG_DEBUG_UART_SHIFT=2 diff --git a/configs/db-88f6820-gp_defconfig b/configs/db-88f6820-gp_defconfig index 2dcbc2f29a..f56d1fbf25 100644 --- a/configs/db-88f6820-gp_defconfig +++ b/configs/db-88f6820-gp_defconfig @@ -62,6 +62,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y CONFIG_MII=y +CONFIG_MVMDIO=y CONFIG_PCI=y CONFIG_PCI_MVEBU=y CONFIG_SCSI=y diff --git a/configs/db-mv784mp-gp_defconfig b/configs/db-mv784mp-gp_defconfig index f19cc54975..5683f11836 100644 --- a/configs/db-mv784mp-gp_defconfig +++ b/configs/db-mv784mp-gp_defconfig @@ -65,6 +65,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y CONFIG_MII=y +CONFIG_MVMDIO=y CONFIG_PCI=y CONFIG_PCI_MVEBU=y CONFIG_DEBUG_UART_SHIFT=2 diff --git a/configs/ds414_defconfig b/configs/ds414_defconfig index a3279c15c5..a83fe079b3 100644 --- a/configs/ds414_defconfig +++ b/configs/ds414_defconfig @@ -65,6 +65,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y CONFIG_MII=y +CONFIG_MVMDIO=y CONFIG_PCI=y CONFIG_PCI_MVEBU=y CONFIG_DEBUG_UART_SHIFT=2 diff --git a/configs/helios4_defconfig b/configs/helios4_defconfig index 7d812e8fab..c2130bacb4 100644 --- a/configs/helios4_defconfig +++ b/configs/helios4_defconfig @@ -63,6 +63,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y CONFIG_MII=y +CONFIG_MVMDIO=y CONFIG_PCI=y CONFIG_PCI_MVEBU=y CONFIG_SCSI=y diff --git a/configs/maxbcm_defconfig b/configs/maxbcm_defconfig index 8dd6adf247..40f79d47ea 100644 --- a/configs/maxbcm_defconfig +++ b/configs/maxbcm_defconfig @@ -47,6 +47,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y CONFIG_MII=y +CONFIG_MVMDIO=y CONFIG_DEBUG_UART_SHIFT=2 CONFIG_SYS_NS16550=y CONFIG_KIRKWOOD_SPI=y diff --git a/configs/mvebu_espressobin-88f3720_defconfig b/configs/mvebu_espressobin-88f3720_defconfig index ff05630d20..af30f1b363 100644 --- a/configs/mvebu_espressobin-88f3720_defconfig +++ b/configs/mvebu_espressobin-88f3720_defconfig @@ -76,6 +76,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_E1000=y CONFIG_MVNETA=y +CONFIG_MVMDIO=y CONFIG_NVME_PCI=y CONFIG_PCI=y CONFIG_PCI_AARDVARK=y diff --git a/configs/theadorable_debug_defconfig b/configs/theadorable_debug_defconfig index 86129e7d2d..9a03a0a7a3 100644 --- a/configs/theadorable_debug_defconfig +++ b/configs/theadorable_debug_defconfig @@ -70,6 +70,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y CONFIG_MII=y +CONFIG_MVMDIO=y CONFIG_PCI=y CONFIG_DM_PCI_COMPAT=y CONFIG_PCI_MVEBU=y diff --git a/configs/turris_mox_defconfig b/configs/turris_mox_defconfig index 9a76a118c2..bcd3699a4f 100644 --- a/configs/turris_mox_defconfig +++ b/configs/turris_mox_defconfig @@ -82,6 +82,7 @@ CONFIG_SPI_FLASH_MTD=y CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y +CONFIG_MVMDIO=y CONFIG_NVME_PCI=y CONFIG_PCI=y CONFIG_PCI_AARDVARK=y diff --git a/configs/turris_omnia_defconfig b/configs/turris_omnia_defconfig index ad56d3824b..6b218bd7a7 100644 --- a/configs/turris_omnia_defconfig +++ b/configs/turris_omnia_defconfig @@ -82,6 +82,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y CONFIG_MII=y +CONFIG_MVMDIO=y CONFIG_NVME_PCI=y CONFIG_PCI=y CONFIG_PCI_MVEBU=y diff --git a/configs/uDPU_defconfig b/configs/uDPU_defconfig index c07bad5076..f2852ad29b 100644 --- a/configs/uDPU_defconfig +++ b/configs/uDPU_defconfig @@ -73,6 +73,7 @@ CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_E1000=y CONFIG_MVNETA=y +CONFIG_MVMDIO=y CONFIG_PCI=y CONFIG_PCI_AARDVARK=y CONFIG_PHY=y diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 347fe8aa42..47f7a262f2 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -445,6 +445,7 @@ config MVNETA bool "Marvell Armada XP/385/3700 network interface support" depends on ARMADA_XP || ARMADA_38X || ARMADA_3700 select PHYLIB + select DM_MDIO help This driver supports the network interface units in the Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c index 79cdb93341..24a491dcde 100644 --- a/drivers/net/mvneta.c +++ b/drivers/net/mvneta.c @@ -1571,16 +1571,15 @@ static int mvneta_start(struct udevice *dev) mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); } else { - /* Set phy address of the port */ - mvreg_write(pp, MVNETA_PHY_ADDR, pp->phyaddr); - - phydev = phy_connect(pp->bus, pp->phyaddr, dev, - pp->phy_interface); + phydev = dm_eth_phy_connect(dev); if (!phydev) { - printf("phy_connect failed\n"); + printf("dm_eth_phy_connect failed\n"); return -ENODEV; } + /* Set PHY address in case we will enable HW polling */ + mvreg_write(pp, MVNETA_PHY_ADDR, phydev->addr); + pp->phydev = phydev; phy_config(phydev); phy_startup(phydev);