net: mvneta: Use DM MDIO API for connecting PHY

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: Ramon Fried <rfried.dev@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
Marek Behún 2022-04-27 12:41:46 +02:00 committed by Stefan Roese
parent 47f0e8e21a
commit da84e409df
15 changed files with 19 additions and 6 deletions

View File

@ -62,6 +62,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MII=y CONFIG_MII=y
CONFIG_MVMDIO=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_MVEBU=y CONFIG_PCI_MVEBU=y
CONFIG_SCSI=y CONFIG_SCSI=y

View File

@ -77,6 +77,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MII=y CONFIG_MII=y
CONFIG_MVMDIO=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_DM_PCI_COMPAT=y CONFIG_DM_PCI_COMPAT=y
CONFIG_PCI_MVEBU=y CONFIG_PCI_MVEBU=y

View File

@ -67,6 +67,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MII=y CONFIG_MII=y
CONFIG_MVMDIO=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_MVEBU=y CONFIG_PCI_MVEBU=y
CONFIG_DEBUG_UART_SHIFT=2 CONFIG_DEBUG_UART_SHIFT=2

View File

@ -62,6 +62,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MII=y CONFIG_MII=y
CONFIG_MVMDIO=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_MVEBU=y CONFIG_PCI_MVEBU=y
CONFIG_SCSI=y CONFIG_SCSI=y

View File

@ -65,6 +65,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MII=y CONFIG_MII=y
CONFIG_MVMDIO=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_MVEBU=y CONFIG_PCI_MVEBU=y
CONFIG_DEBUG_UART_SHIFT=2 CONFIG_DEBUG_UART_SHIFT=2

View File

@ -65,6 +65,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MII=y CONFIG_MII=y
CONFIG_MVMDIO=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_MVEBU=y CONFIG_PCI_MVEBU=y
CONFIG_DEBUG_UART_SHIFT=2 CONFIG_DEBUG_UART_SHIFT=2

View File

@ -63,6 +63,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MII=y CONFIG_MII=y
CONFIG_MVMDIO=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_MVEBU=y CONFIG_PCI_MVEBU=y
CONFIG_SCSI=y CONFIG_SCSI=y

View File

@ -47,6 +47,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MII=y CONFIG_MII=y
CONFIG_MVMDIO=y
CONFIG_DEBUG_UART_SHIFT=2 CONFIG_DEBUG_UART_SHIFT=2
CONFIG_SYS_NS16550=y CONFIG_SYS_NS16550=y
CONFIG_KIRKWOOD_SPI=y CONFIG_KIRKWOOD_SPI=y

View File

@ -76,6 +76,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_E1000=y CONFIG_E1000=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MVMDIO=y
CONFIG_NVME_PCI=y CONFIG_NVME_PCI=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_AARDVARK=y CONFIG_PCI_AARDVARK=y

View File

@ -70,6 +70,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MII=y CONFIG_MII=y
CONFIG_MVMDIO=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_DM_PCI_COMPAT=y CONFIG_DM_PCI_COMPAT=y
CONFIG_PCI_MVEBU=y CONFIG_PCI_MVEBU=y

View File

@ -82,6 +82,7 @@ CONFIG_SPI_FLASH_MTD=y
CONFIG_PHY_MARVELL=y CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MVMDIO=y
CONFIG_NVME_PCI=y CONFIG_NVME_PCI=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_AARDVARK=y CONFIG_PCI_AARDVARK=y

View File

@ -85,6 +85,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MII=y CONFIG_MII=y
CONFIG_MVMDIO=y
CONFIG_NVME_PCI=y CONFIG_NVME_PCI=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_MVEBU=y CONFIG_PCI_MVEBU=y

View File

@ -73,6 +73,7 @@ CONFIG_PHY_MARVELL=y
CONFIG_PHY_GIGE=y CONFIG_PHY_GIGE=y
CONFIG_E1000=y CONFIG_E1000=y
CONFIG_MVNETA=y CONFIG_MVNETA=y
CONFIG_MVMDIO=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_PCI_AARDVARK=y CONFIG_PCI_AARDVARK=y
CONFIG_PHY=y CONFIG_PHY=y

View File

@ -445,6 +445,7 @@ config MVNETA
bool "Marvell Armada XP/385/3700 network interface support" bool "Marvell Armada XP/385/3700 network interface support"
depends on ARMADA_XP || ARMADA_38X || ARMADA_3700 depends on ARMADA_XP || ARMADA_38X || ARMADA_3700
select PHYLIB select PHYLIB
select DM_MDIO
help help
This driver supports the network interface units in the This driver supports the network interface units in the
Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs Marvell ARMADA XP, ARMADA 38X and ARMADA 3700 SoCs

View File

@ -1571,16 +1571,15 @@ static int mvneta_start(struct udevice *dev)
mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val);
} else { } else {
/* Set phy address of the port */ phydev = dm_eth_phy_connect(dev);
mvreg_write(pp, MVNETA_PHY_ADDR, pp->phyaddr);
phydev = phy_connect(pp->bus, pp->phyaddr, dev,
pp->phy_interface);
if (!phydev) { if (!phydev) {
printf("phy_connect failed\n"); printf("dm_eth_phy_connect failed\n");
return -ENODEV; return -ENODEV;
} }
/* Set PHY address in case we will enable HW polling */
mvreg_write(pp, MVNETA_PHY_ADDR, phydev->addr);
pp->phydev = phydev; pp->phydev = phydev;
phy_config(phydev); phy_config(phydev);
phy_startup(phydev); phy_startup(phydev);