mbox series

[v3,0/2] arm64: dts: ti: k3-j784s4: Mark tps659413 regulators as bootph-all

Message ID 20240916-j784s4-tps6594-bootph-v3-0-ab70da0de7bd@redhat.com (mailing list archive)
Headers show
Series arm64: dts: ti: k3-j784s4: Mark tps659413 regulators as bootph-all | expand

Message

Andrew Halaney Sept. 16, 2024, 5:14 p.m. UTC
This series marks tps659413's regulators as bootph-all in order for
the nodes (and parent nodes) to be accessible during MCU's u-boot SPL.

This in turn is desired since the tps659413 needs its MCU ESM
state machine setup in order for the watchdog to reset the board.

This took me a little while to track down, as enabling the ESM, TPS6594,
etc in u-boot would result in the below boot failure:

    U-Boot SPL 2024.10-rc4-00007-g44b12cbcd1b3-dirty (Sep 06 2024 - 14:25:52 -0500)
    SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.4--v09.02.04 (Kool Koala)')
    Initialized 4 DRAM controllers
    SPL initial stack usage: 13408 bytes
    ### ERROR ### Please RESET the board ###

Which turns out to actually have failed far earlier in spl_early_init(),
due to these nodes not being accessible in u-boot. That's hard to tell
though since console isn't setup until later (and for that reason I
think spl_early_init()'s return value in j784s4_init.c isn't
evaluated since a panic() at that point would leave a user with *no*
information at all).

I've tested this in conjunction with a u-boot series which I'll link in
a follow-up response on the k3-j784s4-evm. I'd appreciate someone testing
on the k3-am69-sk at a minimum, as it should suffer the same fate if things
aren't setup appropriately.

Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
---
Changes in v3:
- Added Udit's Tested-by tags
- Reordered bootph-all to align with dts-coding-style (Beleswar)
- Link to v2: https://lore.kernel.org/r/20240911-j784s4-tps6594-bootph-v2-0-a83526264ab1@redhat.com

Changes in v2:
- Only mark the regulator nodes as bootph-all since parents are implied
- Link to v1: https://lore.kernel.org/r/20240906-j784s4-tps6594-bootph-v1-0-c5b58d43bf04@redhat.com

---
Andrew Halaney (2):
      arm64: dts: ti: k3-j784s4-evm: Mark tps659413 regulators as bootph-all
      arm64: dts: ti: k3-am69-sk:  Mark tps659413 regulators as bootph-all

 arch/arm64/boot/dts/ti/k3-am69-sk.dts    | 8 ++++++++
 arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 8 ++++++++
 2 files changed, 16 insertions(+)
---
base-commit: 7083504315d64199a329de322fce989e1e10f4f7
change-id: 20240906-j784s4-tps6594-bootph-19d3f00fb98a

Best regards,

Comments

Andrew Halaney Oct. 10, 2024, 2:56 p.m. UTC | #1
On Mon, Sep 16, 2024 at 12:14:50PM GMT, Andrew Halaney wrote:
> This series marks tps659413's regulators as bootph-all in order for
> the nodes (and parent nodes) to be accessible during MCU's u-boot SPL.
> 
> This in turn is desired since the tps659413 needs its MCU ESM
> state machine setup in order for the watchdog to reset the board.
> 
> This took me a little while to track down, as enabling the ESM, TPS6594,
> etc in u-boot would result in the below boot failure:
> 
>     U-Boot SPL 2024.10-rc4-00007-g44b12cbcd1b3-dirty (Sep 06 2024 - 14:25:52 -0500)
>     SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.4--v09.02.04 (Kool Koala)')
>     Initialized 4 DRAM controllers
>     SPL initial stack usage: 13408 bytes
>     ### ERROR ### Please RESET the board ###
> 
> Which turns out to actually have failed far earlier in spl_early_init(),
> due to these nodes not being accessible in u-boot. That's hard to tell
> though since console isn't setup until later (and for that reason I
> think spl_early_init()'s return value in j784s4_init.c isn't
> evaluated since a panic() at that point would leave a user with *no*
> information at all).
> 
> I've tested this in conjunction with a u-boot series which I'll link in
> a follow-up response on the k3-j784s4-evm. I'd appreciate someone testing
> on the k3-am69-sk at a minimum, as it should suffer the same fate if things
> aren't setup appropriately.
> 
> Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
> ---
> Changes in v3:
> - Added Udit's Tested-by tags
> - Reordered bootph-all to align with dts-coding-style (Beleswar)
> - Link to v2: https://lore.kernel.org/r/20240911-j784s4-tps6594-bootph-v2-0-a83526264ab1@redhat.com

This applies fine still on linux-next, any chance this could be picked
up?

The associated[0] u-boot change is dependent on this and it would be
nice to get the wdog working on mainline u-boot + linux.

[0] https://lore.kernel.org/all/3bf2177d-178f-46bf-abfe-6f00a52c623b@ti.com/
Beleswar Prasad Padhi Oct. 10, 2024, 3:35 p.m. UTC | #2
On 16-09-2024 22:44, Andrew Halaney wrote:
> This series marks tps659413's regulators as bootph-all in order for
> the nodes (and parent nodes) to be accessible during MCU's u-boot SPL.
>
> This in turn is desired since the tps659413 needs its MCU ESM
> state machine setup in order for the watchdog to reset the board.
>
> This took me a little while to track down, as enabling the ESM, TPS6594,
> etc in u-boot would result in the below boot failure:
>
>      U-Boot SPL 2024.10-rc4-00007-g44b12cbcd1b3-dirty (Sep 06 2024 - 14:25:52 -0500)
>      SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.4--v09.02.04 (Kool Koala)')
>      Initialized 4 DRAM controllers
>      SPL initial stack usage: 13408 bytes
>      ### ERROR ### Please RESET the board ###
>
> Which turns out to actually have failed far earlier in spl_early_init(),
> due to these nodes not being accessible in u-boot. That's hard to tell
> though since console isn't setup until later (and for that reason I
> think spl_early_init()'s return value in j784s4_init.c isn't
> evaluated since a panic() at that point would leave a user with *no*
> information at all).
>
> I've tested this in conjunction with a u-boot series which I'll link in
> a follow-up response on the k3-j784s4-evm. I'd appreciate someone testing
> on the k3-am69-sk at a minimum, as it should suffer the same fate if things
> aren't setup appropriately.
>
> Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
> ---
> Changes in v3:
> - Added Udit's Tested-by tags
> - Reordered bootph-all to align with dts-coding-style (Beleswar)


Thanks for the change, LGTM. For the series,

Reviewed-by: Beleswar Padhi <b-padhi@ti.com>

Thanks,
Beleswar

> - Link to v2: https://lore.kernel.org/r/20240911-j784s4-tps6594-bootph-v2-0-a83526264ab1@redhat.com
>
> Changes in v2:
> - Only mark the regulator nodes as bootph-all since parents are implied
> - Link to v1: https://lore.kernel.org/r/20240906-j784s4-tps6594-bootph-v1-0-c5b58d43bf04@redhat.com
>
> ---
> Andrew Halaney (2):
>        arm64: dts: ti: k3-j784s4-evm: Mark tps659413 regulators as bootph-all
>        arm64: dts: ti: k3-am69-sk:  Mark tps659413 regulators as bootph-all
>
>   arch/arm64/boot/dts/ti/k3-am69-sk.dts    | 8 ++++++++
>   arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 8 ++++++++
>   2 files changed, 16 insertions(+)
> ---
> base-commit: 7083504315d64199a329de322fce989e1e10f4f7
> change-id: 20240906-j784s4-tps6594-bootph-19d3f00fb98a
>
> Best regards,
Manorit Chawdhry Oct. 29, 2024, 10:28 a.m. UTC | #3
Hi Andrew,

On 09:56-20241010, Andrew Halaney wrote:
> On Mon, Sep 16, 2024 at 12:14:50PM GMT, Andrew Halaney wrote:
> > This series marks tps659413's regulators as bootph-all in order for
> > the nodes (and parent nodes) to be accessible during MCU's u-boot SPL.
> > 
> > This in turn is desired since the tps659413 needs its MCU ESM
> > state machine setup in order for the watchdog to reset the board.
> > 
> > This took me a little while to track down, as enabling the ESM, TPS6594,
> > etc in u-boot would result in the below boot failure:
> > 
> >     U-Boot SPL 2024.10-rc4-00007-g44b12cbcd1b3-dirty (Sep 06 2024 - 14:25:52 -0500)
> >     SYSFW ABI: 3.1 (firmware rev 0x0009 '9.2.4--v09.02.04 (Kool Koala)')
> >     Initialized 4 DRAM controllers
> >     SPL initial stack usage: 13408 bytes
> >     ### ERROR ### Please RESET the board ###
> > 
> > Which turns out to actually have failed far earlier in spl_early_init(),
> > due to these nodes not being accessible in u-boot. That's hard to tell
> > though since console isn't setup until later (and for that reason I
> > think spl_early_init()'s return value in j784s4_init.c isn't
> > evaluated since a panic() at that point would leave a user with *no*
> > information at all).
> > 
> > I've tested this in conjunction with a u-boot series which I'll link in
> > a follow-up response on the k3-j784s4-evm. I'd appreciate someone testing
> > on the k3-am69-sk at a minimum, as it should suffer the same fate if things
> > aren't setup appropriately.
> > 
> > Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
> > ---
> > Changes in v3:
> > - Added Udit's Tested-by tags
> > - Reordered bootph-all to align with dts-coding-style (Beleswar)
> > - Link to v2: https://lore.kernel.org/r/20240911-j784s4-tps6594-bootph-v2-0-a83526264ab1@redhat.com
> 
> This applies fine still on linux-next, any chance this could be picked
> up?

You might've to re-spin the series, I saw that [0] got merged and you
might've to put j784s4 related changes in k3-j784s4-j742s2-evm-common.dtsi
now instead.

Regards,
Manorit

[0]: https://lore.kernel.org/linux-arm-kernel/20240902-b4-upstream-j742s2-v6-0-6a7aa2736797@ti.com/
> 
> The associated[0] u-boot change is dependent on this and it would be
> nice to get the wdog working on mainline u-boot + linux.
> 
> [0] https://lore.kernel.org/all/3bf2177d-178f-46bf-abfe-6f00a52c623b@ti.com/
> 
>