phy: ti: gmii-sel: Add support for SGMII mode
Add support to configure the CPSW MAC's PHY in SGMII mode if the SoC supports it. The extra_modes member of the phy_gmii_sel_soc_data struct corresponding to the SoC is used to determine whether or not the SoC supports SGMII mode. Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Reviewed-by: Roger Quadros <rogerq@kernel.org> Link: https://lore.kernel.org/r/20230309063514.398705-2-s-vadapalli@ti.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
1541fbaca0
commit
6a30118842
@ -23,6 +23,7 @@
|
|||||||
#define AM33XX_GMII_SEL_MODE_RGMII 2
|
#define AM33XX_GMII_SEL_MODE_RGMII 2
|
||||||
|
|
||||||
/* J72xx SoC specific definitions for the CONTROL port */
|
/* J72xx SoC specific definitions for the CONTROL port */
|
||||||
|
#define J72XX_GMII_SEL_MODE_SGMII 3
|
||||||
#define J72XX_GMII_SEL_MODE_QSGMII 4
|
#define J72XX_GMII_SEL_MODE_QSGMII 4
|
||||||
#define J72XX_GMII_SEL_MODE_QSGMII_SUB 6
|
#define J72XX_GMII_SEL_MODE_QSGMII_SUB 6
|
||||||
|
|
||||||
@ -106,6 +107,13 @@ static int phy_gmii_sel_mode(struct phy *phy, enum phy_mode mode, int submode)
|
|||||||
gmii_sel_mode = J72XX_GMII_SEL_MODE_QSGMII_SUB;
|
gmii_sel_mode = J72XX_GMII_SEL_MODE_QSGMII_SUB;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case PHY_INTERFACE_MODE_SGMII:
|
||||||
|
if (!(soc_data->extra_modes & BIT(PHY_INTERFACE_MODE_SGMII)))
|
||||||
|
goto unsupported;
|
||||||
|
else
|
||||||
|
gmii_sel_mode = J72XX_GMII_SEL_MODE_SGMII;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
goto unsupported;
|
goto unsupported;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user