aboutsummaryrefslogtreecommitdiff
path: root/src/powerpc/turris1x.dts
diff options
context:
space:
mode:
Diffstat (limited to 'src/powerpc/turris1x.dts')
-rw-r--r--src/powerpc/turris1x.dts23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/powerpc/turris1x.dts b/src/powerpc/turris1x.dts
index e9cda34a140e..c9b619f6ed5c 100644
--- a/src/powerpc/turris1x.dts
+++ b/src/powerpc/turris1x.dts
@@ -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 {