Commit bec46462 authored by Pali Rohár's avatar Pali Rohár Committed by Michael Ellerman
Browse files

powerpc: dts: turris1x.dts: Set lower priority for CPLD syscon-reboot



Due to CPLD firmware bugs, set CPLD syscon-reboot priority level to 64
(between rstcr and watchdog) to ensure that rstcr's global-utilities reset
method which is preferred stay as default one, and to ensure that CPLD
syscon-reboot is more preferred than watchdog reset method.

Fixes: 0531a4ab ("powerpc: dts: turris1x.dts: Add CPLD reboot node")
Depends-on: e6333293 ("power: reset: syscon-reboot: Add support for specifying priority")
Signed-off-by: default avatarPali Rohár <pali@kernel.org>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20230220080435.4237-1-pali@kernel.org
parent 6f8675a6
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -367,11 +367,34 @@
			};

			reboot@d {
				/*
				 * CPLD firmware which manages system reset and
				 * watchdog registers has bugs. It does not
				 * autoclear system reset register after change
				 * and watchdog ignores reset line on immediate
				 * succeeding reset cycle triggered by watchdog.
				 * These bugs have to be workarounded in U-Boot
				 * bootloader. So use system reset via syscon as
				 * a last resort because older U-Boot versions
				 * do not have workaround for watchdog.
				 *
				 * Reset method via rstcr's global-utilities
				 * (the preferred one) has priority level 128,
				 * watchdog has priority level 0 and default
				 * syscon-reboot priority level is 192.
				 *
				 * So define syscon-reboot with custom priority
				 * level 64 (between rstcr and watchdog) because
				 * rstcr should stay as default preferred reset
				 * method and reset via watchdog is more broken
				 * than system reset via syscon.
				 */
				compatible = "syscon-reboot";
				reg = <0x0d 0x01>;
				offset = <0x0d>;
				mask = <0x01>;
				value = <0x01>;
				priority = <64>;
			};

			led-controller@13 {