[PATCH v3 0/5] arm64: dts: ti: k3-am62: Support Main UART wakeup

Kendall Willis posted 5 patches 1 month ago
There is a newer version of this series
arch/arm64/boot/dts/ti/k3-am62a7-sk.dts        | 13 ++++++++++++-
arch/arm64/boot/dts/ti/k3-am62l.dtsi           | 12 ++++++++++++
arch/arm64/boot/dts/ti/k3-am62l3-evm.dts       | 11 ++++++++++-
arch/arm64/boot/dts/ti/k3-am62p5-sk.dts        | 13 ++++++++++++-
arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 13 ++++++++++++-
5 files changed, 58 insertions(+), 4 deletions(-)
[PATCH v3 0/5] arm64: dts: ti: k3-am62: Support Main UART wakeup
Posted by Kendall Willis 1 month ago
This series adds wakeup support for the Main UART in the device tree of
the TI AM62 family of devices. It defines the specific pins and pinctrl
states needed to wakeup the system from the Main UART via I/O
daisy-chaining. The wakeup-source property is configured to describe the
low power modes the system can wakeup from using the Main UART.

Implementation
--------------
This series is intended to be implemented along with the following
series:

1. [MERGED] "pmdomain: ti_sci: handle wakeup constraint for out-of-band
   wakeup" [1]: Skips setting constraints for wakeup sources that have
   out-of-band wakeup capability.

2. "serial: 8250: omap: set out-of-band wakeup if wakeup pinctrl exists"
   [2]: Implements out-of-band wakeup from the UARTs for TI K3 SoCs.

3. "arm64: dts: ti: k3-am62: Support Main UART wakeup": (this series)
   implements the functionality to wakeup the system from the Main UART.

Testing
-------
Tested on a AM62P SK EVM board and a AM62L EVM board with all the above
mentioned series implemented. Suspend/resume verified with the Main UART
wakeup source by entering a keypress on the console.

This github branch has all the necessary patches to test the series
using v6.19-rc1:
https://github.com/kwillis01/linux/tree/v6.19/uart-daisy-chain/all

[1] https://lore.kernel.org/all/20251230-pmdomain-v1-1-3a009d1ff72e@ti.com/
[2] https://lore.kernel.org/all/20251230-uart-wakeup-v1-1-13f1bb905f14@ti.com/

---
Changes in v3:
- Reword commits to include the logic of how the "default" and "wakeup"
  pinctrl states are used.
- Revert pin logic so that main_uart0_pins_default and uart0_pins_default
  are untouched.
- Remove main_uart0_rx_pins_default and uart0_rx_pins_default.
- Combine main_uart0 RX wakeup pin and main_uart0 TX pin into one group of
  pins called main_uart0_pins_wakeup or uart0_pins_wakeup.
- Revert pinctrl-0 to only include main_uart0_pins_wakeup or
  uart0_pins_wakeup.
- Change pinctrl-1 to only include main_uart0_pins_wakeup or
  uart0_pins_wakeup.
- Link to v2: https://lore.kernel.org/r/20251230-b4-uart-daisy-chain-dts-v2-0-fa5257ec54bb@ti.com

Changes in v2:
- Define AM62L system idle states
- Enable Main UART wakeup for AM62L SoC
- Rebase to v6.19-rc3
- Link to v1: https://lore.kernel.org/all/20250904212827.3730314-1-k-willis@ti.com/

---
Kendall Willis (5):
      arm64: dts: ti: k3-am62l: Define possible system states
      arm64: dts: ti: k3-am62x-sk-common: Enable Main UART wakeup
      arm64: dts: ti: k3-am62a7-sk: Enable Main UART wakeup
      arm64: dts: ti: k3-am62p5-sk: Enable Main UART wakeup
      arm64: dts: ti: k3-am62l3-evm: Enable Main UART wakeup

 arch/arm64/boot/dts/ti/k3-am62a7-sk.dts        | 13 ++++++++++++-
 arch/arm64/boot/dts/ti/k3-am62l.dtsi           | 12 ++++++++++++
 arch/arm64/boot/dts/ti/k3-am62l3-evm.dts       | 11 ++++++++++-
 arch/arm64/boot/dts/ti/k3-am62p5-sk.dts        | 13 ++++++++++++-
 arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 13 ++++++++++++-
 5 files changed, 58 insertions(+), 4 deletions(-)
---
base-commit: 6cd6c12031130a349a098dbeb19d8c3070d2dfbe
change-id: 20251230-b4-uart-daisy-chain-dts-d01aa40560b2

Best regards,
-- 
Kendall Willis <k-willis@ti.com>
Re: [PATCH v3 0/5] arm64: dts: ti: k3-am62: Support Main UART wakeup
Posted by Kendall Willis 3 weeks, 2 days ago
On 1/6/26 18:42, Kendall Willis wrote:
> This series adds wakeup support for the Main UART in the device tree of
> the TI AM62 family of devices. It defines the specific pins and pinctrl
> states needed to wakeup the system from the Main UART via I/O
> daisy-chaining. The wakeup-source property is configured to describe the
> low power modes the system can wakeup from using the Main UART.
> 
> Implementation
> --------------
> This series is intended to be implemented along with the following
> series:
> 
> 1. [MERGED] "pmdomain: ti_sci: handle wakeup constraint for out-of-band
>     wakeup" [1]: Skips setting constraints for wakeup sources that have
>     out-of-band wakeup capability.
> 
> 2. "serial: 8250: omap: set out-of-band wakeup if wakeup pinctrl exists"
>     [2]: Implements out-of-band wakeup from the UARTs for TI K3 SoCs.
> 
> 3. "arm64: dts: ti: k3-am62: Support Main UART wakeup": (this series)
>     implements the functionality to wakeup the system from the Main UART.
> 
> Testing
> -------
> Tested on a AM62P SK EVM board and a AM62L EVM board with all the above
> mentioned series implemented. Suspend/resume verified with the Main UART
> wakeup source by entering a keypress on the console.
> 
> This github branch has all the necessary patches to test the series
> using v6.19-rc1:
> https://github.com/kwillis01/linux/tree/v6.19/uart-daisy-chain/all
> 
> [1] https://lore.kernel.org/all/20251230-pmdomain-v1-1-3a009d1ff72e@ti.com/
> [2] https://lore.kernel.org/all/20251230-uart-wakeup-v1-1-13f1bb905f14@ti.com/
> 
> ---
> Changes in v3:
> - Reword commits to include the logic of how the "default" and "wakeup"
>    pinctrl states are used.
> - Revert pin logic so that main_uart0_pins_default and uart0_pins_default
>    are untouched.
> - Remove main_uart0_rx_pins_default and uart0_rx_pins_default.
> - Combine main_uart0 RX wakeup pin and main_uart0 TX pin into one group of
>    pins called main_uart0_pins_wakeup or uart0_pins_wakeup.
> - Revert pinctrl-0 to only include main_uart0_pins_wakeup or
>    uart0_pins_wakeup.
> - Change pinctrl-1 to only include main_uart0_pins_wakeup or
>    uart0_pins_wakeup.
> - Link to v2: https://lore.kernel.org/r/20251230-b4-uart-daisy-chain-dts-v2-0-fa5257ec54bb@ti.com
> 
> Changes in v2:
> - Define AM62L system idle states
> - Enable Main UART wakeup for AM62L SoC
> - Rebase to v6.19-rc3
> - Link to v1: https://lore.kernel.org/all/20250904212827.3730314-1-k-willis@ti.com/
> 
> ---
> Kendall Willis (5):
>        arm64: dts: ti: k3-am62l: Define possible system states
>        arm64: dts: ti: k3-am62x-sk-common: Enable Main UART wakeup
>        arm64: dts: ti: k3-am62a7-sk: Enable Main UART wakeup
>        arm64: dts: ti: k3-am62p5-sk: Enable Main UART wakeup
>        arm64: dts: ti: k3-am62l3-evm: Enable Main UART wakeup
> 
>   arch/arm64/boot/dts/ti/k3-am62a7-sk.dts        | 13 ++++++++++++-
>   arch/arm64/boot/dts/ti/k3-am62l.dtsi           | 12 ++++++++++++
>   arch/arm64/boot/dts/ti/k3-am62l3-evm.dts       | 11 ++++++++++-
>   arch/arm64/boot/dts/ti/k3-am62p5-sk.dts        | 13 ++++++++++++-
>   arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi | 13 ++++++++++++-
>   5 files changed, 58 insertions(+), 4 deletions(-)
> ---
> base-commit: 6cd6c12031130a349a098dbeb19d8c3070d2dfbe
> change-id: 20251230-b4-uart-daisy-chain-dts-d01aa40560b2
> 
> Best regards,

This series depends on the patch "serial: 8250: omap: set out-of-band 
wakeup if wakeup pinctrl exists" [1].

[1] 
https://lore.kernel.org/all/20251230-uart-wakeup-v1-1-13f1bb905f14@ti.com/

Best,
Kendall Willis