realtek: drop usage of proprietary HSGMII mode

The only consumers of the Realtek HSGMII (2.5G SGMII) mode were
the RTL8226/RTL8221B PHYs. These have been converted to dynamic
SGMII/2500base-x mode switching. Drop the leftovers of the mode
implementation.

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/20002
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Markus Stockhausen 2025-09-10 01:37:08 -04:00 committed by Hauke Mehrtens
parent 57b2706845
commit 61b72cb736
4 changed files with 1 additions and 32 deletions

View file

@ -348,8 +348,6 @@ static int __init rtl83xx_mdio_probe(struct rtl838x_switch_priv *priv)
if (of_get_phy_mode(dn, &interface))
interface = PHY_INTERFACE_MODE_NA;
if (interface == PHY_INTERFACE_MODE_HSGMII)
priv->ports[pn].is2G5 = true;
if (interface == PHY_INTERFACE_MODE_USXGMII)
priv->ports[pn].is2G5 = priv->ports[pn].is10G = true;
if (interface == PHY_INTERFACE_MODE_10GBASER)

View file

@ -823,12 +823,6 @@ static void rtl931x_phylink_mac_config(struct dsa_switch *ds, int port,
pr_info("%s: speed %d sds_num %d\n", __func__, state->speed, sds_num);
switch (state->interface) {
case PHY_INTERFACE_MODE_HSGMII:
pr_info("%s setting mode PHY_INTERFACE_MODE_HSGMII\n", __func__);
band = rtl931x_sds_cmu_band_get(sds_num, PHY_INTERFACE_MODE_HSGMII);
rtl931x_sds_init(sds_num, PHY_INTERFACE_MODE_HSGMII);
band = rtl931x_sds_cmu_band_set(sds_num, true, 62, PHY_INTERFACE_MODE_HSGMII);
break;
case PHY_INTERFACE_MODE_1000BASEX:
band = rtl931x_sds_cmu_band_get(sds_num, PHY_INTERFACE_MODE_1000BASEX);
rtl931x_sds_init(sds_num, PHY_INTERFACE_MODE_1000BASEX);

View file

@ -1265,9 +1265,6 @@ static int rtmdio_930x_reset(struct mii_bus *bus)
switch (priv->interfaces[i]) {
case PHY_INTERFACE_MODE_10GBASER:
break; /* Serdes: Value = 0 */
case PHY_INTERFACE_MODE_HSGMII:
private_poll_mask |= BIT(i);
fallthrough;
case PHY_INTERFACE_MODE_USXGMII:
v |= BIT(mac_type_bit[i]);
uses_usxgmii = true;

View file

@ -75,7 +75,6 @@ extern int rtmdio_931x_write_sds_phy_new(int sds, int page, int regnum, u16 val)
#define RTL930X_SDS_MODE_1000BASEX 0x04
#define RTL930X_SDS_MODE_USXGMII 0x0d
#define RTL930X_SDS_MODE_XGMII 0x10
#define RTL930X_SDS_MODE_HSGMII 0x12
#define RTL930X_SDS_MODE_2500BASEX 0x16
#define RTL930X_SDS_MODE_10GBASER 0x1a
#define RTL930X_SDS_OFF 0x1f
@ -1268,8 +1267,7 @@ static int rtsds_930x_config_pll(int sds, phy_interface_t interface)
if ((interface == PHY_INTERFACE_MODE_1000BASEX) ||
(interface == PHY_INTERFACE_MODE_SGMII))
speed = RTSDS_930X_PLL_1000;
else if ((interface == PHY_INTERFACE_MODE_2500BASEX) ||
(interface == PHY_INTERFACE_MODE_HSGMII))
else if (interface == PHY_INTERFACE_MODE_2500BASEX)
speed = RTSDS_930X_PLL_2500;
else if (interface == PHY_INTERFACE_MODE_10GBASER)
speed = RTSDS_930X_PLL_10000;
@ -1350,9 +1348,6 @@ static void rtsds_930x_force_mode(int sds, phy_interface_t interface)
case PHY_INTERFACE_MODE_SGMII:
mode = RTL930X_SDS_MODE_SGMII;
break;
case PHY_INTERFACE_MODE_HSGMII:
mode = RTL930X_SDS_MODE_HSGMII;
break;
case PHY_INTERFACE_MODE_1000BASEX:
mode = RTL930X_SDS_MODE_1000BASEX;
break;
@ -1409,7 +1404,6 @@ static void rtl9300_sds_tx_config(int sds, phy_interface_t phy_if)
post_amp = 0x1;
page = 0x25;
break;
case PHY_INTERFACE_MODE_HSGMII:
case PHY_INTERFACE_MODE_2500BASEX:
pre_amp = 0;
post_amp = 0x8;
@ -2772,7 +2766,6 @@ static int rtl931x_sds_cmu_page_get(phy_interface_t mode)
case PHY_INTERFACE_MODE_SGMII:
case PHY_INTERFACE_MODE_1000BASEX: /* MII_1000BX_FIBER / 100BX_FIBER / 1000BX100BX_AUTO */
return 0x24;
case PHY_INTERFACE_MODE_HSGMII:
case PHY_INTERFACE_MODE_2500BASEX: /* MII_2500Base_X: */
return 0x28;
/* case MII_HISGMII_5G: */
@ -2818,11 +2811,6 @@ static void rtl931x_cmu_type_set(u32 sds, phy_interface_t mode, int chiptype)
frc_cmu_spd = 0;
break;
case PHY_INTERFACE_MODE_HSGMII:
cmu_type = 1;
frc_cmu_spd = 1;
break;
case PHY_INTERFACE_MODE_1000BASEX:
cmu_type = 1;
frc_cmu_spd = 0;
@ -2927,9 +2915,6 @@ static void rtl931x_sds_mii_mode_set(u32 sds, phy_interface_t mode)
case PHY_INTERFACE_MODE_2500BASEX:
val = 0xD;
break;
case PHY_INTERFACE_MODE_HSGMII:
val = 0x12;
break;
case PHY_INTERFACE_MODE_SGMII:
val = 0x2;
break;
@ -3096,10 +3081,6 @@ void rtl931x_sds_init(u32 sds, phy_interface_t mode)
rtl9310_sds_field_w_new(sds, 0x1f, 0x7, 10, 4, 0x7f);
break;
case PHY_INTERFACE_MODE_HSGMII:
rtl9310_sds_field_w_new(sds, 0x101, 0x14, 8, 8, 1);
break;
case PHY_INTERFACE_MODE_1000BASEX: /* MII_1000BX_FIBER */
rtl9310_sds_field_w_new(sds, 0x103, 0x13, 15, 14, 0);
@ -3149,7 +3130,6 @@ void rtl931x_sds_init(u32 sds, phy_interface_t mode)
if (mode == PHY_INTERFACE_MODE_XGMII ||
mode == PHY_INTERFACE_MODE_QSGMII ||
mode == PHY_INTERFACE_MODE_HSGMII ||
mode == PHY_INTERFACE_MODE_SGMII ||
mode == PHY_INTERFACE_MODE_USXGMII) {
if (mode == PHY_INTERFACE_MODE_XGMII)