]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: ti: k3-am62l3-evm: Enable Main UART wakeup
authorKendall Willis <k-willis@ti.com>
Thu, 12 Feb 2026 17:27:23 +0000 (11:27 -0600)
committerVignesh Raghavendra <vigneshr@ti.com>
Fri, 27 Mar 2026 02:08:35 +0000 (07:38 +0530)
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@baylibre.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Kendall Willis <k-willis@ti.com>
Link: https://patch.msgid.link/20260212-b4-uart-daisy-chain-dts-v5-4-26c7f534e567@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
arch/arm64/boot/dts/ti/k3-am62l3-evm.dts

index 8ac7ad2cd1b9695482ede804c77dc382820fbe8b..9d0506d85bae5299e70e297afdd9ee026ab4ac89 100644 (file)
                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 */
 
 &uart0 {
        pinctrl-0 = <&uart0_pins_default>;
-       pinctrl-names = "default";
+       pinctrl-1 = <&uart0_pins_wakeup>;
+       pinctrl-names = "default", "wakeup";
+       wakeup-source;
        status = "okay";
        bootph-all;
 };