Re: [PATCH v4 3/3] powerpc: dts: turris1x.dts: Set lower priority for CPLD syscon-reboot
From: Pali Rohár
Date: Sat Feb 18 2023 - 07:05:40 EST
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@xxxxxxxxxx>
>
> 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
> >