]> www.infradead.org Git - users/hch/configfs.git/commitdiff
net: stmmac: qcom-ethqos: add support for 2.5G BASEX mode
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Wed, 3 Jul 2024 18:14:58 +0000 (20:14 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 9 Jul 2024 03:23:55 +0000 (20:23 -0700)
Add support for 2.5G speed in 2500BASEX mode to the QCom ethqos driver.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20240703181500.28491-2-brgl@bgdev.pl
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c

index e8a1701cdb7cca0cbd71e8d938677d9f6fb5c885..3de4140fb41e5196f3d257b7cc0fe2898f36c702 100644 (file)
@@ -665,6 +665,14 @@ static int ethqos_configure_sgmii(struct qcom_ethqos *ethqos)
        return val;
 }
 
+static void qcom_ethqos_speed_mode_2500(struct net_device *ndev, void *data)
+{
+       struct stmmac_priv *priv = netdev_priv(ndev);
+
+       priv->plat->max_speed = 2500;
+       priv->plat->phy_interface = PHY_INTERFACE_MODE_2500BASEX;
+}
+
 static int ethqos_configure(struct qcom_ethqos *ethqos)
 {
        return ethqos->configure_func(ethqos);
@@ -787,6 +795,9 @@ static int qcom_ethqos_probe(struct platform_device *pdev)
        case PHY_INTERFACE_MODE_RGMII_TXID:
                ethqos->configure_func = ethqos_configure_rgmii;
                break;
+       case PHY_INTERFACE_MODE_2500BASEX:
+               plat_dat->speed_mode_2500 = qcom_ethqos_speed_mode_2500;
+               fallthrough;
        case PHY_INTERFACE_MODE_SGMII:
                ethqos->configure_func = ethqos_configure_sgmii;
                break;