All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Christian Ruppert <christian.ruppert@abilis.com>,
	Patrice CHOTARD <patrice.chotard@st.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Grant Likely <grant.likely@secretlab.ca>,
	Rob Herring <rob.herring@calxeda.com>,
	Rob Landley <rob@landley.net>,
	Sascha Leuenberger <sascha.leuenberger@abilis.com>,
	Pierrick Hascoet <pierrick.hascoet@abilis.com>,
	"devicetree-discuss@lists.ozlabs.org"
	<devicetree-discuss@lists.ozlabs.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	Alexandre Courbot <acourbot@nvidia.com>
Subject: Re: [PATCH 2/2] Make non-linear GPIO ranges accesible from gpiolib
Date: Tue, 25 Jun 2013 09:31:00 -0600	[thread overview]
Message-ID: <51C9B7B4.6030109@wwwdotorg.org> (raw)
In-Reply-To: <CACRpkdb5uVMBg96T5_CLYDMzs5KGB7a+njWd-OKewTm5D2mz1g@mail.gmail.com>

On 06/25/2013 08:56 AM, Linus Walleij wrote:
> On Fri, Jun 21, 2013 at 11:17 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>> On 06/20/2013 05:57 AM, Christian Ruppert wrote:
> 
>>> Your remark seems to reflect one of the following two hardware
>>> architectures:
>>>
>>>                                                      +- SPI
>>>                  Physical pins --- GPIO --- pinctrl -+- I2C
>>>                                                      +- mmc
>>
>> (that's diagram 1)
>>
>>>
>>>                                 +- GPIO
>>>                  Physical pins -+           +- SPI
>>>                                 +- pinctrl -+- I2C
>>>                                             +- mmc
>>
>> (that's diagram 2)
>>
>>> TB10x hardware architecture:
>>>
>>>                                             +- SPI
>>>                  Physical pins --- pinctrl -+- I2C
>>>                                             +- mmc
>>>                                             +- GPIO
>>
>> (that's diagram 3)
>>
>> No, I was thinking of diagram 3 above. I'm not sure if diagrams (1) or
>> (2) are common or exist?
> 
> The U300 pin controller is obviously of type (1) as it can spy on
> the signals.

U300 HW might be diagram (1) - I can't say since I'm not familiar with
the HW. However, the fact that GPIO can spy on signals in no way at all
implies that the HW must conform to diagram (1).

In diagram (2), the pins are routed to both the GPIO and pinctrl module,
so there's no reason why GPIO couldn't spy on any input signals there too.

Even in diagram 3, GPIO may be able to spy. The issue is how the
"inbound" muxes work.

For output signals from HW modules through the pinctrl HW to the pins,
there's likely a plain n:1 mux that selects a single signal and drives
it out.

For input signals, there are still some choices; you might have a 1:n
mux that only drives 1 single HW module's input signals from the pins,
or you may simply wire the input pin through to all the possible HW
modules in parallel on the input side, or you may always wire the input
pin to the GPIO HW module, but have a 1:n mux for the dedicated HW
modules so that (at most) one of those is driven by the pin, etc.

For reference, the Tegra HW is diagram (3), although actually the GPIO
module has the register bits that select between GPIO and mux-function
for each pin! The signals that control this are fed from the GPIO
register bits into input signals on the pinmux HW, which does all the
actual muxing. The input path muxing is set up so that without affecting
the pinmux programming, the GPIO module can spy on any input signal,
although while doing so, it disconnects the input pin from the dedicated
mux function, thus potentially causing some disruption.

> The Nomadik pin controller is basically type (2).
> 
> Maybe this is part of the explanation to why we sometimes tend
> to talk past each other :-D
> 
> (I would replace the string "pinctrl" with "pinmux" above,
> as I just did in my documentation patch adding these
> diagrams.)


  reply	other threads:[~2013-06-25 15:31 UTC|newest]

Thread overview: 147+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-10 15:45 [PATCH 1/2] pinmux: Add TB10x pinmux driver Christian Ruppert
2013-04-10 15:45 ` [PATCH 2/2] GPIO: Add TB10x GPIO driver Christian Ruppert
2013-04-17 15:13   ` Linus Walleij
2013-04-17 18:37   ` Stephen Warren
2013-04-17 14:48 ` [PATCH 1/2] pinmux: Add TB10x pinmux driver Linus Walleij
2013-04-17 18:32 ` Stephen Warren
2013-04-18  9:03   ` Christian Ruppert
2013-04-26  7:47     ` Linus Walleij
2013-04-29 16:17       ` Christian Ruppert
     [not found]         ` <20130429161725.GB30136-7oYq3qWSd+k@public.gmane.org>
2013-05-02 18:49           ` Stephen Warren
2013-05-02 18:49             ` Stephen Warren
2013-05-03 18:03             ` Linus Walleij
2013-05-08 16:41               ` Christian Ruppert
2013-05-08 20:01                 ` Stephen Warren
2013-05-10  8:25                   ` Christian Ruppert
2013-05-14 12:29                     ` Linus Walleij
2013-05-15  9:41                       ` Christian Ruppert
2013-05-20  8:03                         ` Linus Walleij
2013-05-22  9:49                           ` Christian Ruppert
2013-06-12 16:44                             ` [RFC] Allow GPIO ranges based on pinctl pin groups Christian Ruppert
     [not found]                               ` <1371055449-15828-1-git-send-email-christian.ruppert-ux6zf3SgZrrQT0dZR+AlfA@public.gmane.org>
2013-06-13  9:00                                 ` Linus Walleij
2013-06-13  9:00                                   ` Linus Walleij
2013-06-13 12:55                                   ` [PATCH 1/2] Add pin list based GPIO ranges Christian Ruppert
     [not found]                                     ` <1371128132-18266-1-git-send-email-christian.ruppert-ux6zf3SgZrrQT0dZR+AlfA@public.gmane.org>
2013-06-13 18:30                                       ` Linus Walleij
2013-06-13 18:30                                         ` Linus Walleij
2013-06-14  7:17                                     ` Patrice CHOTARD
2013-06-14  8:24                                       ` [PATCH] Fix comment on pinctrl_gpio_range.pin_base Christian Ruppert
2013-06-16 10:19                                         ` Linus Walleij
2013-06-13 12:55                                   ` [PATCH 2/2] Make non-linear GPIO ranges accesible from gpiolib Christian Ruppert
2013-06-13 18:36                                     ` Linus Walleij
2013-06-13 21:38                                     ` Stephen Warren
2013-06-14  9:12                                       ` Christian Ruppert
2013-06-19 18:10                                         ` Stephen Warren
2013-06-19 18:27                                           ` Stephen Warren
2013-06-20 11:57                                             ` Christian Ruppert
2013-06-21 21:17                                               ` Stephen Warren
2013-06-25 11:59                                                 ` Christian Ruppert
2013-06-25 15:59                                                   ` Stephen Warren
2013-06-25 14:27                                                 ` Linus Walleij
2013-06-25 15:19                                                   ` Stephen Warren
2013-06-25 14:32                                                 ` Linus Walleij
2013-06-25 15:22                                                   ` Stephen Warren
2013-06-25 14:56                                                 ` Linus Walleij
2013-06-25 15:31                                                   ` Stephen Warren [this message]
2013-06-25 15:47                                                     ` Linus Walleij
2013-06-25 15:28                                                 ` Linus Walleij
2013-06-25 15:39                                                   ` Stephen Warren
2013-06-25 15:53                                                     ` Linus Walleij
2013-06-17 16:03                                       ` Christian Ruppert
2013-06-17 16:04                                         ` [PATCH 1/4] " Christian Ruppert
2013-06-18  8:09                                           ` Linus Walleij
2013-06-18  9:25                                             ` Christian Ruppert
2013-06-18  9:29                                               ` Christian Ruppert
2013-06-19 12:03                                                 ` Linus Walleij
2013-06-19 18:15                                                   ` Stephen Warren
2013-06-26 11:42                                                     ` Christian Ruppert
2013-06-26 17:33                                                       ` Stephen Warren
2013-06-19 22:27                                                 ` Stephen Warren
2013-06-26 11:46                                                   ` Christian Ruppert
2013-06-26 17:34                                                     ` Stephen Warren
2013-06-18  9:29                                               ` [PATCH 2/4] pinmux: Add TB10x pinmux driver Christian Ruppert
2013-06-19 22:35                                                 ` Stephen Warren
2013-06-26 11:50                                                   ` Christian Ruppert
2013-06-26 17:40                                                     ` Stephen Warren
2013-07-05  9:49                                                       ` Christian Ruppert
2013-07-05 18:40                                                         ` Stephen Warren
2013-07-08 13:02                                                           ` Christian Ruppert
2013-07-10 19:27                                                             ` Stephen Warren
2013-07-16  8:47                                                               ` Christian Ruppert
2013-07-16 16:04                                                                 ` Stephen Warren
2013-07-18 16:07                                                                   ` Christian Ruppert
2013-07-18 19:54                                                                     ` Stephen Warren
2013-07-26  9:42                                                                       ` Christian Ruppert
2013-07-26 16:05                                                                         ` Stephen Warren
2013-07-29 22:35                                                 ` Linus Walleij
2013-08-05 11:51                                                   ` Christian Ruppert
2013-08-05 11:51                                                     ` Christian Ruppert
2013-08-14 16:53                                                     ` Linus Walleij
2013-08-21 15:57                                                       ` Christian Ruppert
2013-08-22 20:10                                                         ` Stephen Warren
2013-08-28 14:47                                                           ` Christian Ruppert
2013-10-08 12:21                                                             ` Christian Ruppert
2013-10-08 12:25                                                               ` [PATCH 01/03] Make non-linear GPIO ranges accesible from gpiolib Christian Ruppert
2013-10-09 11:58                                                                 ` Linus Walleij
2013-10-09 13:28                                                                   ` Christian Ruppert
2013-10-09 14:01                                                                     ` Linus Walleij
2013-10-10 20:49                                                                       ` Stephen Warren
2013-10-11  7:53                                                                         ` Linus Walleij
2013-10-15 13:36                                                                       ` Christian Ruppert
2013-10-15 13:37                                                                         ` [PATCH V2] " Christian Ruppert
2013-10-16 11:19                                                                           ` Linus Walleij
2013-10-16 12:56                                                                             ` [PATCH] Add a short note on pinctrl_get_group_pins to pinctrl.txt Christian Ruppert
2013-10-16 13:36                                                                               ` Linus Walleij
2013-10-10 20:47                                                                   ` [PATCH 01/03] Make non-linear GPIO ranges accesible from gpiolib Stephen Warren
2013-10-08 12:25                                                               ` [PATCH 02/03] pinmux: Add TB10x pinmux driver Christian Ruppert
2013-10-09 12:30                                                                 ` Linus Walleij
     [not found]                                                                   ` <CACRpkdZdELan7OyMjt4KOi=q-v1xkSaNZNyZ7AnOBY1R=SoW3w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-15 13:39                                                                     ` [PATCH V2] " Christian Ruppert
2013-10-15 13:39                                                                       ` Christian Ruppert
2013-10-16 11:25                                                                       ` Linus Walleij
2013-10-08 12:25                                                               ` [PATCH 03/03] GPIO: Add TB10x GPIO driver Christian Ruppert
2013-10-09 12:19                                                                 ` Linus Walleij
2013-10-15 13:45                                                                   ` Christian Ruppert
2013-10-16 11:29                                                                     ` Linus Walleij
2013-10-16 12:58                                                                       ` Christian Ruppert
2013-10-24 16:23                                                                         ` Christian Ruppert
2013-10-25 21:44                                                                           ` Linus Walleij
2013-10-25  3:27                                                                 ` Kumar Gala
2013-08-28 18:49                                                         ` [PATCH 2/4] pinmux: Add TB10x pinmux driver Linus Walleij
2013-08-29  7:35                                                           ` Christian Ruppert
2013-08-29  8:24                                                             ` Linus Walleij
2013-08-30  8:19                                                               ` Christian Ruppert
2013-06-18  9:29                                               ` [PATCH 3/4] GPIO: Add TB10x GPIO driver Christian Ruppert
2013-06-19 22:37                                                 ` Stephen Warren
2013-06-18  9:29                                               ` [PATCH 4/4] Add Abilis Systems Sarl to device tree vendor prefixes Christian Ruppert
2013-06-17 16:04                                         ` [PATCH 2/4] pinmux: Add TB10x pinmux driver Christian Ruppert
2013-06-17 16:04                                         ` [PATCH 3/4] GPIO: Add TB10x GPIO driver Christian Ruppert
2013-06-17 16:04                                         ` [PATCH 4/4] Add Abilis Systems Sarl to device tree vendor prefixes Christian Ruppert
2013-05-16  0:12                     ` [PATCH 1/2] pinmux: Add TB10x pinmux driver Stephen Warren
2013-05-20  8:10                       ` Linus Walleij
2013-05-22 14:28                         ` Christian Ruppert
2013-05-23  7:43                           ` Haojian Zhuang
2013-05-24 11:50                             ` Christian Ruppert
2013-05-26 15:49                               ` Haojian Zhuang
2013-06-03 12:30                                 ` Christian Ruppert
     [not found]                                   ` <20130603123001.GD31808-7oYq3qWSd+k@public.gmane.org>
2013-06-05  1:44                                     ` Haojian Zhuang
2013-06-05  1:44                                       ` Haojian Zhuang
2013-06-06 14:11                                       ` Christian Ruppert
2013-06-06 14:32                                         ` Haojian Zhuang
2013-06-06 15:30                                           ` Christian Ruppert
2013-06-07  0:00                                             ` Haojian Zhuang
2013-06-07 11:32                                               ` Christian Ruppert
     [not found]                                                 ` <20130607113207.GE11875-7oYq3qWSd+k@public.gmane.org>
2013-06-07 14:57                                                   ` Haojian Zhuang
2013-06-07 14:57                                                     ` Haojian Zhuang
2013-06-07 19:18                                             ` Stephen Warren
2013-06-08  8:31                                               ` Haojian Zhuang
2013-06-09  2:47                                                 ` Stephen Warren
2013-06-11  7:27                                               ` Christian Ruppert
2013-06-16 11:11                                                 ` Linus Walleij
2013-05-29 12:21                               ` Linus Walleij
2013-06-03  9:42                                 ` Christian Ruppert
     [not found]                                   ` <20130603094204.GC31808-7oYq3qWSd+k@public.gmane.org>
2013-06-07 11:36                                     ` Linus Walleij
2013-06-07 11:36                                       ` Linus Walleij
2013-06-07 13:34                                       ` Christian Ruppert
2013-05-24  9:20                           ` Linus Walleij
2013-05-24 12:03                             ` Christian Ruppert
     [not found]     ` <20130418090310.GA17636-7oYq3qWSd+k@public.gmane.org>
2013-05-02 18:52       ` Stephen Warren
2013-05-02 18:52         ` 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=51C9B7B4.6030109@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=acourbot@nvidia.com \
    --cc=christian.ruppert@abilis.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linus.walleij@linaro.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patrice.chotard@st.com \
    --cc=pierrick.hascoet@abilis.com \
    --cc=rob.herring@calxeda.com \
    --cc=rob@landley.net \
    --cc=sascha.leuenberger@abilis.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.