From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] pinctrl: document the pinctrl PM states
Date: Wed, 12 Jun 2013 11:37:16 -0700 [thread overview]
Message-ID: <20130612183716.GW8164@atomide.com> (raw)
In-Reply-To: <1370980749-15383-1-git-send-email-linus.walleij@stericsson.com>
* Linus Walleij <linus.walleij@stericsson.com> [130611 13:05]:
> From: Linus Walleij <linus.walleij@linaro.org>
>
> This document snippet tries to be helpful and define the pin
> PM states and helpers, and how they should be used to create
> some kind of common ontology around this.
>
> Cc: Ulf Hansson <ulf.hansson@linaro.org>
> Cc: Kevin Hilman <khilman@linaro.org>
> Cc: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> Documentation/pinctrl.txt | 118 ++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 118 insertions(+)
>
> diff --git a/Documentation/pinctrl.txt b/Documentation/pinctrl.txt
> index f6e664b..a34ea92 100644
> --- a/Documentation/pinctrl.txt
> +++ b/Documentation/pinctrl.txt
> @@ -1196,6 +1196,124 @@ registered. Thus make sure that the error path in your driver gracefully
> cleans up and is ready to retry the probing later in the startup process.
>
>
> +Default and power management related states
> +===========================================
> +
> +As mentioned earlier the device core will automatically try to obtain a
> +pinctrl handle and activate the "default" state on all drivers.
> +
> +However, for power management and power saving, it is sometimes necessary
> +to switch pin states at runtime. Electrically speaking this involves
> +for example reconfigure some pins to be grounded or pulled-down when the
> +system as a whole goes to sleep, or a pull-up could be turned off when pins
> +are idle, reducing leak current.
> +
> +To help out with this, if CONFIG_PM is selected in the Kconfig, three
> +additional states will also be obtained by the driver core and cached
> +there:
> +
> +"active" this is indended as an explicit active state, if the "default"
> + state is not synonymous with the active one.
> +
> +"idle" this is a state that is relaxing the pins when the system as a
> + whole is up and running, but these particular pins are unused.
> +
> +"sleep" this is a state that is used when the whole system goes to
> + suspend, becomes uninteractive, unresponsive to anything but
> + specific wake-up events.
In the cases I've seen "idle" and "sleep" are the same. But it sounds like
other people's hardware have different needs and it's optional so:
Acked-by: Tony Lindgren <tony@atomide.com>
WARNING: multiple messages have this Message-ID (diff)
From: Tony Lindgren <tony@atomide.com>
To: Linus Walleij <linus.walleij@stericsson.com>
Cc: Stephen Warren <swarren@nvidia.com>,
Kevin Hilman <khilman@linaro.org>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Linus Walleij <linus.walleij@linaro.org>,
Ulf Hansson <ulf.hansson@linaro.org>
Subject: Re: [PATCH] pinctrl: document the pinctrl PM states
Date: Wed, 12 Jun 2013 11:37:16 -0700 [thread overview]
Message-ID: <20130612183716.GW8164@atomide.com> (raw)
In-Reply-To: <1370980749-15383-1-git-send-email-linus.walleij@stericsson.com>
* Linus Walleij <linus.walleij@stericsson.com> [130611 13:05]:
> From: Linus Walleij <linus.walleij@linaro.org>
>
> This document snippet tries to be helpful and define the pin
> PM states and helpers, and how they should be used to create
> some kind of common ontology around this.
>
> Cc: Ulf Hansson <ulf.hansson@linaro.org>
> Cc: Kevin Hilman <khilman@linaro.org>
> Cc: Tony Lindgren <tony@atomide.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> Documentation/pinctrl.txt | 118 ++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 118 insertions(+)
>
> diff --git a/Documentation/pinctrl.txt b/Documentation/pinctrl.txt
> index f6e664b..a34ea92 100644
> --- a/Documentation/pinctrl.txt
> +++ b/Documentation/pinctrl.txt
> @@ -1196,6 +1196,124 @@ registered. Thus make sure that the error path in your driver gracefully
> cleans up and is ready to retry the probing later in the startup process.
>
>
> +Default and power management related states
> +===========================================
> +
> +As mentioned earlier the device core will automatically try to obtain a
> +pinctrl handle and activate the "default" state on all drivers.
> +
> +However, for power management and power saving, it is sometimes necessary
> +to switch pin states at runtime. Electrically speaking this involves
> +for example reconfigure some pins to be grounded or pulled-down when the
> +system as a whole goes to sleep, or a pull-up could be turned off when pins
> +are idle, reducing leak current.
> +
> +To help out with this, if CONFIG_PM is selected in the Kconfig, three
> +additional states will also be obtained by the driver core and cached
> +there:
> +
> +"active" this is indended as an explicit active state, if the "default"
> + state is not synonymous with the active one.
> +
> +"idle" this is a state that is relaxing the pins when the system as a
> + whole is up and running, but these particular pins are unused.
> +
> +"sleep" this is a state that is used when the whole system goes to
> + suspend, becomes uninteractive, unresponsive to anything but
> + specific wake-up events.
In the cases I've seen "idle" and "sleep" are the same. But it sounds like
other people's hardware have different needs and it's optional so:
Acked-by: Tony Lindgren <tony@atomide.com>
next prev parent reply other threads:[~2013-06-12 18:37 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-11 19:59 [PATCH] pinctrl: document the pinctrl PM states Linus Walleij
2013-06-11 19:59 ` Linus Walleij
2013-06-12 18:37 ` Tony Lindgren [this message]
2013-06-12 18:37 ` Tony Lindgren
2013-06-13 19:39 ` Stephen Warren
2013-06-13 19:39 ` Stephen Warren
2013-06-13 20:34 ` Linus Walleij
2013-06-13 20:34 ` Linus Walleij
2013-06-14 15:43 ` Stephen Warren
2013-06-14 15:43 ` Stephen Warren
2013-06-16 10:17 ` Linus Walleij
2013-06-16 10:17 ` Linus Walleij
2013-06-17 7:20 ` Tony Lindgren
2013-06-17 7:20 ` Tony Lindgren
2013-06-17 15:56 ` Linus Walleij
2013-06-17 15:56 ` Linus Walleij
2013-06-17 18:06 ` Tony Lindgren
2013-06-17 18:06 ` Tony Lindgren
2013-06-17 18:15 ` Rohit Vaswani
2013-06-17 18:15 ` Rohit Vaswani
2013-06-17 16:05 ` Linus Walleij
2013-06-17 16:05 ` Linus Walleij
2013-06-17 18:02 ` Tony Lindgren
2013-06-17 18:02 ` Tony Lindgren
2013-06-19 20:06 ` Stephen Warren
2013-06-19 20:06 ` Stephen Warren
2013-06-24 12:37 ` Linus Walleij
2013-06-24 12:37 ` Linus Walleij
2013-06-25 7:31 ` Tony Lindgren
2013-06-25 7:31 ` Tony Lindgren
2013-06-19 20:02 ` Stephen Warren
2013-06-19 20:02 ` Stephen Warren
2013-06-20 6:38 ` Tony Lindgren
2013-06-20 6:38 ` Tony Lindgren
2013-06-20 19:26 ` Stephen Warren
2013-06-20 19:26 ` Stephen Warren
2013-06-21 6:25 ` Tony Lindgren
2013-06-21 6:25 ` Tony Lindgren
2013-06-21 19:12 ` Stephen Warren
2013-06-21 19:12 ` Stephen Warren
2013-06-24 10:10 ` Tony Lindgren
2013-06-24 10:10 ` Tony Lindgren
2013-06-24 18:09 ` Stephen Warren
2013-06-24 18:09 ` Stephen Warren
2013-06-25 7:38 ` Tony Lindgren
2013-06-25 7:38 ` Tony Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130612183716.GW8164@atomide.com \
--to=tony@atomide.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.