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
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
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
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
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
>>
>
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
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
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
© 2016 - 2026 Red Hat, Inc.