mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-02-19 17:01:20 +01:00
realtek: pcs: rtl931x: add 2500Base-X mode
Add 2500Base-X handling to mode setting which was rejected with -ENOTSUPP before. SDK code available to us doesn't have the proper mode value. Though by brute-forcing different mode values, 0x2d was found to make a 2500Base-X link work. This was tested with an otherwise correctly configured RTL8221B PHY which is automatically switched between 2500Base-X and SGMII in the upstream driver. Though, since there was a previous U-Boot setup for the PHY in HISGMII mode, it may not be standalone yet. Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com> Link: https://github.com/openwrt/openwrt/pull/22014 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
ca9e38963f
commit
cf1f06817c
1 changed files with 7 additions and 0 deletions
|
|
@ -3148,6 +3148,13 @@ static int rtpcs_931x_sds_set_ip_mode(struct rtpcs_serdes *sds,
|
|||
mode_val = 0x9;
|
||||
break;
|
||||
|
||||
case RTPCS_SDS_MODE_2500BASEX:
|
||||
/* available SDK code doesn't have this value. based on brute-forcing
|
||||
* the SerDes mode register field until the link is working
|
||||
*/
|
||||
mode_val = 0x2d;
|
||||
break;
|
||||
|
||||
case RTPCS_SDS_MODE_10GBASER:
|
||||
mode_val = 0x35;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue