All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Grant Likely <grant.likely@secretlab.ca>,
	Rob Herring <rob.herring@calxeda.com>,
	devicetree-discuss@lists.ozlabs.org,
	linux-kernel@vger.kernel.org,
	Linus Walleij <linus.walleij@stericsson.com>,
	B29396@freescale.com, s.hauer@pengutronix.de, dongas86@gmail.com,
	shawn.guo@linaro.org, thomas.abraham@linaro.org,
	tony@atomide.com
Subject: Re: [PATCH] dt: pinctrl: Document device tree binding
Date: Tue, 13 Mar 2012 13:34:28 -0600	[thread overview]
Message-ID: <4F5FA144.10000@wwwdotorg.org> (raw)
In-Reply-To: <CACRpkdY3BAD+w3X6ZLPpfkO2=yKFjbU=N11wPP4v7TfZqcy7Dg@mail.gmail.com>

On 03/13/2012 03:14 AM, Linus Walleij wrote:
> On Fri, Mar 9, 2012 at 7:14 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
> 
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
>> @@ -0,0 +1,118 @@
>> +== Introduction ==
>> +
>> +Hardware modules that control pin multiplexing or configuration parameters
>> +such as pull-up/down, tri-state, drive-strength etc are designated as pin
>> +controllers. Each pin controller must be represented as a node in device tree,
>> +just like any other hardware module.
> 
> Maybe put in a reference to Documentation/pinctrl.txt for in-depth
> discussion? Also some stuff may be moved over there as generic
> information. A lot of the text here does not seem to be about the
> device tree ...
> 
> However maybe the use case is outside the Linux kernel too
> and in that case I'm happy with it.

Yes, the idea is that the bindings are OS-independent as much as
possible. That's why it's a little redundant w.r.t. the existing Linux
pinctrl documentation.

>> +For a client device to operate correctly, certain pin controllers must
>> +set up certain specific pin configurations. Some client devices need a
>> +single static pin configuration, e.g. set up during initialization. Others
>> +need to reconfigure pins at run-time, for example to tri-state pins when the
>> +device is inactive. Hence, each client device can define a set of named
>> +states. The number and names of those states is defined by the client device's
>> +own binding.
> 
> Just so I understand: is "pin configuration" here strictly what we
> handle in pinconf.c or does it include multiplexing (pinmux.c)?
> 
> I guess it's not multiplexing, just making sure.
>
> Maybe state explicitly that multiplexing is not part of pin config,
> else someone will invariably get confused.

No, it's intended to cover any aspect at all of pin control hardware,
including muxing. I'm not sure why you would expect pin muxing /not/ to
be represented by these bindings?

>> +Note that pin controllers themselves may also be client devices of themselves.
> 
> Insert something about this being known as config hogging.

I think that's Linux-specific terminology, hence not appropriate for a
generic document. (And as an aside, I don't really like the name
"hogging", or even treating it as some kind of special-case).

> The rest I barely understand so I leave it for the others to discuss...

Hmm. That's unfortunate. It'd be very useful if you could fully digest
this aspect of pinctrl.

  reply	other threads:[~2012-03-13 19:34 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-09 18:14 [PATCH] dt: pinctrl: Document device tree binding Stephen Warren
2012-03-12  3:21 ` Randy Dunlap
2012-03-12  3:21   ` Randy Dunlap
2012-03-12 13:06 ` Shawn Guo
2012-03-12 14:34 ` Dong Aisheng
2012-03-12 14:34   ` Dong Aisheng
2012-03-12 17:16   ` Stephen Warren
2012-03-12 17:16     ` Stephen Warren
2012-03-13  3:20     ` Dong Aisheng
2012-03-13  3:20       ` Dong Aisheng
2012-03-13 19:27       ` Stephen Warren
2012-03-13 19:27         ` Stephen Warren
2012-03-15  3:32         ` Dong Aisheng
2012-03-15  3:32           ` Dong Aisheng
2012-03-15 17:18           ` Stephen Warren
2012-03-15 17:18             ` Stephen Warren
2012-03-13  4:12 ` Grant Likely
2012-03-13  4:12   ` Grant Likely
2012-03-13  9:14 ` Linus Walleij
2012-03-13 19:34   ` Stephen Warren [this message]
2012-03-14 21:26 ` Tony Lindgren
2012-03-15 16:51   ` Linus Walleij
2012-03-15 16:51     ` Linus Walleij
2012-03-15 17:12     ` Stephen Warren

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=4F5FA144.10000@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=B29396@freescale.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=dongas86@gmail.com \
    --cc=grant.likely@secretlab.ca \
    --cc=linus.walleij@linaro.org \
    --cc=linus.walleij@stericsson.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=s.hauer@pengutronix.de \
    --cc=shawn.guo@linaro.org \
    --cc=thomas.abraham@linaro.org \
    --cc=tony@atomide.com \
    /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.