| From bb700603e66a1294049aa479ad560443496c893b Mon Sep 17 00:00:00 2001 |
| From: Alex Marginean <alexandru.marginean@nxp.com> |
| Date: Fri, 20 Sep 2019 19:41:10 +0300 |
| Subject: [PATCH] enetc: Handle USXGMII protocol |
| |
| Adds USXGMII protocol which is now supported in Linux. XGMII is kept for |
| compatibility although there is no plain XGMII support in ENETC. |
| |
| Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com> |
| --- |
| drivers/net/ethernet/freescale/enetc/enetc_pf.c | 9 ++++++--- |
| 1 file changed, 6 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c |
| +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c |
| @@ -528,7 +528,8 @@ static void enetc_configure_port_mac(str |
| phy_mode == PHY_INTERFACE_MODE_RGMII) |
| enetc_port_wr(hw, ENETC_PM0_IF_MODE, ENETC_PM0_IFM_RGAUTO); |
| |
| - if (phy_mode == PHY_INTERFACE_MODE_XGMII) |
| + if (phy_mode == PHY_INTERFACE_MODE_XGMII || |
| + phy_mode == PHY_INTERFACE_MODE_USXGMII) |
| enetc_port_wr(hw, ENETC_PM0_IF_MODE, ENETC_PM0_IFM_XGMII); |
| } |
| |
| @@ -909,7 +910,8 @@ static int enetc_configure_serdes(struct |
| int err; |
| |
| if (priv->if_mode != PHY_INTERFACE_MODE_SGMII && |
| - priv->if_mode != PHY_INTERFACE_MODE_XGMII) |
| + priv->if_mode != PHY_INTERFACE_MODE_XGMII && |
| + priv->if_mode != PHY_INTERFACE_MODE_USXGMII) |
| return 0; |
| |
| err = enetc_imdio_init(pf); |
| @@ -919,7 +921,8 @@ static int enetc_configure_serdes(struct |
| if (priv->if_mode == PHY_INTERFACE_MODE_SGMII) |
| enetc_configure_sgmii(pf->imdio); |
| |
| - if (priv->if_mode == PHY_INTERFACE_MODE_XGMII) |
| + if (priv->if_mode == PHY_INTERFACE_MODE_XGMII || |
| + priv->if_mode == PHY_INTERFACE_MODE_USXGMII) |
| enetc_configure_sxgmii(pf->imdio); |
| |
| return 0; |