[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230209001021.oitnv6x7ilwvy4it@pali>
Date: Thu, 9 Feb 2023 01:10:21 +0100
From: Pali Rohár <pali@...nel.org>
To: Michael Ellerman <mpe@...erman.id.au>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Sebastian Reichel <sre@...nel.org>
Cc: linux-pm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH v4 3/3] powerpc: dts: turris1x.dts: Set lower priority
for CPLD syscon-reboot
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@...nel.org>
May I ask who can take this 3/3 patch? powersupply or powerpc tree?
> ---
> 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
>
Powered by blists - more mailing lists