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

Kevin Hilman khilman at baylibre.com
Tue Sep 12 15:40:31 PDT 2023


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>

Kevin



More information about the linux-arm-kernel mailing list