* [PATCH v3 0/4] arm64: boot: dts: ti: k3-am62l: allow WKUP UART wakeup from LPM
@ 2026-01-27 22:39 Kendall Willis
2026-01-27 22:39 ` [PATCH v3 1/4] arm64: dts: ti: k3-am62l: include WKUP_UART0 in wakeup peripheral window Kendall Willis
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Kendall Willis @ 2026-01-27 22:39 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dhruva Gole, Bryan Brattlof
Cc: vishalm, sebin.francis, msp, khilman, linux-arm-kernel,
devicetree, linux-kernel, Kendall Willis
K3 TI AM62L SoC supports wakeup from WKUP UART when the SoC is in the
DeepSleep low power mode. To allow wakeup from WKUP UART the target-module
device tree node is enabled. The ti-sysc interconnect target module driver
is used to configure the the SYSCONFIG related registers. In this case,
the interconnect target module node configures the WKUP UART to be able to
wakeup from system suspend. The SYSC register is used to enable wakeup
from system suspend for the WKUP UART. Refer to 14.7.2.5 UART in the
AM62L Techincal Reference Manual for registers referenced [1].
Previous TI SoCs configure the WKUP UART to wakeup from system suspend
using the ti-sysc interconnect target module driver. Refer to commit
ce27f7f ("arm64: dts: ti: k3-am62-wakeup: Configure ti-sysc for
wkup_uart0") for an example of this.
wkup_uart0 is not enabled to preserve the Linux console printing on uart0.
Testing
-------
Tested on AM62L EVM.
[1] https://www.ti.com/lit/ug/sprujb4a/sprujb4a.pdf
Signed-off-by: Kendall Willis <k-willis@ti.com>
---
Changes in v3:
- Add pin definition to wkup_uart0 node.
- Link to v2: https://lore.kernel.org/r/20260106-wkup-uart-wakeup-v2-0-fb4cbd56c827@ti.com
Changes in v2:
- Change subject of commit "arm64: boot: dts: ti: k3-am62l3-evm: enable
target-module node" to better match the code logic of the patch.
- Link to v1: https://lore.kernel.org/r/20251230-wkup-uart-wakeup-v1-0-cd6e15f8d956@ti.com
---
Kendall Willis (4):
arm64: dts: ti: k3-am62l: include WKUP_UART0 in wakeup peripheral window
arm64: boot: dts: ti: k3-am62l-wakeup: create label for target-module
arm64: boot: dts: ti: k3-am62l3-evm: define WKUP_UART0 pins
arm64: boot: dts: ti: k3-am62l3-evm: enable target-module node
arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi | 2 +-
arch/arm64/boot/dts/ti/k3-am62l.dtsi | 4 ++--
arch/arm64/boot/dts/ti/k3-am62l3-evm.dts | 15 +++++++++++++++
3 files changed, 18 insertions(+), 3 deletions(-)
---
base-commit: 63804fed149a6750ffd28610c5c1c98cce6bd377
change-id: 20260127-v6-19-wkup-uart-wakeup-11c1c3d5b99a
Best regards,
--
Kendall Willis <k-willis@ti.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 1/4] arm64: dts: ti: k3-am62l: include WKUP_UART0 in wakeup peripheral window
2026-01-27 22:39 [PATCH v3 0/4] arm64: boot: dts: ti: k3-am62l: allow WKUP UART wakeup from LPM Kendall Willis
@ 2026-01-27 22:39 ` Kendall Willis
2026-01-27 22:39 ` [PATCH v3 2/4] arm64: boot: dts: ti: k3-am62l-wakeup: create label for target-module Kendall Willis
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Kendall Willis @ 2026-01-27 22:39 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dhruva Gole, Bryan Brattlof
Cc: vishalm, sebin.francis, msp, khilman, linux-arm-kernel,
devicetree, linux-kernel, Kendall Willis
WKUP_UART0 is apart of the wakeup peripherals and has a range from
0x002B300000 to 0x002B3001FF. Expand the wakeup peripheral window to
include WKUP_UART0.
Fixes: 5f016758b0ab ("arm64: dts: ti: k3-am62l: add initial infrastructure")
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Kendall Willis <k-willis@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62l.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62l.dtsi b/arch/arm64/boot/dts/ti/k3-am62l.dtsi
index 23acdbb301fe38e6045c0ef3ae340196009ed217..e01e342c26daaa06a72036cc3a9a7b13a60e6738 100644
--- a/arch/arm64/boot/dts/ti/k3-am62l.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62l.dtsi
@@ -92,7 +92,7 @@ cbass_main: bus@f0000 {
<0x00 0x00b00000 0x00 0x00b00000 0x00 0x00001400>, /* VTM */
<0x00 0x04080000 0x00 0x04080000 0x00 0x00008000>, /* PDCFG */
<0x00 0x04201000 0x00 0x04201000 0x00 0x00000100>, /* GPIO */
- <0x00 0x2b100000 0x00 0x2b100000 0x00 0x00100100>, /* Wakeup Peripheral Window */
+ <0x00 0x2b100000 0x00 0x2b100000 0x00 0x00200200>, /* Wakeup Peripheral Window */
<0x00 0x40800000 0x00 0x40800000 0x00 0x00014000>, /* DMA */
<0x00 0x43000000 0x00 0x43000000 0x00 0x00080000>; /* CTRL MMRs */
#address-cells = <2>;
@@ -104,7 +104,7 @@ cbass_wakeup: bus@a80000 {
<0x00 0x00b00000 0x00 0x00b00000 0x00 0x00001400>, /* VTM */
<0x00 0x04080000 0x00 0x04080000 0x00 0x00008000>, /* PDCFG */
<0x00 0x04201000 0x00 0x04201000 0x00 0x00000100>, /* GPIO */
- <0x00 0x2b100000 0x00 0x2b100000 0x00 0x00100100>, /* Wakeup Peripheral Window */
+ <0x00 0x2b100000 0x00 0x2b100000 0x00 0x00200200>, /* Wakeup Peripheral Window */
<0x00 0x40800000 0x00 0x40800000 0x00 0x00014000>, /* DMA */
<0x00 0x43000000 0x00 0x43000000 0x00 0x00080000>; /* CTRL MMRs */
#address-cells = <2>;
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 2/4] arm64: boot: dts: ti: k3-am62l-wakeup: create label for target-module
2026-01-27 22:39 [PATCH v3 0/4] arm64: boot: dts: ti: k3-am62l: allow WKUP UART wakeup from LPM Kendall Willis
2026-01-27 22:39 ` [PATCH v3 1/4] arm64: dts: ti: k3-am62l: include WKUP_UART0 in wakeup peripheral window Kendall Willis
@ 2026-01-27 22:39 ` Kendall Willis
2026-02-06 4:41 ` Vignesh Raghavendra
2026-01-27 22:39 ` [PATCH v3 3/4] arm64: boot: dts: ti: k3-am62l3-evm: define WKUP_UART0 pins Kendall Willis
2026-01-27 22:39 ` [PATCH v3 4/4] arm64: boot: dts: ti: k3-am62l3-evm: enable target-module node Kendall Willis
3 siblings, 1 reply; 7+ messages in thread
From: Kendall Willis @ 2026-01-27 22:39 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dhruva Gole, Bryan Brattlof
Cc: vishalm, sebin.francis, msp, khilman, linux-arm-kernel,
devicetree, linux-kernel, Kendall Willis
Add label to the target-module node so that it can easily be referenced.
The node specifically configures the SYSCONFIG related registers for WKUP
UART.
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Kendall Willis <k-willis@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi
index 61bfcdcfc66ea8d802a36ed43cd01fbbf3decc70..e9d638d9ffd3a52aa6e0df70f6003879bc292358 100644
--- a/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi
@@ -81,7 +81,7 @@ wkup_i2c0: i2c@2b200000 {
status = "disabled";
};
- target-module@2b300050 {
+ wkup_uart0_interconnect: target-module@2b300050 {
compatible = "ti,sysc-omap2", "ti,sysc";
reg = <0x00 0x2b300050 0x00 0x4>,
<0x00 0x2b300054 0x00 0x4>,
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 3/4] arm64: boot: dts: ti: k3-am62l3-evm: define WKUP_UART0 pins
2026-01-27 22:39 [PATCH v3 0/4] arm64: boot: dts: ti: k3-am62l: allow WKUP UART wakeup from LPM Kendall Willis
2026-01-27 22:39 ` [PATCH v3 1/4] arm64: dts: ti: k3-am62l: include WKUP_UART0 in wakeup peripheral window Kendall Willis
2026-01-27 22:39 ` [PATCH v3 2/4] arm64: boot: dts: ti: k3-am62l-wakeup: create label for target-module Kendall Willis
@ 2026-01-27 22:39 ` Kendall Willis
2026-01-27 22:39 ` [PATCH v3 4/4] arm64: boot: dts: ti: k3-am62l3-evm: enable target-module node Kendall Willis
3 siblings, 0 replies; 7+ messages in thread
From: Kendall Willis @ 2026-01-27 22:39 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dhruva Gole, Bryan Brattlof
Cc: vishalm, sebin.francis, msp, khilman, linux-arm-kernel,
devicetree, linux-kernel, Kendall Willis
Add the pin definition for the WKUP_UART0 node.
Signed-off-by: Kendall Willis <k-willis@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62l3-evm.dts | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
index cae04cce337366b50928d39b0c888550b14e43d3..3ac9a2d0d9cb78d87479c4a8aed5c0b1f1cb3faa 100644
--- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
@@ -306,6 +306,12 @@ AM62LX_IOPAD(0x0238, PIN_OUTPUT, 7) /* (D24) MMC1_SDWP.GPIO0_123 */
>;
};
+ wkup_uart0_pins_default: wkup-uart0-default-pins {
+ pinctrl-single,pins = <
+ AM62LX_IOPAD(0x0000, PIN_INPUT, 0) /* (Y22) WKUP_UART0_RXD */
+ AM62LX_IOPAD(0x0004, PIN_OUTPUT, 0) /* (AA23) WKUP_UART0_TXD */
+ >;
+ };
};
&sdhci0 {
@@ -359,3 +365,8 @@ &usb1 {
pinctrl-names = "default";
pinctrl-0 = <&usb1_default_pins>;
};
+
+&wkup_uart0 {
+ pinctrl-0 = <&wkup_uart0_pins_default>;
+ pinctrl-names = "default";
+};
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 4/4] arm64: boot: dts: ti: k3-am62l3-evm: enable target-module node
2026-01-27 22:39 [PATCH v3 0/4] arm64: boot: dts: ti: k3-am62l: allow WKUP UART wakeup from LPM Kendall Willis
` (2 preceding siblings ...)
2026-01-27 22:39 ` [PATCH v3 3/4] arm64: boot: dts: ti: k3-am62l3-evm: define WKUP_UART0 pins Kendall Willis
@ 2026-01-27 22:39 ` Kendall Willis
3 siblings, 0 replies; 7+ messages in thread
From: Kendall Willis @ 2026-01-27 22:39 UTC (permalink / raw)
To: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dhruva Gole, Bryan Brattlof
Cc: vishalm, sebin.francis, msp, khilman, linux-arm-kernel,
devicetree, linux-kernel, Kendall Willis
Change the status of the wkup_uart0_interconnect node to enabled. The
target-module node sets the UART SYSS register to allow wakeup from WKUP
UART in DeepSleep low power mode.
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Signed-off-by: Kendall Willis <k-willis@ti.com>
---
arch/arm64/boot/dts/ti/k3-am62l3-evm.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
index 3ac9a2d0d9cb78d87479c4a8aed5c0b1f1cb3faa..37379b86582c9e412f94c18ce7fa81857034375f 100644
--- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
@@ -370,3 +370,7 @@ &wkup_uart0 {
pinctrl-0 = <&wkup_uart0_pins_default>;
pinctrl-names = "default";
};
+
+&wkup_uart0_interconnect {
+ status = "okay";
+};
--
2.34.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/4] arm64: boot: dts: ti: k3-am62l-wakeup: create label for target-module
2026-01-27 22:39 ` [PATCH v3 2/4] arm64: boot: dts: ti: k3-am62l-wakeup: create label for target-module Kendall Willis
@ 2026-02-06 4:41 ` Vignesh Raghavendra
2026-02-12 22:06 ` Kendall Willis
0 siblings, 1 reply; 7+ messages in thread
From: Vignesh Raghavendra @ 2026-02-06 4:41 UTC (permalink / raw)
To: Kendall Willis, Nishanth Menon, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dhruva Gole, Bryan Brattlof
Cc: vishalm, sebin.francis, msp, khilman, linux-arm-kernel,
devicetree, linux-kernel
Hi
On 28/01/26 04:09, Kendall Willis wrote:
> Add label to the target-module node so that it can easily be referenced.
> The node specifically configures the SYSCONFIG related registers for WKUP
> UART.
>
> Reviewed-by: Dhruva Gole <d-gole@ti.com>
> Signed-off-by: Kendall Willis <k-willis@ti.com>
> ---
> arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi
> index 61bfcdcfc66ea8d802a36ed43cd01fbbf3decc70..e9d638d9ffd3a52aa6e0df70f6003879bc292358 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi
> +++ b/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi
> @@ -81,7 +81,7 @@ wkup_i2c0: i2c@2b200000 {
> status = "disabled";
> };
>
> - target-module@2b300050 {
> + wkup_uart0_interconnect: target-module@2b300050 {
This is not an interconnect node, so the label is a bit misleading, just
use something like wkup_uart_target or something similar to how these
are labeled in arch/arm/boot/dts/ti/
> compatible = "ti,sysc-omap2", "ti,sysc";
> reg = <0x00 0x2b300050 0x00 0x4>,
> <0x00 0x2b300054 0x00 0x4>,
>
--
Regards
Vignesh
https://ti.com/opensource
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/4] arm64: boot: dts: ti: k3-am62l-wakeup: create label for target-module
2026-02-06 4:41 ` Vignesh Raghavendra
@ 2026-02-12 22:06 ` Kendall Willis
0 siblings, 0 replies; 7+ messages in thread
From: Kendall Willis @ 2026-02-12 22:06 UTC (permalink / raw)
To: Vignesh Raghavendra, Nishanth Menon, Tero Kristo, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Dhruva Gole, Bryan Brattlof
Cc: vishalm, sebin.francis, msp, khilman, linux-arm-kernel,
devicetree, linux-kernel
Hi Vignesh,
On 2/5/26 22:41, Vignesh Raghavendra wrote:
> Hi
>
> On 28/01/26 04:09, Kendall Willis wrote:
>> Add label to the target-module node so that it can easily be referenced.
>> The node specifically configures the SYSCONFIG related registers for WKUP
>> UART.
>>
>> Reviewed-by: Dhruva Gole <d-gole@ti.com>
>> Signed-off-by: Kendall Willis <k-willis@ti.com>
>> ---
>> arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi
>> index 61bfcdcfc66ea8d802a36ed43cd01fbbf3decc70..e9d638d9ffd3a52aa6e0df70f6003879bc292358 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi
>> +++ b/arch/arm64/boot/dts/ti/k3-am62l-wakeup.dtsi
>> @@ -81,7 +81,7 @@ wkup_i2c0: i2c@2b200000 {
>> status = "disabled";
>> };
>>
>> - target-module@2b300050 {
>> + wkup_uart0_interconnect: target-module@2b300050 {
>
> This is not an interconnect node, so the label is a bit misleading, just
> use something like wkup_uart_target or something similar to how these
> are labeled in arch/arm/boot/dts/ti/
>
Will fix this in v4, thanks for pointing this out.
Best,
Kendall
>> compatible = "ti,sysc-omap2", "ti,sysc";
>> reg = <0x00 0x2b300050 0x00 0x4>,
>> <0x00 0x2b300054 0x00 0x4>,
>>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-02-12 22:06 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-27 22:39 [PATCH v3 0/4] arm64: boot: dts: ti: k3-am62l: allow WKUP UART wakeup from LPM Kendall Willis
2026-01-27 22:39 ` [PATCH v3 1/4] arm64: dts: ti: k3-am62l: include WKUP_UART0 in wakeup peripheral window Kendall Willis
2026-01-27 22:39 ` [PATCH v3 2/4] arm64: boot: dts: ti: k3-am62l-wakeup: create label for target-module Kendall Willis
2026-02-06 4:41 ` Vignesh Raghavendra
2026-02-12 22:06 ` Kendall Willis
2026-01-27 22:39 ` [PATCH v3 3/4] arm64: boot: dts: ti: k3-am62l3-evm: define WKUP_UART0 pins Kendall Willis
2026-01-27 22:39 ` [PATCH v3 4/4] arm64: boot: dts: ti: k3-am62l3-evm: enable target-module node Kendall Willis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®