On Thu Sep 4, 2025 at 11:28 PM CEST, Kendall Willis wrote: > 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. > > Signed-off-by: Kendall Willis > --- > .../arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 24 +++++++++++++++---- > 1 file changed, 20 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi > index 13e1d36123d51..72801cf890d20 100644 > --- a/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi > +++ b/arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi > @@ -163,14 +163,26 @@ &phy_gmii_sel { > > &main_pmx0 { > /* First pad number is ALW package and second is AMC package */ > - main_uart0_pins_default: main-uart0-default-pins { > + main_uart0_tx_pins_default: main-uart0-tx-default-pins { > bootph-all; > pinctrl-single,pins = < > - AM62X_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14/A13) UART0_RXD */ > AM62X_IOPAD(0x1cc, PIN_OUTPUT, 0) /* (E14/E11) UART0_TXD */ > >; > }; > > + main_uart0_rx_pins_default: main-uart0-rx-default-pins { > + bootph-all; > + pinctrl-single,pins = < > + AM62X_IOPAD(0x1c8, PIN_INPUT, 0) /* (D14/A13) UART0_RXD */ > + >; > + }; > + > + main_uart0_rx_pins_wakeup: main-uart0-rx-wakeup-pins { > + pinctrl-single,pins = < > + AM62X_IOPAD(0x1c8, PIN_INPUT | PIN_WKUP_EN, 0) /* (D14/A13) UART0_RXD */ > + >; > + }; > + > main_uart1_pins_default: main-uart1-default-pins { > bootph-pre-ram; > pinctrl-single,pins = < > @@ -342,8 +354,12 @@ &wkup_uart0 { > &main_uart0 { > bootph-all; > status = "okay"; > - pinctrl-names = "default"; > - pinctrl-0 = <&main_uart0_pins_default>; > + pinctrl-names = "default", "wakeup"; I think you may need to add this to the DT binding of the uart device as well. Best Markus > + pinctrl-0 = <&main_uart0_tx_pins_default>, <&main_uart0_rx_pins_default>; > + pinctrl-1 = <&main_uart0_tx_pins_default>, <&main_uart0_rx_pins_wakeup>; > + wakeup-source = <&system_deep_sleep>, > + <&system_mcu_only>, > + <&system_standby>; > }; > > &main_uart1 {