Re: [PATCH v3 0/6] Add support to retrieve the bootstatus from watchdog for RZ/V2H(P) SoC

From: Lad, Prabhakar
Date: Mon Jan 13 2025 - 12:00:23 EST


Hi Biju,

On Mon, Jan 13, 2025 at 4:43 PM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote:
>
> Hi Prabhakar,
>
> > -----Original Message-----
> > From: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
> > Sent: 13 January 2025 16:29
> > Subject: Re: [PATCH v3 0/6] Add support to retrieve the bootstatus from watchdog for RZ/V2H(P) SoC
> >
> > Hi Guenter,
> >
> > On Mon, Jan 13, 2025 at 4:0 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> > >
> > > On 1/13/25 04:40, Lad, Prabhakar wrote:
> > > > Hi Biju,
> > > >
> > > > On Mon, Jan 13, 2025 at 11:38 AM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote:
> > > >>
> > > >> Hi Prabhakar,
> > > >>
> > > >>> -----Original Message-----
> > > >>> From: Prabhakar <prabhakar.csengg@xxxxxxxxx>
> > > >>> Sent: 13 January 2025 11:24
> > > >>> Subject: [PATCH v3 0/6] Add support to retrieve the bootstatus
> > > >>> from watchdog for RZ/V2H(P) SoC
> > > >>>
> > > >>> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>
> > > >>>
> > > >>> Hi All,
> > > >>>
> > > >>> This patch series adds SYSCON support to retrieve boot status information for RZ/V2H(P) SoC.
> > > >>> Summary of Changes,
> > > >>>
> > > >>> Clock:
> > > >>> Add syscon compatible support to the CPG block in bindings and
> > > >>> device trees.
> > > >>>
> > > >>> Watchdog:
> > > >>> Document the renesas,r9a09g057-syscon-wdt-errorrst property.
> > > >>> Update the watchdog driver to fetch and report boot status via
> > > >>> Error Reset Registers (CPG_ERROR_RSTm).
> > > >>>
> > > >>> Device Tree:
> > > >>> Add the syscon property to CPG and WDT nodes in R9A09G057 and
> > > >>> R9A09G047 SoC DTSI.
> > > >>>
> > > >>> These changes enable the watchdog driver to identify boot sources
> > > >>> like Power-on Reset and Watchdog Reset, improving system diagnostics.
> > > >>
> > > >> This means that, we should assume U-boot/bootloader should not clear the WDT reset status bit.
> > > >>
> > > >> If they clear it, there should be a way to propagate it from
> > > >> u-boot/bootloader to linux, otherwise, we get wrong bootstatus in linux.
> > > >> But the clearing of watchdog status by one of the cases:
> > > >>
> > > >> 1) u-boot identify the boot source and clear the status bit
> > > >>
> > > > I agree, if the tf-a/u-boot clears the register, the bootstatus
> > > > reported by Linux will be in-correct.
> > > >
> > >
> > > I would rephrase that: Today, the boot status is _always_ incorrect if
> > > a reboot was triggered by a watchdog reset. After this patch, it will
> > > be correct unless the boot loader resets the status bit.
> > >
> > Agreed.
> >
> > > > Alternative solution, would be:
> > > >
> > > > Let the TF-A create WDT nodes for us and add a property
> > > > `renesas,r9a09g057-wdt-bootstatus` and propagate the WDT nodes to
> > > > Linux.
> > > >
> > > > renesas,r9a09g057-wdt-bootstatus = <0/1>;
> > > >
> > >
> > > That would require both a property change as well as a change in the bootloader.
> > > I suspect it would also be inappropriate as standard property and
> > > would have to be passed as 'chosen' property (if that is even
> > > permitted) or as command line argument.
> > >
> > > Either case, if the boot loader has to be changed anyway, why not just
> > > tell it to leave the boot status alone ?
> > >
> > It can be done, I think Biju is concerned about the user clearing it, maybe using the `mw` command or
> > the Linux CPG driver clearing it during the probe.
>
> If either TF-A or U-boot clears the status we have problem. We need to provide input to
> stake holders of u-boot/tf-a to not to clear the wdt boot status, so that linux can report correct
> status.
>
I think this can be done, currently the TF-A nor u-boot clears the
status. Are you OK with this approach?

Cheers,
Prabhakar