[PATCH] pinctrl: samsung: add pinctrl_force_sleep() for "sleep" pinctrl state

Linus Walleij linus.walleij at linaro.org
Fri Sep 22 06:14:19 PDT 2017

On Thu, Sep 21, 2017 at 6:14 PM, Tomasz Figa <tomasz.figa at gmail.com> wrote:

> This isn't a very good example, because pin-con-pdn and pin-pud-pdn
> are used to program dedicated sleep state registers in the pin
> controller and they can be programmed at any time. Typically one would
> include them in "default" state.

Yeah. Baolin added a special flag "sleep-hardware-state" to
indicate these special states, so the pin control driver can set them
up at first state instantiation.

> As for pins which don't have dedicated sleep state registers, i.e. the
> alive banks, which retain their value, the DT node of device
> associated with the pins would have "sleep" pinctrl state and its
> driver would activate it on suspend.


> The only remaining use case would be pins in alive banks not
> associated with any device, but I can't imagine any practical case
> that would need to change the value on suspend in such case.

I think those could be made to work with hogs.

What also came up recently was pin controllers that
per se loose their state when the system suspends, so
the whole pin controller is kind of power-cycled and comes
up in some default state.

Florian is looking into a generic solution to that problem.

Linus Walleij

More information about the linux-arm-kernel mailing list