devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Walleij <linus.walleij@linaro.org>
To: Stephen Warren <swarren@nvidia.com>
Cc: Tony Lindgren <tony@atomide.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	Dong Aisheng-B29396 <B29396@freescale.com>,
	"linus.walleij@stericsson.com" <linus.walleij@stericsson.com>,
	"s.hauer@pengutronix.de" <s.hauer@pengutronix.de>,
	"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>,
	"cjb@laptop.org" <cjb@laptop.org>,
	"Simon Glass (sjg@chromium.org)" <sjg@chromium.org>,
	Dong Aisheng <dongas86@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"devicetree-discuss@lists.ozlabs.org"
	<devicetree-discuss@lists.ozlabs.org>
Subject: Re: Pinmux bindings proposal
Date: Fri, 27 Jan 2012 14:11:43 +0100	[thread overview]
Message-ID: <CACRpkdaRePot9qt-z3Chk-GHqHDfyu07ojKfGA2HEXxvjKn=Vg@mail.gmail.com> (raw)
In-Reply-To: <74CDBE0F657A3D45AFBB94109FB122FF1780DAB45E@HQMAIL01.nvidia.com>

On Fri, Jan 20, 2012 at 9:50 PM, Stephen Warren <swarren@nvidia.com> wrote:

> For Tegra20 (and IIRC some other HW), the pin mux HW actually muxes
> groups of pins; one register field sets n (1, 2, 3, ...) pins to that
> function at once. Hence, the entries are real physical groups.

Maybe I am getting things wrong, but I've read:

http://en.wiktionary.org/wiki/real
http://en.wiktionary.org/wiki/virtual

And now I am trying to address this from my understanding of
"real" as defined in clause 1:

"1. That has physical existence.
    No one has ever seen a real unicorn."

And "virtual" as defined in clause 3:

"3. Of something that is simulated in a computer or on-line.
    The virtual world of his computer game allowed character interaction."

Please tell me if I have the wrong definitions in my
head, I am not trying to play smart, I just want to understand
why this rubs me the wrong way. So:

On the Nomadik GPIO controller (not yet migrated to the pin
control subsystem, mea culpa) pins 0,1,2,3 can be used for UART0.

These four pins can also be used for GPIO, and two other
functions.

Does that make the group UART0 = {0,1,2,3} a virtual group
in sense (3) of the wiktionary article, i.e. "simulated in a
computer"?

To me: no, not at all.

Because it is a very real physical property of these pins that
UART0 can *only* appear on these 4 pins, not 4 other pins.
It is clear from the data sheet.

And even if they could appear on other pins, the number of
such appearances would be limited by physical factors, and
UART0_1 = {0,1,2,3} vs UART0_2 = {4,5,6,7} wouldn't
make it virtual. This is also a physical property, not simulated or virtual.

The *only* case where I could *maybe* accept the "virtual"
terminology would be for a phone-exchange type of
pinmux, where say this UART could appear on any 4 pins,
arbitrarily chosen. Still this is not fully virtual since it is
a physical fact that the UART group has to have 4 pins,
not 1, not 17.

Notice that I don't involve the use of that group on a
specific board in this argument, since the *silicon* limits the
muxable properties of this group, and it is a very real
group of pins.

This is why I think it is a bad idea to try to define pins as
being in a "real" or "virtual" group like this, where the only
criteria for that terminology is whether each pin has its own
control register or not.

I'm all happy with "Tegra type groups" and "Tegra type pins"
or "groups with separate control registers" or "pins with
separate control registers" which tells us what it really is,
"real" or "virtual" does not fit our discussion here the way
I see it.

Yours,
Linus Walleij

  parent reply	other threads:[~2012-01-27 13:11 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-13 20:39 Pinmux bindings proposal Stephen Warren
2012-01-14  7:09 ` Shawn Guo
2012-01-17 18:47   ` Stephen Warren
2012-01-18  3:32     ` Shawn Guo
2012-01-18 19:00       ` Stephen Warren
2012-01-16 12:50 ` Dong Aisheng-B29396
     [not found]   ` <7FE21149F4667147B645348EC6057885091DEA-RL0Hj/+nBVDYdknt8GnhQq4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2012-01-17  8:23     ` Shawn Guo
     [not found]       ` <20120117082334.GA31295-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-01-17  9:46         ` Dong Aisheng-B29396
2012-01-17 14:13           ` Shawn Guo
2012-01-17 19:32             ` Stephen Warren
     [not found]             ` <20120117141322.GA31687-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-01-18  3:44               ` Dong Aisheng-B29396
     [not found]                 ` <7FE21149F4667147B645348EC6057885093AD9-RL0Hj/+nBVDYdknt8GnhQq4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2012-01-18  4:47                   ` Shawn Guo
2012-01-18 19:24                 ` Stephen Warren
2012-01-17 19:28           ` Stephen Warren
2012-01-18 11:06             ` Dong Aisheng-B29396
     [not found]               ` <7FE21149F4667147B645348EC6057885095125-RL0Hj/+nBVDYdknt8GnhQq4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2012-01-20 20:28                 ` Stephen Warren
     [not found]                   ` <74CDBE0F657A3D45AFBB94109FB122FF1780DAB445-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-27 12:00                     ` Linus Walleij
2012-01-27 16:58                       ` Stephen Warren
2012-01-17 19:21       ` Stephen Warren
     [not found]         ` <74CDBE0F657A3D45AFBB94109FB122FF17801D22EB-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-18  4:01           ` Shawn Guo
2012-01-18  9:32           ` Dong Aisheng-B29396
2012-01-17 19:09   ` Stephen Warren
     [not found]     ` <74CDBE0F657A3D45AFBB94109FB122FF17801D22DE-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-18  7:24       ` Dong Aisheng-B29396
     [not found]         ` <7FE21149F4667147B645348EC6057885093D83-RL0Hj/+nBVDYdknt8GnhQq4g8xLGJsHaLnY5E4hWTkheoWH0uzbU5w@public.gmane.org>
2012-01-18 19:42           ` Stephen Warren
2012-01-16 18:28 ` Grant Likely
     [not found]   ` <20120116182808.GG4223-e0URQFbLeQY2iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2012-01-18 14:13     ` Tony Lindgren
2012-01-18 14:30       ` Shawn Guo
2012-01-18 15:32         ` Tony Lindgren
     [not found]           ` <20120118153256.GB22818-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-18 16:29             ` Tony Lindgren
     [not found]               ` <20120118162943.GC22818-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-18 20:22                 ` Grant Likely
2012-01-18 20:20             ` Grant Likely
     [not found]               ` <20120118202057.GH4223-e0URQFbLeQY2iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2012-01-19 10:31                 ` Tony Lindgren
2012-01-18 20:02       ` Stephen Warren
2012-01-19 10:57         ` Tony Lindgren
2012-01-20 20:50           ` Stephen Warren
2012-01-23 20:13             ` Tony Lindgren
     [not found]               ` <20120123201304.GB4420-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-23 22:54                 ` Stephen Warren
2012-01-27 13:11             ` Linus Walleij [this message]
2012-01-18 12:16 ` Thomas Abraham
2012-01-18 19:52   ` Stephen Warren
     [not found]     ` <74CDBE0F657A3D45AFBB94109FB122FF1780DAAEB8-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-19 17:01       ` Tony Lindgren
     [not found] ` <74CDBE0F657A3D45AFBB94109FB122FF17801D202F-C7FfzLzN0UxDw2glCA4ptUEOCMrvLtNR@public.gmane.org>
2012-01-19 13:10   ` Thomas Abraham
2012-01-19 16:56     ` Tony Lindgren
     [not found]       ` <20120119165607.GG22818-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-19 17:38         ` Thomas Abraham
     [not found]           ` <CAJuYYwQB1pDu-JS5o3XPA1D8WbVcwbdtD43M4y7PeJNWeNXxQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-19 18:20             ` Tony Lindgren
2012-01-19 18:38               ` Thomas Abraham
2012-01-20 10:05                 ` Tony Lindgren
     [not found]                   ` <20120120100528.GJ22818-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-20 16:17                     ` Thomas Abraham
2012-01-20 17:53                       ` Tony Lindgren
     [not found]                         ` <20120120175351.GL7807-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-01-21  1:38                           ` Thomas Abraham
2012-01-20 21:15         ` Stephen Warren
     [not found]     ` <CAJuYYwQoh4_SnA9wmy4x+cG0w0hGukxTkODWtcSw_2QHYuDsrg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-20 21:11       ` Stephen Warren
2012-01-21  1:27         ` Thomas Abraham
2012-01-23 22:43           ` 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='CACRpkdaRePot9qt-z3Chk-GHqHDfyu07ojKfGA2HEXxvjKn=Vg@mail.gmail.com' \
    --to=linus.walleij@linaro.org \
    --cc=B29396@freescale.com \
    --cc=cjb@laptop.org \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=dongas86@gmail.com \
    --cc=grant.likely@secretlab.ca \
    --cc=kernel@pengutronix.de \
    --cc=linus.walleij@stericsson.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rob.herring@calxeda.com \
    --cc=s.hauer@pengutronix.de \
    --cc=sjg@chromium.org \
    --cc=swarren@nvidia.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).