net: mvneta: Use DM MDIO API for connecting PHY
authorMarek Behún <marek.behun@nic.cz>
Wed, 27 Apr 2022 10:41:46 +0000 (12:41 +0200)
committerStefan Roese <sr@denx.de>
Wed, 4 May 2022 05:05:51 +0000 (07:05 +0200)
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>
15 files changed:
configs/clearfog_defconfig
configs/controlcenterdc_defconfig
configs/db-88f6820-amc_defconfig
configs/db-88f6820-gp_defconfig
configs/db-mv784mp-gp_defconfig
configs/ds414_defconfig
configs/helios4_defconfig
configs/maxbcm_defconfig
configs/mvebu_espressobin-88f3720_defconfig
configs/theadorable_debug_defconfig
configs/turris_mox_defconfig
configs/turris_omnia_defconfig
configs/uDPU_defconfig
drivers/net/Kconfig
drivers/net/mvneta.c

index 1e9c389..a7b6508 100644 (file)
@@ -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
index d4b966b..df38b2c 100644 (file)
@@ -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
index 46c822f..9b77b4a 100644 (file)
@@ -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
index 2dcbc2f..f56d1fb 100644 (file)
@@ -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
index f19cc54..5683f11 100644 (file)
@@ -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
index a3279c1..a83fe07 100644 (file)
@@ -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
index 7d812e8..c2130ba 100644 (file)
@@ -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
index 8dd6adf..40f79d4 100644 (file)
@@ -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
index ff05630..af30f1b 100644 (file)
@@ -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
index 86129e7..9a03a0a 100644 (file)
@@ -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
index 9a76a11..bcd3699 100644 (file)
@@ -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
index 5591c97..5e4f094 100644 (file)
@@ -85,6 +85,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
index c07bad5..f2852ad 100644 (file)
@@ -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
index da56326..7fe0e00 100644 (file)
@@ -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
index 79cdb93..24a491d 100644 (file)
@@ -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);