[PATCH] bus: ti-sysc: Fix SYSC_QUIRK_SWSUP_SIDLE_ACT handling for uart wake-up

Tony Lindgren tony at atomide.com
Wed Sep 13 01:26:22 PDT 2023


* Kevin Hilman <khilman at baylibre.com> [230912 22:40]:
> Dhruva Gole <d-gole at ti.com> writes:
> 
> > On Sep 07, 2023 at 08:54:41 +0300, Tony Lindgren wrote:
> >> The uarts should be tagged with SYSC_QUIRK_SWSUP_SIDLE instead of
> >> SYSC_QUIRK_SWSUP_SIDLE_ACT. The difference is that SYSC_QUIRK_SWSUP_SIDLE
> >> is used to force idle target modules rather than block idle during usage.
> >> 
> >> The SYSC_QUIRK_SWSUP_SIDLE_ACT should disable autoidle and wake-up when
> >> a target module is active, and configure autoidle and wake-up when a
> >> target module is inactive. We are missing configuring the target module
> >> on sysc_disable_module(), and missing toggling of the wake-up bit.
> >> 
> >> Let's fix the issue to allow uart wake-up to work.
> >> 
> >> Fixes: fb685f1c190e ("bus: ti-sysc: Handle swsup idle mode quirks")
> >> Signed-off-by: Tony Lindgren <tony at atomide.com>
> >> ---
> >>  drivers/bus/ti-sysc.c | 22 +++++++++++++++++-----
> >>  1 file changed, 17 insertions(+), 5 deletions(-)
> >> 
> >> diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
> >> --- a/drivers/bus/ti-sysc.c
> >> +++ b/drivers/bus/ti-sysc.c
> >
> > Thanks for the fix Tony,
> > I have tested this on a TI SK-AM62x with deepsleep and am able to wakeup
> > with keypress on the wake_uart.
> >
> > For anyone else who wants to give this a shot, the required patches for
> > deepsleep and DT related changes have been pushed to my branch on github
> > [0].
> >
> > Hence,
> > Tested-by: Dhruva Gole <d-gole at ti.com>
> >
> > [0] https://github.com/DhruvaG2000/v-linux/commits/v6.5-rc7_wkuart
> 
> Also tested on k3-am625-sk using Dhruval's branch.
> 
> Tested-by: Kevin Hilman <khilman at baylibre.com>

Thanks for testing, applied into fixes.

Tony



More information about the linux-arm-kernel mailing list