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

Dhruva Gole d-gole at ti.com
Wed Sep 6 23:22:31 PDT 2023


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

-- 
Best regards,
Dhruva Gole <d-gole at ti.com>



More information about the linux-arm-kernel mailing list