[PATCH 3/3] arm64: boot: dts: ti: k3-am62l3-evm: enable WKUP UART wakeup from LPM

Kendall Willis posted 3 patches 1 month, 1 week ago
[PATCH 3/3] arm64: boot: dts: ti: k3-am62l3-evm: enable WKUP UART wakeup from LPM
Posted by Kendall Willis 1 month, 1 week ago
Change the status of the wkup_uart0_interconnect node to enabled. The
target-module node sets the UART SYSC and SYSS registers to allow wakeup
from WKUP UART in DeepSleep low power mode.

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 cae04cce337366b50928d39b0c888550b14e43d3..02b1a1c76b2ee05d49cd69d199a6aacdb1973fa0 100644
--- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
@@ -359,3 +359,7 @@ &usb1 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&usb1_default_pins>;
 };
+
+&wkup_uart0_interconnect {
+	status = "okay";
+};

-- 
2.34.1
Re: [PATCH 3/3] arm64: boot: dts: ti: k3-am62l3-evm: enable WKUP UART wakeup from LPM
Posted by Bryan Brattlof 1 month ago
On December 30, 2025 thus sayeth Kendall Willis:
> Change the status of the wkup_uart0_interconnect node to enabled. The
> target-module node sets the UART SYSC and SYSS registers to allow wakeup
> from WKUP UART in DeepSleep low power mode.
> 
> 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 cae04cce337366b50928d39b0c888550b14e43d3..02b1a1c76b2ee05d49cd69d199a6aacdb1973fa0 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
> @@ -359,3 +359,7 @@ &usb1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&usb1_default_pins>;
>  };
> +
> +&wkup_uart0_interconnect {
> +	status = "okay";
> +};

Does the UART need to be enabled as well?

~Bryan
Re: [PATCH 3/3] arm64: boot: dts: ti: k3-am62l3-evm: enable WKUP UART wakeup from LPM
Posted by Kendall Willis 1 month ago
On 1/5/26 08:01, Bryan Brattlof wrote:
> On December 30, 2025 thus sayeth Kendall Willis:
>> Change the status of the wkup_uart0_interconnect node to enabled. The
>> target-module node sets the UART SYSC and SYSS registers to allow wakeup
>> from WKUP UART in DeepSleep low power mode.
>>
>> 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 cae04cce337366b50928d39b0c888550b14e43d3..02b1a1c76b2ee05d49cd69d199a6aacdb1973fa0 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
>> +++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
>> @@ -359,3 +359,7 @@ &usb1 {
>>   	pinctrl-names = "default";
>>   	pinctrl-0 = <&usb1_default_pins>;
>>   };
>> +
>> +&wkup_uart0_interconnect {
>> +	status = "okay";
>> +};
> 
> Does the UART need to be enabled as well?
> 
> ~Bryan

The UART does not need to be enabled because the interconnect target 
module manages the SYSC register which configures the WKUP_UART to be 
able to wakeup the SoC from system suspend. This allows the WKUP_UART to 
be wakeup capable for the SoC even if it is disabled by Linux.

Best,
Kendall
Re: [PATCH 3/3] arm64: boot: dts: ti: k3-am62l3-evm: enable WKUP UART wakeup from LPM
Posted by Nishanth Menon 1 month ago
On 20:51-20251230, Kendall Willis wrote:
> Change the status of the wkup_uart0_interconnect node to enabled. The
> target-module node sets the UART SYSC and SYSS registers to allow wakeup
> from WKUP UART in DeepSleep low power mode.
> 
> 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 cae04cce337366b50928d39b0c888550b14e43d3..02b1a1c76b2ee05d49cd69d199a6aacdb1973fa0 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
> @@ -359,3 +359,7 @@ &usb1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&usb1_default_pins>;
>  };
> +
> +&wkup_uart0_interconnect {
> +	status = "okay";
> +};

don't we need to set status okay and provide pinmux for wkup_uart?

> 
> -- 
> 2.34.1
> 

-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D
https://ti.com/opensource
Re: [PATCH 3/3] arm64: boot: dts: ti: k3-am62l3-evm: enable WKUP UART wakeup from LPM
Posted by Kendall Willis 1 month ago
On 1/5/26 07:55, Nishanth Menon wrote:
> On 20:51-20251230, Kendall Willis wrote:
>> Change the status of the wkup_uart0_interconnect node to enabled. The
>> target-module node sets the UART SYSC and SYSS registers to allow wakeup
>> from WKUP UART in DeepSleep low power mode.
>>
>> 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 cae04cce337366b50928d39b0c888550b14e43d3..02b1a1c76b2ee05d49cd69d199a6aacdb1973fa0 100644
>> --- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
>> +++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
>> @@ -359,3 +359,7 @@ &usb1 {
>>   	pinctrl-names = "default";
>>   	pinctrl-0 = <&usb1_default_pins>;
>>   };
>> +
>> +&wkup_uart0_interconnect {
>> +	status = "okay";
>> +};
> 
> don't we need to set status okay and provide pinmux for wkup_uart?
> 

No, only the interconnect target node needs to be enabled because it 
manages the SYSC register. The SYSC register configures the WKUP_UART to 
be able to wakeup the SoC from system suspend. This allows the WKUP_UART 
to be wakeup capable even if it is reserved by firmware.

Best,
Kendall

>>
>> -- 
>> 2.34.1
>>
>
Re: [PATCH 3/3] arm64: boot: dts: ti: k3-am62l3-evm: enable WKUP UART wakeup from LPM
Posted by Nishanth Menon 1 month ago
On 16:10-20260105, Kendall Willis wrote:
> On 1/5/26 07:55, Nishanth Menon wrote:
> > On 20:51-20251230, Kendall Willis wrote:
> > > Change the status of the wkup_uart0_interconnect node to enabled. The
> > > target-module node sets the UART SYSC and SYSS registers to allow wakeup
> > > from WKUP UART in DeepSleep low power mode.
> > > 
> > > 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 cae04cce337366b50928d39b0c888550b14e43d3..02b1a1c76b2ee05d49cd69d199a6aacdb1973fa0 100644
> > > --- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
> > > +++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
> > > @@ -359,3 +359,7 @@ &usb1 {
> > >   	pinctrl-names = "default";
> > >   	pinctrl-0 = <&usb1_default_pins>;
> > >   };
> > > +
> > > +&wkup_uart0_interconnect {
> > > +	status = "okay";
> > > +};
> > 
> > don't we need to set status okay and provide pinmux for wkup_uart?
> > 
> 
> No, only the interconnect target node needs to be enabled because it manages
> the SYSC register. The SYSC register configures the WKUP_UART to be able to
> wakeup the SoC from system suspend. This allows the WKUP_UART to be wakeup
> capable even if it is reserved by firmware.
> 

If wkup_uart is controlled by firmware, it should be managed by
firmware. $subject claims that wkup_uart is being enabled, but it is
not.


-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D
https://ti.com/opensource
Re: [PATCH 3/3] arm64: boot: dts: ti: k3-am62l3-evm: enable WKUP UART wakeup from LPM
Posted by Kendall Willis 1 month ago
On 1/6/26 05:56, Nishanth Menon wrote:
> On 16:10-20260105, Kendall Willis wrote:
>> On 1/5/26 07:55, Nishanth Menon wrote:
>>> On 20:51-20251230, Kendall Willis wrote:
>>>> Change the status of the wkup_uart0_interconnect node to enabled. The
>>>> target-module node sets the UART SYSC and SYSS registers to allow wakeup
>>>> from WKUP UART in DeepSleep low power mode.
>>>>
>>>> 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 cae04cce337366b50928d39b0c888550b14e43d3..02b1a1c76b2ee05d49cd69d199a6aacdb1973fa0 100644
>>>> --- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
>>>> +++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
>>>> @@ -359,3 +359,7 @@ &usb1 {
>>>>    	pinctrl-names = "default";
>>>>    	pinctrl-0 = <&usb1_default_pins>;
>>>>    };
>>>> +
>>>> +&wkup_uart0_interconnect {
>>>> +	status = "okay";
>>>> +};
>>>
>>> don't we need to set status okay and provide pinmux for wkup_uart?
>>>
>>
>> No, only the interconnect target node needs to be enabled because it manages
>> the SYSC register. The SYSC register configures the WKUP_UART to be able to
>> wakeup the SoC from system suspend. This allows the WKUP_UART to be wakeup
>> capable even if it is reserved by firmware.
>>
> 
> If wkup_uart is controlled by firmware, it should be managed by
> firmware. $subject claims that wkup_uart is being enabled, but it is
> not.
> 
> 

Okay, I will change the $subject to reflect the patch better in v2.

Best,
Kendall
Re: [PATCH 3/3] arm64: boot: dts: ti: k3-am62l3-evm: enable WKUP UART wakeup from LPM
Posted by Dhruva Gole 1 month ago
On Dec 30, 2025 at 20:51:42 -0600, Kendall Willis wrote:
> Change the status of the wkup_uart0_interconnect node to enabled. The
> target-module node sets the UART SYSC and SYSS registers to allow wakeup
> from WKUP UART in DeepSleep low power mode.
> 
> 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 cae04cce337366b50928d39b0c888550b14e43d3..02b1a1c76b2ee05d49cd69d199a6aacdb1973fa0 100644
> --- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
> +++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
> @@ -359,3 +359,7 @@ &usb1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&usb1_default_pins>;
>  };
> +
> +&wkup_uart0_interconnect {
> +	status = "okay";
> +};

Reviewed-by: Dhruva Gole <d-gole@ti.com>

> 
> -- 
> 2.34.1
> 

-- 
Best regards,
Dhruva Gole
Texas Instruments Incorporated