Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: Mark tps659413 regulators as bootph-all
@ 2024-09-16 17:14 Andrew Halaney
  2024-09-16 17:14 ` [PATCH v3 1/2] arm64: dts: ti: k3-j784s4-evm: " Andrew Halaney
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Andrew Halaney @ 2024-09-16 17:14 UTC (permalink / raw)
  To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Keerthy, Neha Malcom Francis, Eric Chanudet, Enric Balletbo,
	Udit Kumar, Beleswar Prasad Padhi, linux-arm-kernel, devicetree,
	linux-kernel, Andrew Halaney

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,
-- 
Andrew Halaney <ahalaney@redhat.com>



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v3 1/2] arm64: dts: ti: k3-j784s4-evm: Mark tps659413 regulators as bootph-all
  2024-09-16 17:14 [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: Mark tps659413 regulators as bootph-all Andrew Halaney
@ 2024-09-16 17:14 ` Andrew Halaney
  2024-09-16 17:14 ` [PATCH v3 2/2] arm64: dts: ti: k3-am69-sk: " Andrew Halaney
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Andrew Halaney @ 2024-09-16 17:14 UTC (permalink / raw)
  To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Keerthy, Neha Malcom Francis, Eric Chanudet, Enric Balletbo,
	Udit Kumar, Beleswar Prasad Padhi, linux-arm-kernel, devicetree,
	linux-kernel, Andrew Halaney

In order for the MCU domain to access this PMIC, a regulator
needs to be marked appropriately otherwise it is not seen by SPL and
therefore not configured.

This is necessary if the MCU domain is to program the TPS6594 MCU ESM
state machine, which is required to wire up the watchdog in a manner
that will reset the board.

Tested-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
---
 arch/arm64/boot/dts/ti/k3-j784s4-evm.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
index 6695ebbcb4d0..87b5b9b11e96 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
@@ -668,6 +668,7 @@ bucka12: buck12 {
 				regulator-max-microvolt = <1100000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			bucka3: buck3 {
@@ -676,6 +677,7 @@ bucka3: buck3 {
 				regulator-max-microvolt = <850000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			bucka4: buck4 {
@@ -684,6 +686,7 @@ bucka4: buck4 {
 				regulator-max-microvolt = <1800000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			bucka5: buck5 {
@@ -692,6 +695,7 @@ bucka5: buck5 {
 				regulator-max-microvolt = <850000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			ldoa1: ldo1 {
@@ -700,6 +704,7 @@ ldoa1: ldo1 {
 				regulator-max-microvolt = <1800000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			ldoa2: ldo2 {
@@ -708,6 +713,7 @@ ldoa2: ldo2 {
 				regulator-max-microvolt = <3300000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			ldoa3: ldo3 {
@@ -716,6 +722,7 @@ ldoa3: ldo3 {
 				regulator-max-microvolt = <800000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			ldoa4: ldo4 {
@@ -724,6 +731,7 @@ ldoa4: ldo4 {
 				regulator-max-microvolt = <1800000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 		};
 	};

-- 
2.46.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v3 2/2] arm64: dts: ti: k3-am69-sk: Mark tps659413 regulators as bootph-all
  2024-09-16 17:14 [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: Mark tps659413 regulators as bootph-all Andrew Halaney
  2024-09-16 17:14 ` [PATCH v3 1/2] arm64: dts: ti: k3-j784s4-evm: " Andrew Halaney
@ 2024-09-16 17:14 ` Andrew Halaney
  2024-10-10 14:56 ` [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: " Andrew Halaney
  2024-10-10 15:35 ` Beleswar Prasad Padhi
  3 siblings, 0 replies; 6+ messages in thread
From: Andrew Halaney @ 2024-09-16 17:14 UTC (permalink / raw)
  To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Keerthy, Neha Malcom Francis, Eric Chanudet, Enric Balletbo,
	Udit Kumar, Beleswar Prasad Padhi, linux-arm-kernel, devicetree,
	linux-kernel, Andrew Halaney

In order for the MCU domain to access this PMIC, a regulator
needs to be marked appropriately otherwise it is not seen by SPL and
therefore not configured.

This is necessary if the MCU domain is to program the TPS6594 MCU ESM
state machine, which is required to wire up the watchdog in a manner
that will reset the board.

Tested-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Andrew Halaney <ahalaney@redhat.com>
---
 arch/arm64/boot/dts/ti/k3-am69-sk.dts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-am69-sk.dts b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
index 1e36965a1403..5f24a1608bdc 100644
--- a/arch/arm64/boot/dts/ti/k3-am69-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am69-sk.dts
@@ -755,6 +755,7 @@ bucka12: buck12 {
 				regulator-max-microvolt = <1100000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			bucka3: buck3 {
@@ -763,6 +764,7 @@ bucka3: buck3 {
 				regulator-max-microvolt = <850000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			bucka4: buck4 {
@@ -771,6 +773,7 @@ bucka4: buck4 {
 				regulator-max-microvolt = <1800000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			bucka5: buck5 {
@@ -779,6 +782,7 @@ bucka5: buck5 {
 				regulator-max-microvolt = <850000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			ldoa1: ldo1 {
@@ -787,6 +791,7 @@ ldoa1: ldo1 {
 				regulator-max-microvolt = <1800000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			ldoa2: ldo2 {
@@ -795,6 +800,7 @@ ldoa2: ldo2 {
 				regulator-max-microvolt = <3300000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			ldoa3: ldo3 {
@@ -803,6 +809,7 @@ ldoa3: ldo3 {
 				regulator-max-microvolt = <800000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 
 			ldoa4: ldo4 {
@@ -811,6 +818,7 @@ ldoa4: ldo4 {
 				regulator-max-microvolt = <1800000>;
 				regulator-boot-on;
 				regulator-always-on;
+				bootph-all;
 			};
 		};
 	};

-- 
2.46.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: Mark tps659413 regulators as bootph-all
  2024-09-16 17:14 [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: Mark tps659413 regulators as bootph-all Andrew Halaney
  2024-09-16 17:14 ` [PATCH v3 1/2] arm64: dts: ti: k3-j784s4-evm: " Andrew Halaney
  2024-09-16 17:14 ` [PATCH v3 2/2] arm64: dts: ti: k3-am69-sk: " Andrew Halaney
@ 2024-10-10 14:56 ` Andrew Halaney
  2024-10-29 10:28   ` Manorit Chawdhry
  2024-10-10 15:35 ` Beleswar Prasad Padhi
  3 siblings, 1 reply; 6+ messages in thread
From: Andrew Halaney @ 2024-10-10 14:56 UTC (permalink / raw)
  To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Keerthy, Neha Malcom Francis, Eric Chanudet, Enric Balletbo,
	Udit Kumar, Beleswar Prasad Padhi, linux-arm-kernel, devicetree,
	linux-kernel

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/



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: Mark tps659413 regulators as bootph-all
  2024-09-16 17:14 [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: Mark tps659413 regulators as bootph-all Andrew Halaney
                   ` (2 preceding siblings ...)
  2024-10-10 14:56 ` [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: " Andrew Halaney
@ 2024-10-10 15:35 ` Beleswar Prasad Padhi
  3 siblings, 0 replies; 6+ messages in thread
From: Beleswar Prasad Padhi @ 2024-10-10 15:35 UTC (permalink / raw)
  To: Andrew Halaney, Nishanth Menon, Vignesh Raghavendra, Tero Kristo,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: Keerthy, Neha Malcom Francis, Eric Chanudet, Enric Balletbo,
	Udit Kumar, linux-arm-kernel, devicetree, linux-kernel


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,


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: Mark tps659413 regulators as bootph-all
  2024-10-10 14:56 ` [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: " Andrew Halaney
@ 2024-10-29 10:28   ` Manorit Chawdhry
  0 siblings, 0 replies; 6+ messages in thread
From: Manorit Chawdhry @ 2024-10-29 10:28 UTC (permalink / raw)
  To: Andrew Halaney
  Cc: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Keerthy, Neha Malcom Francis,
	Eric Chanudet, Enric Balletbo, Udit Kumar, Beleswar Prasad Padhi,
	linux-arm-kernel, devicetree, linux-kernel

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/
> 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-10-29 10:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-16 17:14 [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: Mark tps659413 regulators as bootph-all Andrew Halaney
2024-09-16 17:14 ` [PATCH v3 1/2] arm64: dts: ti: k3-j784s4-evm: " Andrew Halaney
2024-09-16 17:14 ` [PATCH v3 2/2] arm64: dts: ti: k3-am69-sk: " Andrew Halaney
2024-10-10 14:56 ` [PATCH v3 0/2] arm64: dts: ti: k3-j784s4: " Andrew Halaney
2024-10-29 10:28   ` Manorit Chawdhry
2024-10-10 15:35 ` Beleswar Prasad Padhi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox