diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0232-enetc-Handle-USXGMII-protocol.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0232-enetc-Handle-USXGMII-protocol.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0232-enetc-Handle-USXGMII-protocol.patch b/target/linux/layerscape/patches-5.4/701-net-0232-enetc-Handle-USXGMII-protocol.patch new file mode 100644 index 0000000000..d1e7004546 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/701-net-0232-enetc-Handle-USXGMII-protocol.patch @@ -0,0 +1,45 @@ +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); + } + +@@ -844,7 +845,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); +@@ -854,7 +856,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; |