All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dong Aisheng <aisheng.dong-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
To: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Cc: Dong Aisheng-B29396
	<B29396-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
	"linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
	<linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org"
	<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
	"rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org"
	<rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	"linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org"
	<linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>,
	"s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org"
	<s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	"dongas86-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org"
	<dongas86-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
	<shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"thomas.abraham-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org"
	<thomas.abraham-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	"tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org"
	<tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
	"sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org"
	<sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org"
	<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
	"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH V2 5/6] dt: Document Tegra20/30 pinctrl binding
Date: Thu, 22 Mar 2012 12:00:24 +0800	[thread overview]
Message-ID: <20120322040024.GB840@shlinux2.ap.freescale.net> (raw)
In-Reply-To: <4F69FA5A.9020504-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>

On Wed, Mar 21, 2012 at 11:57:14PM +0800, Stephen Warren wrote:
> On 03/21/2012 03:19 AM, Dong Aisheng wrote:
> > On Wed, Mar 21, 2012 at 01:44:38AM +0800, Stephen Warren wrote:
> >> Define a new binding for the Tegra pin controller, which is capable of
> >> defining all aspects of desired pin multiplexing and pin configuration.
> >> This is all based on the new common pinctrl bindings.
> >>
> >> Add Tegra30 binding based on Tegra20 binding.
> >>
> >> Add some basic stuff that was missing before:
> >> * How many and what reg property entries must be provided.
> >> * An example.
> >>
> >> Signed-off-by: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
> >> ---
> > ........
> >> +Example board file extract:
> >> +
> >> +	pinctrl@70000000 {
> >> +		sdio4_default {
> >> +			atb {
> >> +				nvidia,pins = "atb", "gma", "gme";
> >> +				nvidia,function = "sdio4";
> >> +				nvidia,pull = <0>;
> >> +				nvidia,tristate = <0>;
> >> +			};
> >> +		};
> >> +	};
> >> +
> >> +	sdhci@c8000600 {
> >> +		pinctrl-names = "default";
> >> +		pinctrl-0 = <&sdio4_default>;
> >
> > A typo error? sdio4_default is not a phandle.
> 
> Yes.
> 
> >> +Example board file extract:
> >> +
> >> +	pinctrl@70000000 {
> >> +		sdmmc4_default: pinmux {
> >> +			sdmmc4_clk_pcc4 {
> >> +				nvidia,pins =	"sdmmc4_clk_pcc4",
> >> +						"sdmmc4_rst_n_pcc3";
> >> +				nvidia,function = "sdmmc4";
> >> +				nvidia,pull = <0>;
> >> +				nvidia,tristate = <0>;
> >> +			};
> >> +			sdmmc4_dat0_paa0 {
> >> +				nvidia,pins =	"sdmmc4_dat0_paa0",
> >> +						"sdmmc4_dat1_paa1",
> >> +						"sdmmc4_dat2_paa2",
> >> +						"sdmmc4_dat3_paa3",
> >> +						"sdmmc4_dat4_paa4",
> >> +						"sdmmc4_dat5_paa5",
> >> +						"sdmmc4_dat6_paa6",
> >> +						"sdmmc4_dat7_paa7";
> >> +				nvidia,function = "sdmmc4";
> >> +				nvidia,pull = <2>;
> >> +				nvidia,tristate = <0>;
> >
> > It seems it does not support per pin config for tegra30 and we have to
> > separate them in different nodes with same group config value, right?
> 
> Sorry, I don't understand the question.
> 
I meant for tegra, the config(not mux) in one pinctrl node functions
on all entities in nvidia,pins, IOW, all pin or group must have the
same config.
So we can not set them differently in one node.

For example, considering if  sdmmc4_dat0_paa0 is nvidia,pull <0>
while sdmmc4_dat1_paa1 is nvidia,pull <1>.
Then we need to separate them in different pinctrl nodes, right?

I was thinking about whether we can use one pinctrl node to cover
all different group settings, however that may involve more complexity.
Anyway, it's driver specific part, i'm ok with what Tegra are doing.
It looks good to me right now.

> On Tegra30, pin mux selection and some pin configuration parameters are
> per-pin. Other pin configuration parameters are per-group. The pinctrl
> driver defines groups for:
> 
> * Each pin (for per-pin properties)
> * Each group that has non-per-pin configuration parameters.
> 
> You can use either/both sets of groups in the .dts file (i.e. in the
> nvidia,pins property).
> 
> You'd never end up with a single node that mixes the "per-pin" group
> names and "non-per-pin" group names, simply because there are no
> properties that can be applied to groups of both types in hardware.
> 

Regards
Dong Aisheng

WARNING: multiple messages have this Message-ID (diff)
From: Dong Aisheng <aisheng.dong@freescale.com>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: Dong Aisheng-B29396 <B29396@freescale.com>,
	"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
	"grant.likely@secretlab.ca" <grant.likely@secretlab.ca>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	"linus.walleij@stericsson.com" <linus.walleij@stericsson.com>,
	"s.hauer@pengutronix.de" <s.hauer@pengutronix.de>,
	"dongas86@gmail.com" <dongas86@gmail.com>,
	"shawn.guo@linaro.org" <shawn.guo@linaro.org>,
	"thomas.abraham@linaro.org" <thomas.abraham@linaro.org>,
	"tony@atomide.com" <tony@atomide.com>,
	"sjg@chromium.org" <sjg@chromium.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"devicetree-discuss@lists.ozlabs.org" 
	<devicetree-discuss@lists.ozlabs.org>,
	"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>
Subject: Re: [PATCH V2 5/6] dt: Document Tegra20/30 pinctrl binding
Date: Thu, 22 Mar 2012 12:00:24 +0800	[thread overview]
Message-ID: <20120322040024.GB840@shlinux2.ap.freescale.net> (raw)
In-Reply-To: <4F69FA5A.9020504@wwwdotorg.org>

On Wed, Mar 21, 2012 at 11:57:14PM +0800, Stephen Warren wrote:
> On 03/21/2012 03:19 AM, Dong Aisheng wrote:
> > On Wed, Mar 21, 2012 at 01:44:38AM +0800, Stephen Warren wrote:
> >> Define a new binding for the Tegra pin controller, which is capable of
> >> defining all aspects of desired pin multiplexing and pin configuration.
> >> This is all based on the new common pinctrl bindings.
> >>
> >> Add Tegra30 binding based on Tegra20 binding.
> >>
> >> Add some basic stuff that was missing before:
> >> * How many and what reg property entries must be provided.
> >> * An example.
> >>
> >> Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
> >> ---
> > ........
> >> +Example board file extract:
> >> +
> >> +	pinctrl@70000000 {
> >> +		sdio4_default {
> >> +			atb {
> >> +				nvidia,pins = "atb", "gma", "gme";
> >> +				nvidia,function = "sdio4";
> >> +				nvidia,pull = <0>;
> >> +				nvidia,tristate = <0>;
> >> +			};
> >> +		};
> >> +	};
> >> +
> >> +	sdhci@c8000600 {
> >> +		pinctrl-names = "default";
> >> +		pinctrl-0 = <&sdio4_default>;
> >
> > A typo error? sdio4_default is not a phandle.
> 
> Yes.
> 
> >> +Example board file extract:
> >> +
> >> +	pinctrl@70000000 {
> >> +		sdmmc4_default: pinmux {
> >> +			sdmmc4_clk_pcc4 {
> >> +				nvidia,pins =	"sdmmc4_clk_pcc4",
> >> +						"sdmmc4_rst_n_pcc3";
> >> +				nvidia,function = "sdmmc4";
> >> +				nvidia,pull = <0>;
> >> +				nvidia,tristate = <0>;
> >> +			};
> >> +			sdmmc4_dat0_paa0 {
> >> +				nvidia,pins =	"sdmmc4_dat0_paa0",
> >> +						"sdmmc4_dat1_paa1",
> >> +						"sdmmc4_dat2_paa2",
> >> +						"sdmmc4_dat3_paa3",
> >> +						"sdmmc4_dat4_paa4",
> >> +						"sdmmc4_dat5_paa5",
> >> +						"sdmmc4_dat6_paa6",
> >> +						"sdmmc4_dat7_paa7";
> >> +				nvidia,function = "sdmmc4";
> >> +				nvidia,pull = <2>;
> >> +				nvidia,tristate = <0>;
> >
> > It seems it does not support per pin config for tegra30 and we have to
> > separate them in different nodes with same group config value, right?
> 
> Sorry, I don't understand the question.
> 
I meant for tegra, the config(not mux) in one pinctrl node functions
on all entities in nvidia,pins, IOW, all pin or group must have the
same config.
So we can not set them differently in one node.

For example, considering if  sdmmc4_dat0_paa0 is nvidia,pull <0>
while sdmmc4_dat1_paa1 is nvidia,pull <1>.
Then we need to separate them in different pinctrl nodes, right?

I was thinking about whether we can use one pinctrl node to cover
all different group settings, however that may involve more complexity.
Anyway, it's driver specific part, i'm ok with what Tegra are doing.
It looks good to me right now.

> On Tegra30, pin mux selection and some pin configuration parameters are
> per-pin. Other pin configuration parameters are per-group. The pinctrl
> driver defines groups for:
> 
> * Each pin (for per-pin properties)
> * Each group that has non-per-pin configuration parameters.
> 
> You can use either/both sets of groups in the .dts file (i.e. in the
> nvidia,pins property).
> 
> You'd never end up with a single node that mixes the "per-pin" group
> names and "non-per-pin" group names, simply because there are no
> properties that can be applied to groups of both types in hardware.
> 

Regards
Dong Aisheng


  parent reply	other threads:[~2012-03-22  4:00 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-20 17:44 [PATCH V2 1/6] dt: add property iteration helpers Stephen Warren
2012-03-20 17:44 ` Stephen Warren
2012-03-20 17:44 ` [PATCH V2 2/6] dt: pinctrl: Document device tree binding Stephen Warren
2012-03-20 19:50   ` Simon Glass
     [not found]   ` <1332265479-1260-2-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-03-21  5:37     ` Dong Aisheng
2012-03-21  5:37       ` Dong Aisheng
2012-03-20 17:44 ` [PATCH V2 3/6] pinctrl: core device tree mapping table parsing support Stephen Warren
     [not found]   ` <1332265479-1260-3-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-03-21  7:31     ` Dong Aisheng
2012-03-21  7:31       ` Dong Aisheng
2012-03-21  7:31       ` Dong Aisheng
     [not found]       ` <20120321073116.GE3191-Fb7DQEYuewWctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-03-21 15:48         ` Stephen Warren
2012-03-21 15:48           ` Stephen Warren
     [not found]           ` <4F69F844.3060102-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-03-21 17:25             ` Stephen Warren
2012-03-21 17:25               ` Stephen Warren
     [not found]               ` <4F6A0F05.90104-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-03-22  5:49                 ` Dong Aisheng
2012-03-22  5:49                   ` Dong Aisheng
2012-03-22  3:39             ` Dong Aisheng
2012-03-22  3:39               ` Dong Aisheng
2012-03-20 17:44 ` [PATCH V2 4/6] dt: Move Tegra20 pin mux binding into new pinctrl directory Stephen Warren
2012-03-20 17:44 ` [PATCH V2 5/6] dt: Document Tegra20/30 pinctrl binding Stephen Warren
     [not found]   ` <1332265479-1260-5-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-03-21  9:19     ` Dong Aisheng
2012-03-21  9:19       ` Dong Aisheng
     [not found]       ` <20120321091919.GA18592-Fb7DQEYuewWctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-03-21 15:57         ` Stephen Warren
2012-03-21 15:57           ` Stephen Warren
     [not found]           ` <4F69FA5A.9020504-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-03-22  4:00             ` Dong Aisheng [this message]
2012-03-22  4:00               ` Dong Aisheng
     [not found]               ` <20120322040024.GB840-Fb7DQEYuewWctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-03-22 15:45                 ` Stephen Warren
2012-03-22 15:45                   ` Stephen Warren
     [not found]                   ` <4F6B491B.8040506-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-03-23  4:51                     ` Dong Aisheng
2012-03-23  4:51                       ` Dong Aisheng
2012-03-20 17:44 ` [PATCH V2 6/6] pinctrl: tegra: Add complete device tree support Stephen Warren
     [not found]   ` <1332265479-1260-6-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-03-21  9:35     ` Dong Aisheng
2012-03-21  9:35       ` Dong Aisheng
2012-03-21 16:07       ` Stephen Warren
2012-03-21 16:07         ` Stephen Warren
     [not found]         ` <4F69FCBF.3050708-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-03-22  4:07           ` Dong Aisheng
2012-03-22  4:07             ` Dong Aisheng
     [not found]             ` <20120322040730.GC840-Fb7DQEYuewWctlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-03-22 17:22               ` Stephen Warren
2012-03-22 17:22                 ` Stephen Warren
2012-04-01 17:29     ` Linus Walleij
2012-04-01 17:29       ` Linus Walleij
     [not found]       ` <CACRpkdav8x-Td-fH1Ree83GhNR8r7aA1dBsTQo2eU3nwwam21Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-04-02 15:34         ` Stephen Warren
2012-04-02 15:34           ` Stephen Warren
     [not found]           ` <4F79C6F7.4070701-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-04-03 21:06             ` Linus Walleij
2012-04-03 21:06               ` Linus Walleij
     [not found] ` <1332265479-1260-1-git-send-email-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-03-20 20:03   ` [PATCH V2 1/6] dt: add property iteration helpers Rob Herring
2012-03-20 20:03     ` Rob Herring

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=20120322040024.GB840@shlinux2.ap.freescale.net \
    --to=aisheng.dong-kzfg59tc24xl57midrcfdg@public.gmane.org \
    --cc=B29396-KZfg59tc24xl57MIdRCFDg@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=dongas86-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
    --cc=linus.walleij-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org \
    --cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
    --cc=thomas.abraham-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.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.