mirror of
https://git.openwrt.org/openwrt/openwrt.git/
synced 2025-10-05 21:42:43 +02:00
realtek: RTL931x: disable USXGMII SerDes setup
The first RTL931x devices make their way into OpenWrt. Their copper ports are driven by different interfaces modes like 10G_QXGMII or Realtek proprietary XSGMII. The DSA driver has no proper handling for theses modes implemented yet. So a lot is auto-mapped to USXGMII internally. As soon as the SerDes setup activates this (wrong) mode the PHY connectivity breaks. Disable this mode for now and rely on the proper U-Boot setup. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/20292 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
committed by
Robert Marko
parent
8916b26a66
commit
c18476d0c5
@@ -692,10 +692,16 @@ static void rtl931x_phylink_mac_config(struct dsa_switch *ds, int port,
|
||||
rtl931x_sds_init(sds_num, PHY_INTERFACE_MODE_10GBASER);
|
||||
break;
|
||||
case PHY_INTERFACE_MODE_USXGMII:
|
||||
/* Translates to MII_USXGMII_10GSXGMII */
|
||||
band = rtl931x_sds_cmu_band_get(sds_num, PHY_INTERFACE_MODE_USXGMII);
|
||||
rtl931x_sds_init(sds_num, PHY_INTERFACE_MODE_USXGMII);
|
||||
break;
|
||||
/*
|
||||
* TODO: USXGMII is currently the swiss army knife to declare 10G
|
||||
* multi port PHYs. Real devices use other modes instead. Especially
|
||||
*
|
||||
* - RTL8224 is driven in 10G_QXGMII
|
||||
* - RTL8218D/E are driven in (Realtek proprietary) XSGMII (10G SGMII)
|
||||
*
|
||||
* For now disable all USXGMII SerDes handling and rely on U-Boot setup.
|
||||
*/
|
||||
break;
|
||||
case PHY_INTERFACE_MODE_SGMII:
|
||||
pr_info("%s setting mode PHY_INTERFACE_MODE_SGMII\n", __func__);
|
||||
band = rtl931x_sds_cmu_band_get(sds_num, PHY_INTERFACE_MODE_SGMII);
|
||||
|
Reference in New Issue
Block a user