From: Thierry Reding <thierry.reding@avionic-design.de>
To: Bibek Basu <bbasu@nvidia.com>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
linus.walleij@linaro.org, swarren@wwwdotorg.org,
linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pm@vger.kernel.org
Subject: Re: [PATCH 2/2] ARM: DT: tegra: pinctrl suspend resume hook
Date: Fri, 26 Apr 2013 21:49:08 +0200 [thread overview]
Message-ID: <20130426194908.GA3302@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <1366740542-26127-2-git-send-email-bbasu@nvidia.com>
[-- Attachment #1: Type: text/plain, Size: 4489 bytes --]
On Tue, Apr 23, 2013 at 11:39:02PM +0530, Bibek Basu wrote:
> Make pinmux as the first node of tegra DT
> so as to achieve pinctrl as last device to suspend and
> first device to resume.
I don't think this is a good idea. For one it encodes Linux specific
implementation details within the device tree. Furthermore I seem to
remember that the device tree makes no guarantees that the order of
nodes in the blob is the same as the order in the DTS.
That said I don't have a good alternative. Perhaps one solution would be
to use suspend_late() and resume_early() for the pinmux driver since
they will be called after and before the suspend() and resume()
callbacks of all other devices, respectively. Other than that I wasn't
able to find anything about forcing a particular order during suspend
and resume.
Cc'ing Rafael and the linux-pm mailing list, maybe somebody among them
knows a proper solution.
Thierry
>
> Signed-off-by: Bibek Basu <bbasu@nvidia.com>
> ---
> arch/arm/boot/dts/tegra114.dtsi | 12 ++++++------
> arch/arm/boot/dts/tegra20.dtsi | 16 ++++++++--------
> arch/arm/boot/dts/tegra30.dtsi | 13 +++++++------
> 3 files changed, 21 insertions(+), 20 deletions(-)
>
> diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
> index a58a761..36596ae 100644
> --- a/arch/arm/boot/dts/tegra114.dtsi
> +++ b/arch/arm/boot/dts/tegra114.dtsi
> @@ -11,6 +11,12 @@
> serial3 = &uartd;
> };
>
> + pinmux: pinmux {
> + compatible = "nvidia,tegra114-pinmux";
> + reg = <0x70000868 0x148 /* Pad control registers */
> + 0x70003000 0x40c>; /* Mux registers */
> + };
> +
> host1x {
> compatible = "nvidia,tegra114-host1x", "simple-bus";
> reg = <0x50000000 0x00028000>;
> @@ -165,12 +171,6 @@
> interrupt-controller;
> };
>
> - pinmux: pinmux {
> - compatible = "nvidia,tegra114-pinmux";
> - reg = <0x70000868 0x148 /* Pad control registers */
> - 0x70003000 0x40c>; /* Mux registers */
> - };
> -
> /*
> * There are two serial driver i.e. 8250 based simple serial
> * driver and APB DMA based serial driver for higher baudrate
> diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi
> index a5a9615..6d8a663 100644
> --- a/arch/arm/boot/dts/tegra20.dtsi
> +++ b/arch/arm/boot/dts/tegra20.dtsi
> @@ -12,6 +12,14 @@
> serial4 = &uarte;
> };
>
> + pinmux: pinmux {
> + compatible = "nvidia,tegra20-pinmux";
> + reg = <0x70000014 0x10 /* Tri-state registers */
> + 0x70000080 0x20 /* Mux registers */
> + 0x700000a0 0x14 /* Pull-up/down registers */
> + 0x70000868 0xa8>; /* Pad control registers */
> + };
> +
> host1x {
> compatible = "nvidia,tegra20-host1x", "simple-bus";
> reg = <0x50000000 0x00024000>;
> @@ -196,14 +204,6 @@
> interrupt-controller;
> };
>
> - pinmux: pinmux {
> - compatible = "nvidia,tegra20-pinmux";
> - reg = <0x70000014 0x10 /* Tri-state registers */
> - 0x70000080 0x20 /* Mux registers */
> - 0x700000a0 0x14 /* Pull-up/down registers */
> - 0x70000868 0xa8>; /* Pad control registers */
> - };
> -
> das {
> compatible = "nvidia,tegra20-das";
> reg = <0x70000c00 0x80>;
> diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi
> index 9f33086..b4b79f0 100644
> --- a/arch/arm/boot/dts/tegra30.dtsi
> +++ b/arch/arm/boot/dts/tegra30.dtsi
> @@ -12,6 +12,13 @@
> serial4 = &uarte;
> };
>
> + pinmux: pinmux {
> + compatible = "nvidia,tegra30-pinmux";
> + reg = <0x70000868 0xd4 /* Pad control registers */
> + 0x70003000 0x3e4>; /* Mux registers */
> + };
> +
> +
> host1x {
> compatible = "nvidia,tegra30-host1x", "simple-bus";
> reg = <0x50000000 0x00024000>;
> @@ -216,12 +223,6 @@
> interrupt-controller;
> };
>
> - pinmux: pinmux {
> - compatible = "nvidia,tegra30-pinmux";
> - reg = <0x70000868 0xd4 /* Pad control registers */
> - 0x70003000 0x3e4>; /* Mux registers */
> - };
> -
> /*
> * There are two serial driver i.e. 8250 based simple serial
> * driver and APB DMA based serial driver for higher baudrate
> --
> 1.8.1.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2013-04-26 19:49 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-23 18:09 [PATCH 1/2] pinctrl: tegra: add suspend-resume support Bibek Basu
2013-04-23 18:09 ` Bibek Basu
[not found] ` <1366740542-26127-1-git-send-email-bbasu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-04-23 18:09 ` [PATCH 2/2] ARM: DT: tegra: pinctrl suspend resume hook Bibek Basu
2013-04-23 18:09 ` Bibek Basu
2013-04-26 19:49 ` Thierry Reding [this message]
[not found] ` <20130426194908.GA3302-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2013-04-28 13:42 ` Bibek Basu
2013-04-28 13:42 ` Bibek Basu
[not found] ` <77F7DB30C698A44DA22FB222C89DE941A6692E62BD-kdsAE/FnitNDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2013-05-02 18:33 ` Stephen Warren
2013-05-02 18:33 ` Stephen Warren
2013-04-23 18:43 ` [PATCH 1/2] pinctrl: tegra: add suspend-resume support Thierry Reding
2013-04-23 18:43 ` Thierry Reding
[not found] ` <20130423184332.GA31374-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2013-04-28 13:38 ` Bibek Basu
2013-04-28 13:38 ` Bibek Basu
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=20130426194908.GA3302@avionic-0098.mockup.avionic-design.de \
--to=thierry.reding@avionic-design.de \
--cc=bbasu@nvidia.com \
--cc=linus.walleij@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=rjw@sisk.pl \
--cc=swarren@wwwdotorg.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.