Re: [RFC] pinctrl: pinctrl-imx: implement suspend/resume

From: Stefan Agner
Date: Thu Jun 04 2015 - 16:27:09 EST


On 2015-06-04 17:00, Zhi Li wrote:
> On Mon, Jun 1, 2015 at 10:12 AM, Stefan Agner <stefan@xxxxxxxx> wrote:
<snip>
>> If no other SoC is making use of it, its probably better to implement
>> it in the SoC specific code (e.g. pinctrl-vf610.c?) Although, currently
>> the mapped access to the registers is only locally available in
>> pinctrl-imx.c.
>
> i.MX7 support LPSR mode, which IOMUX will lost state also.
>

Thanks for the information, good to know.

>>
>> I'm also not sure if the suspend/resume functions are currently
>> early enough, at least the noirq family of suspend/resume functions
>> would be earlier. Hence if a device needs to have access to pins then,
>> we would restore them too late. Maybe syscore_ops would be more
>> appropriate?
>
> Driver can call pinctrl_pm_select_sleep_state in suspend and
> pinctrl_pm_select_default_state
> to recover IOMUX state.
>
> but I think this way is more simple than driver call
> pinctrl_pm_select_default_state.
>

I actually tried to experiment with pinctrl_pm_select_default_state and
pinctrl_pm_select_sleep_state. I think, one solution would be to create
sleep states for all drivers. However, it's not necessary to change to a
sleep state, since the controller looses the state anyway. What would be
required is having a function which allows to force the default state
for all pinctrl settings... As far as I can tell, there is no such
functionality currently...? Linus?

--
Stefan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/