1
0
Fork 0
forked from mirror/openwrt
openwrt/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 kernel: bump 6.6 to 6.6.93 2025-06-06 10:01:31 +02:00
at91 treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
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 treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
bcm53xx kernel: bump 6.6 to 6.6.90 2025-05-13 21:43:34 +02:00
bcm4908 bcm63xx-cfe: install into image staging dir 2025-04-13 10:44:19 +02:00
bmips bmips: update BCM531x5 RGMII delays patch 2025-06-18 11:12:00 +02:00
d1 kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
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 ipq40xx: config-6.6: add new option 2025-06-06 10:01:31 +02:00
ipq806x ipq806x: add support for IgniteNet SunSpot AC Wave2 2025-06-25 02:07:02 +01:00
ixp4xx ixp4xx: Switch to kernel v6.12 2025-06-03 01:45:40 +02:00
kirkwood treewide: dts: trim "#size-cells" from "gpio-export" node 2025-05-18 19:35:00 +02:00
lantiq treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
layerscape kernel: bump 6.6 to 6.6.88 2025-05-03 19:57:53 +02:00
loongarch64 kernel: Add KERNEL_DCB (Data Center Bridging) 2025-03-09 17:05:26 +01:00
malta malta: 6.12: enable kernel for testing 2025-05-29 22:46:47 +02:00
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 mxs: drop 6.6 support 2025-05-24 16:15:53 +02:00
octeon octeon: ubnt-*: Add device specific DTS pruning 2025-07-09 10:39:29 +02:00
omap kernel: Activate CONFIG_NET_SWITCHDEV in generic config 2025-03-15 13:54:59 +01:00
pistachio kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
qoriq kernel: Activate CONFIG_NET_SWITCHDEV in generic config 2025-03-15 13:54:59 +01:00
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 kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
siflower kernel: bump 6.6 to 6.6.94 2025-06-21 13:54:17 +02:00
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 generic: 6.12: backport accepted BCM5325 patches 2025-06-18 11:11:54 +02:00
tegra kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
uml kernel: bump 6.12 to 6.12.33 2025-06-12 12:42:15 +02:00
x86 x86: 64: Enable PCI MMCONFIG 2025-06-29 17:40:18 +02:00
zynq kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00