openwrt-6.x/target/linux/realtek
Markus Stockhausen d2108c2c58 realtek: enhance RTL930x SerDes/PLL/CMU interoperability
The operating mode of a SerDes must be aligned with the attached PHY or
SFP module. That does not only require to change the protocol (e.g. SGMII,
10Gbase-R, ...) but also the speed (e.g. 1.25G). For this the SerDes must
be re-initialized properly.

- It must be taken into power down
- The PLL speed must be set
- Maybe the CMU (clock management unit) must be resetted
- The new mode must be set
- The state machine must be resetted
- The power must be reactivated

Until now this sequence is bugged. First the driver relies on a clean
setup from U-Boot (rtk network on) and second trying to to change mode
and PLL speeds does not work at all. And not to forget: Currently two
adjacent SerDes cannot drive SGMII/HSGMII at the same time. Fix this by
taking care about the right SerDes/PLL/CMU command init order.

P.S. This code is inspired by the work of Jan Hofmann, who tried to
enable parallel SGMII/HSGMII mode. The only missing bit was a proper CMU
reset sequence.

Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19220
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-07-11 10:05:52 +02:00
..
base-files realtek: add support for TP-Link TL-ST1008F v2.0 2025-06-16 13:30:52 +02:00
dts realtek: Use Otto timer on RTL931x 2025-06-22 23:12:02 +02:00
files/firmware/rtl838x_phy
files-6.12 realtek: enhance RTL930x SerDes/PLL/CMU interoperability 2025-07-11 10:05:52 +02:00
image realtek: add RTL931x support to rt-loader 2025-07-03 11:42:21 +02:00
patches-6.12 realtek: backport MIPS GIC patch 2025-06-22 23:12:02 +02:00
profiles
rtl838x realtek: remove patches, files and config for 6.6 2025-06-22 16:38:11 +02:00
rtl839x realtek: remove patches, files and config for 6.6 2025-06-22 16:38:11 +02:00
rtl930x realtek: remove patches, files and config for 6.6 2025-06-22 16:38:11 +02:00
rtl931x realtek: build Otto timer for RTL931x 2025-06-22 23:12:02 +02:00
Makefile realtek: switch to 6.12 as default 2025-06-22 16:38:11 +02:00