[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20260108180341.t2q6msdh5plbrjf4@parabola>
Date: Thu, 8 Jan 2026 12:03:41 -0600
From: Nishanth Menon <nm@...com>
To: Kendall Willis <k-willis@...com>
CC: Bryan Brattlof <bb@...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>, "Dhruva
Gole" <d-gole@...com>, <vishalm@...com>, <sebin.francis@...com>,
<msp@...libre.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>
Subject: Re: [PATCH v2 0/3] arm64: boot: dts: ti: k3-am62l: allow WKUP UART
wakeup from LPM
On 11:52-20260108, Kendall Willis wrote:
> On 1/8/26 11:05, Bryan Brattlof wrote:
> > On January 7, 2026 thus sayeth Kendall Willis:
> > > On 1/7/26 10:45, Bryan Brattlof wrote:
> > > > On January 6, 2026 thus sayeth Kendall Willis:
> > > > > K3 TI AM62L SoC supports wakeup from WKUP UART when the SoC is in the
> > > > > DeepSleep low power mode. To allow wakeup from WKUP UART the target-module
> > > > > device tree node is enabled. The ti-sysc interconnect target module driver
> > > > > is used to configure the the SYSCONFIG related registers. In this case,
> > > > > the interconnect target module node configures the WKUP UART to be able to
> > > > > wakeup from system suspend. The SYSC register is used to enable wakeup
> > > > > from system suspend for the WKUP UART. Refer to 14.7.2.5 UART in the
> > > > > AM62L Techincal Reference Manual for registers referenced [1].
> > > > >
> > > > > Previous TI SoCs configure the WKUP UART to wakeup from system suspend
> > > > > using the ti-sysc interconnect target module driver. Refer to commit
> > > > > ce27f7f9e328 ("arm64: dts: ti: k3-am62-wakeup: Configure ti-sysc for
> > > > > wkup_uart0") for an example of this.
> > > >
> > > > I think I may be confused. What is setting the pinmux for the wkup_uart
> > > > to allow us to trigger the wake event? It looks like they reset to GPIO
> > > > pins if not set. Is firmware doing this?
> > >
> > > On AM62L, the WKUP UART pinmux is initially set by TFA so that it is set to
> > > the UART pins, not GPIO. The target-module node sets the WKUP UART SYSC
> > > register so that wakeup is enabled.
> > >
> >
> > Nice however should we mark the UART in the board file as reserved for
> > TFA or is it free to be used by Linux and only during the low power
> > modes after Linux is asleep will it be used by TFA?
> >
> > ~Bryan
>
> Sorry for the confusion, I said earlier that the WKUP UART could be used by
> firmware, but that is not to say it is specifically reserved by the firmware
> in general. TFA sets the WKUP UART pins, but it does not use the WKUP UART
> for anything else. The only exception for TFA using the WKUP UART is if the
> user chooses to use the WKUP UART for TFA debugging [1].
>
> All of this to say that the WKUP UART *can* be used by Linux, it does not
> need to be reserved for firmware.
>
If you are going to use it for linux wakeup, then why dont we enable it for
linux? what TFA does or not should not dictate device tree unless it is
a hardware description - provide the full description in dt.
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
https://ti.com/opensource
Powered by blists - more mailing lists