diff --git a/target/linux/realtek/files-6.18/drivers/net/mdio/mdio-realtek-otto-serdes.c b/target/linux/realtek/files-6.18/drivers/net/mdio/mdio-realtek-otto-serdes.c index 828d8b6c4b..c1c0041427 100644 --- a/target/linux/realtek/files-6.18/drivers/net/mdio/mdio-realtek-otto-serdes.c +++ b/target/linux/realtek/files-6.18/drivers/net/mdio/mdio-realtek-otto-serdes.c @@ -233,8 +233,9 @@ static int rtsds_838x_write(struct rtsds_ctrl *ctrl, int sds, int page, int regn * 0x05 (TGR_STD_1) TGRX/1 * 0x06 (TGR_PRO_0) TGRX/2 * 0x07 (TGR_PRO_1) TGRX/3 - * 0x08 (TGX_STD_0) ANA_RG ANA_RG - * 0x09 (TGX_STD_1) ANA_RG_EXT ANA_RG_EXT + * ... + * 0x24 (ANA_1G2) ANA_RG ANA_RG + * 0x25 (ANA_1G2_EXT) ANA_RG_EXT ANA_RG_EXT * ... * 0x2e (ANA_10G) ANA_TG ANA_TG * 0x2f (ANA_10G_EXT) ANA_TG_EXT ANA_TG_EXT @@ -249,8 +250,8 @@ static int rtsds_839x_reg_offset(int sds, int page, int regnum) return offset + (page << 6) + ((sds & 1) << 8); else if (page >= 4 && page <=7 && (sds == 8 || sds == 12)) return offset + (page << 6) + 0x100; - else if (page >= 8 && page <= 9 && sds5g) - return offset + (page << 6) + 0x100 + ((sds & 1) << 7); + else if (page >= 0x24 && page <= 0x25 && sds5g) + return offset + ((page - 0x1c) << 6) + 0x100 + ((sds & 1) << 7); else if (page >= 0x2e && page <= 0x2f && !sds5g) return offset + ((page - 0x24) << 6) + 0x80 + ((sds & 1) << 7); diff --git a/target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c b/target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c index 8896640d23..abfd76b841 100644 --- a/target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c +++ b/target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c @@ -906,14 +906,14 @@ static void rtpcs_839x_sds_reset(struct rtpcs_serdes *sds) msleep(100); rtpcs_sds_write_bits(even_sds, 0x2f, 0x0, 15, 15, 0x0); } else { - rtpcs_sds_write(odd_sds, 0x9, 0x1, 0x0050); - rtpcs_sds_write(odd_sds, 0x9, 0x1, 0x00f0); - rtpcs_sds_write(odd_sds, 0x9, 0x1, 0x0000); + rtpcs_sds_write(odd_sds, 0x25, 0x1, 0x0050); + rtpcs_sds_write(odd_sds, 0x25, 0x1, 0x00f0); + rtpcs_sds_write(odd_sds, 0x25, 0x1, 0x0000); - rtpcs_sds_write_bits(sds, 0x8, 0x14, 0, 0, 0x0); - rtpcs_sds_write_bits(sds, 0x8, 0x14, 9, 9, 0x1); + rtpcs_sds_write_bits(sds, 0x24, 0x14, 0, 0, 0x0); + rtpcs_sds_write_bits(sds, 0x24, 0x14, 9, 9, 0x1); msleep(100); - rtpcs_sds_write_bits(sds, 0x8, 0x14, 9, 9, 0x0); + rtpcs_sds_write_bits(sds, 0x24, 0x14, 9, 9, 0x0); } rtpcs_sds_write(even_sds, 0x0, 0x3, 0x7146);