openwrt-pf/target/linux
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
..
airoha airoha: backport upstream patch for Flow Offload support for AN7581 2025-07-05 10:10:35 +02:00
apm821xx kernel: backport GCC15 fix for powerpc 2025-07-07 17:20:53 +02:00
armsr
at91
ath79 ath79: revert wmac node names 2025-07-09 17:17:05 +02:00
bcm27xx kernel: bump 6.12 to 6.12.35 2025-06-28 22:47:48 +02:00
bcm47xx
bcm53xx
bcm4908
bmips
d1
gemini kernel: bump 6.12 to 6.12.35 2025-06-28 22:47:48 +02:00
generic kernel: fix rtl8261n driver for realtek 2025-07-09 14:45:14 +02:00
imx imx: venice: disable PCI AER 2025-06-23 11:49:12 +02:00
ipq40xx
ipq806x ipq806x: add support for IgniteNet SunSpot AC Wave2 2025-06-25 02:07:02 +01:00
ixp4xx
kirkwood
lantiq
layerscape
loongarch64
malta
mediatek mediatek: fix switch mdio id on mt7622-rfb1 on linux 6.12 2025-07-05 14:43:34 +02:00
mpc85xx kernel: backport GCC15 fix for powerpc 2025-07-07 17:20:53 +02:00
mvebu kernel: bump 6.6 to 6.6.95 2025-06-28 22:55:13 +02:00
mxs
octeon octeon: ubnt-*: Add device specific DTS pruning 2025-07-09 10:39:29 +02:00
omap
pistachio
qoriq
qualcommax qualcommax: ipq50xx: Add support for Yuncore AX830 2025-06-30 14:04:31 +02:00
qualcommbe qualcommbe: ipq95xx: add 8devices Kiwi-DVK support 2025-06-25 10:20:38 +02:00
ramips ramips: update drivers to be compatible with kernel 6.12 and above 2025-07-07 20:30:26 +02:00
realtek realtek: enhance RTL930x SerDes/PLL/CMU interoperability 2025-07-11 10:05:52 +02:00
rockchip rockchip: switch to kernel 6.12 2025-07-01 22:10:20 +02:00
sifiveu
siflower
starfive kernel: bump 6.12 to 6.12.35 2025-06-28 22:47:48 +02:00
stm32 stm32: modules: add missing dependency for stm32-dfsdm-adc 2025-06-21 14:28:42 +02:00
sunxi
tegra
uml
x86 x86: 64: Enable PCI MMCONFIG 2025-06-29 17:40:18 +02:00
zynq
Makefile