[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260106-b4-uart-daisy-chain-dts-v3-4-398a66258f2c@ti.com>
Date: Tue, 6 Jan 2026 18:42:21 -0600
From: Kendall Willis <k-willis@...com>
To: Nishanth Menon <nm@...com>, Vignesh Raghavendra <vigneshr@...com>, "Tero
Kristo" <kristo@...nel.org>, Rob Herring <robh@...nel.org>, "Krzysztof
Kozlowski" <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
<d-gole@...com>, <msp@...libre.com>
CC: <vishalm@...com>, <sebin.francis@...com>, <khilman@...libre.com>,
<a-kaur@...com>, <s-kochidanadu@...com>,
<linux-arm-kernel@...ts.infradead.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, Kendall Willis <k-willis@...com>
Subject: [PATCH v3 4/5] arm64: dts: ti: k3-am62p5-sk: Enable Main UART
wakeup
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@...libre.com>
Reviewed-by: Dhruva Gole <d-gole@...com>
Signed-off-by: Kendall Willis <k-willis@...com>
---
arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
index 4f7f6f95b02ef94a140edcef595ad8f6cc4b4113..fd323a64880970e17007ab130161dae56efd09d7 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
@@ -336,6 +336,13 @@ AM62PX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (B22) UART0_TXD */
bootph-all;
};
+ main_uart0_pins_wakeup: main-uart0-wakeup-pins {
+ pinctrl-single,pins = <
+ AM62PX_IOPAD(0x1c8, PIN_INPUT | PIN_WKUP_EN, 0) /* (A22) UART0_RXD */
+ AM62PX_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (B22) UART0_TXD */
+ >;
+ };
+
main_uart1_pins_default: main-uart1-default-pins {
pinctrl-single,pins = <
AM62PX_IOPAD(0x0194, PIN_INPUT, 2) /* (D25) MCASP0_AXR3.UART1_CTSn */
@@ -692,8 +699,12 @@ partition@...0000 {
};
&main_uart0 {
- 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>;
status = "okay";
bootph-all;
};
--
2.34.1
Powered by blists - more mailing lists