]> git.ipfire.org Git - thirdparty/openwrt.git/commit
realtek: rtl838x: fix non-functional reboot 22334/head
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Sun, 8 Mar 2026 21:28:42 +0000 (22:28 +0100)
committerRobert Marko <robimarko@gmail.com>
Tue, 10 Mar 2026 09:34:23 +0000 (10:34 +0100)
commitb995f318b24f23ec1b594eb89221b78c0e50942e
tree94297cdb0a010f13afb2a01ae4f943ba658cb02b
parent5816d883ff3884ae96c3293b316f6d56c099eee0
realtek: rtl838x: fix non-functional reboot

RTL838x devices cannot reboot if the flash controller is driven in
4 byte mode. Unitl fdc3776 ("realtek: pcs: fix PLL_CML_CTRL for
serdes 0/1") this bit was luckily cleared by a coding error. Since
then the device cannot be rebooted anymore.

Looking at the SDK one can see that this bit is reset short before
the reboot happens. But we might need that in critical situations
where there is no chance to do it right in time. As the RTL838x
always ran with the bit disabled restore the old behaviour. This
time implement it as a documented quirk so it does not get lost.

Fixes: fdc3776 ("realtek: pcs: fix PLL_CML_CTRL for serdes 0/1")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22334
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/realtek/files-6.12/arch/mips/include/asm/mach-rtl-otto/mach-rtl-otto.h
target/linux/realtek/files-6.12/arch/mips/rtl-otto/prom.c