From 9daf4dff6bd2908040a281efc082ac09b3d25871 Mon Sep 17 00:00:00 2001 From: Tobias Schramm Date: Sun, 4 Feb 2024 16:28:07 +0100 Subject: realtek: 5.15: rtl93xx: add 1000Base-X and 10GBase-CR support on SerDes This patch adds support for 1000Base-X and 10GBase-CR directly on the SerDes lanes of rtl93xx SoCs. This fixes SFP/SFP+ support on devices like the XSG1250-12. Signed-off-by: Tobias Schramm --- target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c') diff --git a/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c b/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c index 759ca94e00..ff81a4c77b 100644 --- a/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c +++ b/target/linux/realtek/files-5.15/drivers/net/dsa/rtl83xx/dsa.c @@ -811,8 +811,10 @@ static void rtl93xx_phylink_mac_config(struct dsa_switch *ds, int port, sds_num = priv->ports[port].sds_num; pr_info("%s SDS is %d\n", __func__, sds_num); - if (sds_num >= 0 && state->interface == PHY_INTERFACE_MODE_10GBASER) - rtl9300_serdes_setup(sds_num, state->interface); + if (sds_num >= 0 && + (state->interface == PHY_INTERFACE_MODE_1000BASEX || + state->interface == PHY_INTERFACE_MODE_10GBASER)) + rtl9300_serdes_setup(port, sds_num, state->interface); reg = sw_r32(priv->r->mac_force_mode_ctrl(port)); reg &= ~(0xf << 3); -- cgit v1.2.3