public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH] arm64: dts: ti: k3-j784s4: use ti,j7200-padconf compatible
@ 2024-11-13 10:43 Thomas Richard
  2024-11-19 19:01 ` Francesco Dolcini
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Richard @ 2024-11-13 10:43 UTC (permalink / raw)
  To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-kernel, devicetree, linux-kernel, gregory.clement,
	thomas.petazzoni, richard.genoud, u-kumar1, Thomas Richard

Like on j7200, pinctrl contexts shall be saved and restored during
suspend-to-ram.

So use ti,j7200-padconf compatible.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
---
Use ti,j7200-padconf compatible to save and restore pinctrl contexts during
suspend-to-ram.
---
 arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi       |  6 +++---
 arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 12 ++++++------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
index e73bb750b09a..b25d9a6aff2c 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi
@@ -230,7 +230,7 @@ main_gpio_intr: interrupt-controller@a00000 {
 	};
 
 	main_pmx0: pinctrl@11c000 {
-		compatible = "pinctrl-single";
+		compatible = "ti,j7200-padconf", "pinctrl-single";
 		/* Proxy 0 addressing */
 		reg = <0x00 0x11c000 0x00 0x120>;
 		#pinctrl-cells = <1>;
@@ -240,7 +240,7 @@ main_pmx0: pinctrl@11c000 {
 
 	/* TIMERIO pad input CTRLMMR_TIMER*_CTRL registers */
 	main_timerio_input: pinctrl@104200 {
-		compatible = "pinctrl-single";
+		compatible = "ti,j7200-padconf", "pinctrl-single";
 		reg = <0x00 0x104200 0x00 0x50>;
 		#pinctrl-cells = <1>;
 		pinctrl-single,register-width = <32>;
@@ -249,7 +249,7 @@ main_timerio_input: pinctrl@104200 {
 
 	/* TIMERIO pad output CTCTRLMMR_TIMERIO*_CTRL registers */
 	main_timerio_output: pinctrl@104280 {
-		compatible = "pinctrl-single";
+		compatible = "ti,j7200-padconf", "pinctrl-single";
 		reg = <0x00 0x104280 0x00 0x20>;
 		#pinctrl-cells = <1>;
 		pinctrl-single,register-width = <32>;
diff --git a/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
index 2c97d1c7ebcd..36341665177f 100644
--- a/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi
@@ -76,7 +76,7 @@ mcu_ram: sram@41c00000 {
 	};
 
 	wkup_pmx0: pinctrl@4301c000 {
-		compatible = "pinctrl-single";
+		compatible = "ti,j7200-padconf", "pinctrl-single";
 		/* Proxy 0 addressing */
 		reg = <0x00 0x4301c000 0x00 0x034>;
 		#pinctrl-cells = <1>;
@@ -85,7 +85,7 @@ wkup_pmx0: pinctrl@4301c000 {
 	};
 
 	wkup_pmx1: pinctrl@4301c038 {
-		compatible = "pinctrl-single";
+		compatible = "ti,j7200-padconf", "pinctrl-single";
 		/* Proxy 0 addressing */
 		reg = <0x00 0x4301c038 0x00 0x02c>;
 		#pinctrl-cells = <1>;
@@ -94,7 +94,7 @@ wkup_pmx1: pinctrl@4301c038 {
 	};
 
 	wkup_pmx2: pinctrl@4301c068 {
-		compatible = "pinctrl-single";
+		compatible = "ti,j7200-padconf", "pinctrl-single";
 		/* Proxy 0 addressing */
 		reg = <0x00 0x4301c068 0x00 0x120>;
 		#pinctrl-cells = <1>;
@@ -103,7 +103,7 @@ wkup_pmx2: pinctrl@4301c068 {
 	};
 
 	wkup_pmx3: pinctrl@4301c190 {
-		compatible = "pinctrl-single";
+		compatible = "ti,j7200-padconf", "pinctrl-single";
 		/* Proxy 0 addressing */
 		reg = <0x00 0x4301c190 0x00 0x004>;
 		#pinctrl-cells = <1>;
@@ -125,7 +125,7 @@ wkup_gpio_intr: interrupt-controller@42200000 {
 
 	/* MCU_TIMERIO pad input CTRLMMR_MCU_TIMER*_CTRL registers */
 	mcu_timerio_input: pinctrl@40f04200 {
-		compatible = "pinctrl-single";
+		compatible = "ti,j7200-padconf", "pinctrl-single";
 		reg = <0x00 0x40f04200 0x00 0x28>;
 		#pinctrl-cells = <1>;
 		pinctrl-single,register-width = <32>;
@@ -136,7 +136,7 @@ mcu_timerio_input: pinctrl@40f04200 {
 
 	/* MCU_TIMERIO pad output CTRLMMR_MCU_TIMERIO*_CTRL registers */
 	mcu_timerio_output: pinctrl@40f04280 {
-		compatible = "pinctrl-single";
+		compatible = "ti,j7200-padconf", "pinctrl-single";
 		reg = <0x00 0x40f04280 0x00 0x28>;
 		#pinctrl-cells = <1>;
 		pinctrl-single,register-width = <32>;

---
base-commit: eff6d7cad08c4ce4e3456fd7f8f1d94c81cd2b63
change-id: 20241108-j784s4-s2r-pinctrl-643e1ac2014c

Best regards,
-- 
Thomas Richard <thomas.richard@bootlin.com>



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

* Re: [PATCH] arm64: dts: ti: k3-j784s4: use ti,j7200-padconf compatible
  2024-11-13 10:43 [PATCH] arm64: dts: ti: k3-j784s4: use ti,j7200-padconf compatible Thomas Richard
@ 2024-11-19 19:01 ` Francesco Dolcini
  2024-12-04  9:08   ` Thomas Richard
  0 siblings, 1 reply; 5+ messages in thread
From: Francesco Dolcini @ 2024-11-19 19:01 UTC (permalink / raw)
  To: Thomas Richard, Nishanth Menon, Vignesh Raghavendra, u-kumar1
  Cc: Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-arm-kernel, devicetree, linux-kernel, gregory.clement,
	thomas.petazzoni, richard.genoud

Hello Thomas and TI folks,

On Wed, Nov 13, 2024 at 11:43:05AM +0100, Thomas Richard wrote:
> Like on j7200, pinctrl contexts shall be saved and restored during
> suspend-to-ram.
> 
> So use ti,j7200-padconf compatible.
> 
> Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
> ---
> Use ti,j7200-padconf compatible to save and restore pinctrl contexts during
> suspend-to-ram.
> ---
>  arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi       |  6 +++---
>  arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 12 ++++++------

Do j784s4 supports any kind of low power mode and/or suspend to ram? My
understanding was that this was not supported, but maybe there is some
details that was lost when I was told this information.

Thanks,
Francesco




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

* Re: [PATCH] arm64: dts: ti: k3-j784s4: use ti,j7200-padconf compatible
  2024-11-19 19:01 ` Francesco Dolcini
@ 2024-12-04  9:08   ` Thomas Richard
  2024-12-04  9:59     ` Francesco Dolcini
  0 siblings, 1 reply; 5+ messages in thread
From: Thomas Richard @ 2024-12-04  9:08 UTC (permalink / raw)
  To: Francesco Dolcini, Nishanth Menon, Vignesh Raghavendra, u-kumar1
  Cc: Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-arm-kernel, devicetree, linux-kernel, gregory.clement,
	thomas.petazzoni, richard.genoud

On 11/19/24 20:01, Francesco Dolcini wrote:
> Hello Thomas and TI folks,
> 
> On Wed, Nov 13, 2024 at 11:43:05AM +0100, Thomas Richard wrote:
>> Like on j7200, pinctrl contexts shall be saved and restored during
>> suspend-to-ram.
>>
>> So use ti,j7200-padconf compatible.
>>
>> Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
>> ---
>> Use ti,j7200-padconf compatible to save and restore pinctrl contexts during
>> suspend-to-ram.
>> ---
>>  arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi       |  6 +++---
>>  arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 12 ++++++------
> 
> Do j784s4 supports any kind of low power mode and/or suspend to ram? My
> understanding was that this was not supported, but maybe there is some
> details that was lost when I was told this information.

Hello Francesco,

We are working on suspend-to-ram support for j7200 and j784s4.
During suspend-to-ram the SoC is fully powered-off (thanks to the PMIC
which powers off all the power rails except the DDR which is in
self-refresh), like on j7200.
Please let me know if you want more details.

Regards,

Thomas


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

* Re: [PATCH] arm64: dts: ti: k3-j784s4: use ti,j7200-padconf compatible
  2024-12-04  9:08   ` Thomas Richard
@ 2024-12-04  9:59     ` Francesco Dolcini
  2024-12-04 10:21       ` Thomas Richard
  0 siblings, 1 reply; 5+ messages in thread
From: Francesco Dolcini @ 2024-12-04  9:59 UTC (permalink / raw)
  To: Thomas Richard
  Cc: Francesco Dolcini, Nishanth Menon, Vignesh Raghavendra, u-kumar1,
	Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-arm-kernel, devicetree, linux-kernel, gregory.clement,
	thomas.petazzoni, richard.genoud

Hello Thomas,
thanks for the update.

On Wed, Dec 04, 2024 at 10:08:43AM +0100, Thomas Richard wrote:
> On 11/19/24 20:01, Francesco Dolcini wrote:
> > Hello Thomas and TI folks,
> > 
> > On Wed, Nov 13, 2024 at 11:43:05AM +0100, Thomas Richard wrote:
> >> Like on j7200, pinctrl contexts shall be saved and restored during
> >> suspend-to-ram.
> >>
> >> So use ti,j7200-padconf compatible.
> >>
> >> Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
> >> ---
> >> Use ti,j7200-padconf compatible to save and restore pinctrl contexts during
> >> suspend-to-ram.
> >> ---
> >>  arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi       |  6 +++---
> >>  arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 12 ++++++------
> > 
> > Do j784s4 supports any kind of low power mode and/or suspend to ram? My
> > understanding was that this was not supported, but maybe there is some
> > details that was lost when I was told this information.
> 
> We are working on suspend-to-ram support for j7200 and j784s4.
> During suspend-to-ram the SoC is fully powered-off (thanks to the PMIC
> which powers off all the power rails except the DDR which is in
> self-refresh), like on j7200.
> Please let me know if you want more details.

ok, that's quite different from the common suspend-to-ram we use to have
implemented on other SoC. You would have some boot firmware (likely U-Boot)
code executing during resume, taking some different code path, in a similar way
to what it is being done for the partial-io support on am62p. It's going to be
more similar to hibernation from some point of view.

Do you expect to have this feature nicely integrated within the standard
suspend/resume "framework" in Linux?

It would be interesting to understand how to handle all the peripherals outside
the SoC, if you have reset/regulator controlled by GPIO from the SoC stuff will
happen as soon as the SoC is powered off since no one will drive this pins any
longer. From my understanding the only solution would be to not have such
regulator/reset connect to the SoC.

Francesco



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

* Re: [PATCH] arm64: dts: ti: k3-j784s4: use ti,j7200-padconf compatible
  2024-12-04  9:59     ` Francesco Dolcini
@ 2024-12-04 10:21       ` Thomas Richard
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Richard @ 2024-12-04 10:21 UTC (permalink / raw)
  To: Francesco Dolcini
  Cc: Nishanth Menon, Vignesh Raghavendra, u-kumar1, Tero Kristo,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel,
	devicetree, linux-kernel, gregory.clement, thomas.petazzoni,
	richard.genoud

On 12/4/24 10:59, Francesco Dolcini wrote:
> Hello Thomas,
> thanks for the update.
> 
> On Wed, Dec 04, 2024 at 10:08:43AM +0100, Thomas Richard wrote:
>> On 11/19/24 20:01, Francesco Dolcini wrote:
>>> Hello Thomas and TI folks,
>>>
>>> On Wed, Nov 13, 2024 at 11:43:05AM +0100, Thomas Richard wrote:
>>>> Like on j7200, pinctrl contexts shall be saved and restored during
>>>> suspend-to-ram.
>>>>
>>>> So use ti,j7200-padconf compatible.
>>>>
>>>> Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
>>>> ---
>>>> Use ti,j7200-padconf compatible to save and restore pinctrl contexts during
>>>> suspend-to-ram.
>>>> ---
>>>>  arch/arm64/boot/dts/ti/k3-j784s4-main.dtsi       |  6 +++---
>>>>  arch/arm64/boot/dts/ti/k3-j784s4-mcu-wakeup.dtsi | 12 ++++++------
>>>
>>> Do j784s4 supports any kind of low power mode and/or suspend to ram? My
>>> understanding was that this was not supported, but maybe there is some
>>> details that was lost when I was told this information.
>>
>> We are working on suspend-to-ram support for j7200 and j784s4.
>> During suspend-to-ram the SoC is fully powered-off (thanks to the PMIC
>> which powers off all the power rails except the DDR which is in
>> self-refresh), like on j7200.
>> Please let me know if you want more details.
> 
> ok, that's quite different from the common suspend-to-ram we use to have
> implemented on other SoC. You would have some boot firmware (likely U-Boot)
> code executing during resume, taking some different code path, in a similar way
> to what it is being done for the partial-io support on am62p. It's going to be
> more similar to hibernation from some point of view.

If you want more details you can have a look to this presentation [1]
(from my colleague Gregory CLEMENT).

[1] https://www.youtube.com/watch?v=sN4krurp8bM

> 
> Do you expect to have this feature nicely integrated within the standard
> suspend/resume "framework" in Linux?

Yes.

Regards,

Thomas


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

end of thread, other threads:[~2024-12-04 10:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-13 10:43 [PATCH] arm64: dts: ti: k3-j784s4: use ti,j7200-padconf compatible Thomas Richard
2024-11-19 19:01 ` Francesco Dolcini
2024-12-04  9:08   ` Thomas Richard
2024-12-04  9:59     ` Francesco Dolcini
2024-12-04 10:21       ` Thomas Richard

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