Message ID | 20221226114513.4569-3-pali@kernel.org |
---|---|
State | Accepted |
Commit | bec46462567032afb05017cb10c545aab0810a73 |
Headers | show |
Series | [v4,1/3] dt-bindings: reset: syscon-reboot: Add priority property | expand |
On Thursday 09 February 2023 01:10:21 Pali Rohár wrote: > On Monday 26 December 2022 12:45:13 Pali Rohár wrote: > > 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: 0531a4abd1c6 ("powerpc: dts: turris1x.dts: Add CPLD reboot node") > > Signed-off-by: Pali Rohár <pali@kernel.org> > > May I ask who can take this 3/3 patch? powersupply or powerpc tree? + Christophe > > --- > > arch/powerpc/boot/dts/turris1x.dts | 23 +++++++++++++++++++++++ > > 1 file changed, 23 insertions(+) > > > > diff --git a/arch/powerpc/boot/dts/turris1x.dts b/arch/powerpc/boot/dts/turris1x.dts > > index e9cda34a140e..c9b619f6ed5c 100644 > > --- a/arch/powerpc/boot/dts/turris1x.dts > > +++ b/arch/powerpc/boot/dts/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 { > > -- > > 2.20.1 > >
Pali Rohár <pali@kernel.org> writes: > On Thursday 09 February 2023 01:10:21 Pali Rohár wrote: >> On Monday 26 December 2022 12:45:13 Pali Rohár wrote: >> > 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: 0531a4abd1c6 ("powerpc: dts: turris1x.dts: Add CPLD reboot node") >> > Signed-off-by: Pali Rohár <pali@kernel.org> >> >> May I ask who can take this 3/3 patch? powersupply or powerpc tree? I assume the fact that Sebastian applied patches 1 & 2 means he didn't want to take this one. So the best way to get it applied by me is to send a new version with just patch 3, with the changelog explaining that commit xxxyyy implements the property and this patch is just wiring it up. cheers
diff --git a/arch/powerpc/boot/dts/turris1x.dts b/arch/powerpc/boot/dts/turris1x.dts index e9cda34a140e..c9b619f6ed5c 100644 --- a/arch/powerpc/boot/dts/turris1x.dts +++ b/arch/powerpc/boot/dts/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 {
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: 0531a4abd1c6 ("powerpc: dts: turris1x.dts: Add CPLD reboot node") Signed-off-by: Pali Rohár <pali@kernel.org> --- arch/powerpc/boot/dts/turris1x.dts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)