diff options
author | Marek BehĂșn <marek.behun@nic.cz> | 2022-04-07 00:33:01 +0200 |
---|---|---|
committer | Ramon Fried <ramon@neureality.ai> | 2022-04-10 08:44:12 +0300 |
commit | 123ca114e07ecf28aa2538748d733e2b22d8b8b5 (patch) | |
tree | 0a5481e51e4e50b33daf4d10f37574f6f797b04f /drivers/net/fsl_enetc.c | |
parent | 9c06b4815ce1d663085c214133762614bba79fbe (diff) |
net: introduce helpers to get PHY interface mode from a device/ofnode
Add helpers ofnode_read_phy_mode() and dev_read_phy_mode() to parse the
"phy-mode" / "phy-connection-type" property. Add corresponding UT test.
Use them treewide.
This allows us to inline the phy_get_interface_by_name() into
ofnode_read_phy_mode(), since the former is not used anymore.
Signed-off-by: Marek BehĂșn <marek.behun@nic.cz>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
Tested-by: Patrice Chotard <patrice.chotard@foss.st.com>
Diffstat (limited to 'drivers/net/fsl_enetc.c')
-rw-r--r-- | drivers/net/fsl_enetc.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/net/fsl_enetc.c b/drivers/net/fsl_enetc.c index 915c7c8025..8f5af1dbc0 100644 --- a/drivers/net/fsl_enetc.c +++ b/drivers/net/fsl_enetc.c @@ -260,9 +260,6 @@ static int enetc_init_sxgmii(struct udevice *dev) static void enetc_start_pcs(struct udevice *dev) { struct enetc_priv *priv = dev_get_priv(dev); - const char *if_str; - - priv->if_type = PHY_INTERFACE_MODE_NONE; /* register internal MDIO for debug purposes */ if (enetc_read_port(priv, ENETC_PCAPR0) & ENETC_PCAPRO_MDIO) { @@ -279,14 +276,12 @@ static void enetc_start_pcs(struct udevice *dev) return; } - if_str = ofnode_read_string(dev_ofnode(dev), "phy-mode"); - if (if_str) - priv->if_type = phy_get_interface_by_name(if_str); - else + priv->if_type = dev_read_phy_mode(dev); + if (priv->if_type == PHY_INTERFACE_MODE_NONE) { enetc_dbg(dev, "phy-mode property not found, defaulting to SGMII\n"); - if (priv->if_type < 0) - priv->if_type = PHY_INTERFACE_MODE_NONE; + priv->if_type = PHY_INTERFACE_MODE_SGMII; + } switch (priv->if_type) { case PHY_INTERFACE_MODE_SGMII: |