linux/drivers/net/pcs
Lad Prabhakar a7195a3d67 net: pcs: rzn1-miic: Correct MODCTRL register offset
Correct the Mode Control Register (MODCTRL) offset for RZ/N MIIC.
According to the R-IN Engine and Ethernet Peripherals Manual (Rev.1.30)
[0], Table 10.1 "Ethernet Accessory Register List", MODCTRL is at offset
0x8, not 0x20 as previously defined.

Offset 0x20 actually maps to the Port Trigger Control Register (PTCTRL),
which controls PTP_MODE[3:0] and RGMII_CLKSEL[4]. Using this incorrect
definition prevented the driver from configuring the SW_MODE[4:0] bits
in MODCTRL, which control the internal connection of Ethernet ports. As
a result, the MIIC could not be switched into the correct mode, leading
to link setup failures and non-functional Ethernet ports on affected
systems.

[0] https://www.renesas.com/en/document/mah/rzn1d-group-rzn1s-group-rzn1l-group-users-manual-r-engine-and-ethernet-peripherals?r=1054571

Fixes: 7dc54d3b8d ("net: pcs: add Renesas MII converter driver")
Cc: stable@kernel.org
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://patch.msgid.link/20250901112019.16278-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-09-02 16:37:52 -07:00
..
Kconfig net: pcs: xpcs: Add Synopsys DW xPCS platform device driver 2024-07-05 09:35:50 +01:00
Makefile net: pcs: xpcs: Add Synopsys DW xPCS platform device driver 2024-07-05 09:35:50 +01:00
pcs-lynx.c net: remove phylink_pcs .neg_mode boolean 2025-02-14 17:09:50 -08:00
pcs-mtk-lynxi.c net: remove phylink_pcs .neg_mode boolean 2025-02-14 17:09:50 -08:00
pcs-rzn1-miic.c net: pcs: rzn1-miic: Correct MODCTRL register offset 2025-09-02 16:37:52 -07:00
pcs-xpcs-nxp.c net: pcs: xpcs: add _modify() accessors 2024-10-09 12:13:11 +01:00
pcs-xpcs-plat.c net: pcs: xpcs: mask readl() return value to 16 bits 2025-07-17 18:45:27 -07:00
pcs-xpcs-wx.c net: pcs: xpcs: add _modify() accessors 2024-10-09 12:13:11 +01:00
pcs-xpcs.c net: pcs: xpcs: re-initiate clause 37 Auto-negotiation 2025-03-05 19:02:47 -08:00
pcs-xpcs.h net: xpcs: rearrange register definitions 2025-02-17 15:37:27 -08:00