From 29003429617945250e2cafed985f8221d4b46832 Mon Sep 17 00:00:00 2001 From: Stefan Herbrechtsmeier Date: Wed, 22 Mar 2023 09:42:47 +0100 Subject: [PATCH] net: phy: gmii2rgmii: Support external rgmii-id phy Read the phy mode of the external phy from the device tree if available and check that it is a RGMII variant. Signed-off-by: Stefan Herbrechtsmeier --- drivers/net/phy/xilinx_gmii2rgmii.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/phy/xilinx_gmii2rgmii.c b/drivers/net/phy/xilinx_gmii2rgmii.c index 0b7436a7e1..e2969bc484 100644 --- a/drivers/net/phy/xilinx_gmii2rgmii.c +++ b/drivers/net/phy/xilinx_gmii2rgmii.c @@ -48,7 +48,14 @@ static int xilinxgmiitorgmii_config(struct phy_device *phydev) return -EINVAL; } - ext_phydev->interface = PHY_INTERFACE_MODE_RGMII; + ext_phydev->interface = ofnode_read_phy_mode(node); + if (ext_phydev->interface == PHY_INTERFACE_MODE_NA) { + ext_phydev->interface = PHY_INTERFACE_MODE_RGMII; + } else if (!phy_interface_is_rgmii(ext_phydev)) { + printf("Incorrect external interface type\n"); + return -EINVAL; + } + ext_phydev->node = phandle.node; phydev->priv = ext_phydev; -- 2.39.5