]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
arm64: dts: ti: k3-am62a7-sk: Enable Main UART wakeup
authorKendall Willis <k-willis@ti.com>
Thu, 12 Feb 2026 17:27:21 +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-2-26c7f534e567@ti.com
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts

index b1a6f10adf26b8fe675592179e271d579da56638..c1e9067b3bdd5ab0591541d4685bb17a5dac4f65 100644 (file)
                bootph-all;
        };
 
+       main_uart0_pins_wakeup: main-uart0-wakeup-pins {
+               pinctrl-single,pins = <
+                       AM62AX_IOPAD(0x1c8, PIN_INPUT | PIN_WKUP_EN, 0) /* (E14) UART0_RXD */
+                       AM62AX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (D15) UART0_TXD */
+               >;
+       };
+
        main_uart1_pins_default: main-uart1-default-pins {
                pinctrl-single,pins = <
                        AM62AX_IOPAD(0x01ac, PIN_INPUT, 2) /* (B21) MCASP0_AFSR.UART1_RXD */
 
 &main_uart0 {
        status = "okay";
-       pinctrl-names = "default";
+       pinctrl-names = "default", "wakeup";
        pinctrl-0 = <&main_uart0_pins_default>;
+       pinctrl-1 = <&main_uart0_pins_wakeup>;
+       wakeup-source = <&system_deep_sleep>,
+                       <&system_mcu_only>,
+                       <&system_standby>;
        bootph-all;
 };