1
0
Fork 0
forked from mirror/openwrt

realtek: pcs: add missing SerDes modes

100Base-X mode was missing before in the enum rtpcs_sds_mode. So add it
to be able to support this mode too. Handle this mode in the
_determine_hw_mode mapper.

10G_QXGMII mode was missing in the mode mapper. Add it and map it to
USXGMII_10GQXGMII mode.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21365
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Jonas Jelonek 2025-12-24 10:36:03 +00:00 committed by Hauke Mehrtens
parent 93e9e67ee9
commit dfd6a4212f

View file

@ -110,6 +110,7 @@ enum rtpcs_sds_mode {
RTPCS_SDS_MODE_OFF = 0,
/* fiber modes */
RTPCS_SDS_MODE_100BASEX,
RTPCS_SDS_MODE_1000BASEX,
RTPCS_SDS_MODE_2500BASEX,
RTPCS_SDS_MODE_10GBASER,
@ -286,6 +287,9 @@ static int rtpcs_sds_determine_hw_mode(struct rtpcs_serdes *sds,
case PHY_INTERFACE_MODE_NA:
*hw_mode = RTPCS_SDS_MODE_OFF;
break;
case PHY_INTERFACE_MODE_100BASEX:
*hw_mode = RTPCS_SDS_MODE_100BASEX;
break;
case PHY_INTERFACE_MODE_1000BASEX:
*hw_mode = RTPCS_SDS_MODE_1000BASEX;
break;
@ -305,6 +309,9 @@ static int rtpcs_sds_determine_hw_mode(struct rtpcs_serdes *sds,
/* TODO: set this depending on number of links on SerDes */
*hw_mode = RTPCS_SDS_MODE_USXGMII_10GSXGMII;
break;
case PHY_INTERFACE_MODE_10G_QXGMII:
*hw_mode = RTPCS_SDS_MODE_USXGMII_10GQXGMII;
break;
default:
return -ENOTSUPP;
}