[PATCH v3 5/5] arm64: dts: ti: k3-am62l3-evm: Enable Main UART wakeup
Kendall Willis
k-willis at ti.com
Tue Jan 6 16:42:22 PST 2026
The Main UART can resume from suspend to RAM states when PIN_WKUP_EN
is enabled. Add the necessary pins needed to wakeup the system. Add the
system idle states that the Main UART can wakeup the system from.
The UART driver uses the "default" pinctrl state when the system is
active. In the suspend hook, if the UART is wakeup enabled, the "wakeup"
pinctrl state is selected by the UART driver in order to allow wakeup.
Upon resume, the default pinctrl state is selected again.
Reviewed-by: Markus Schneider-Pargmann <msp at baylibre.com>
Reviewed-by: Dhruva Gole <d-gole at ti.com>
Signed-off-by: Kendall Willis <k-willis at ti.com>
---
arch/arm64/boot/dts/ti/k3-am62l3-evm.dts | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
index cae04cce337366b50928d39b0c888550b14e43d3..c963b81f84c16f09b6c9f582c3e977ff59d50eba 100644
--- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
@@ -288,6 +288,13 @@ AM62LX_IOPAD(0x01b8, PIN_OUTPUT, 0) /* (C13) UART0_TXD */
bootph-all;
};
+ uart0_pins_wakeup: uart0-wakeup-pins {
+ pinctrl-single,pins = <
+ AM62LX_IOPAD(0x01b4, PIN_INPUT | PIN_WKUP_EN, 0) /* (D13) UART0_RXD */
+ AM62LX_IOPAD(0x01b8, PIN_OUTPUT, 0) /* (C13) UART0_TXD */
+ >;
+ };
+
usb1_default_pins: usb1-default-pins {
pinctrl-single,pins = <
AM62LX_IOPAD(0x0248, PIN_INPUT | PIN_DS_PULLUD_ENABLE | PIN_DS_PULL_UP, 0) /* (A5) USB1_DRVVBUS */
@@ -329,7 +336,9 @@ &sdhci1 {
&uart0 {
pinctrl-0 = <&uart0_pins_default>;
- pinctrl-names = "default";
+ pinctrl-1 = <&uart0_pins_wakeup>;
+ pinctrl-names = "default", "wakeup";
+ wakeup-source = <&system_deep_sleep>;
status = "okay";
bootph-all;
};
--
2.34.1
More information about the linux-arm-kernel
mailing list