All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: Christian Ruppert <christian.ruppert@abilis.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	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, linux-doc@vger.kernel.org,
	Alexandre Courbot <acourbot@nvidia.com>
Subject: Re: [PATCH 2/4] pinmux: Add TB10x pinmux driver
Date: Wed, 10 Jul 2013 13:27:52 -0600	[thread overview]
Message-ID: <51DDB5B8.5060909@wwwdotorg.org> (raw)
In-Reply-To: <20130708130222.GA6402@ab42.lan>

On 07/08/2013 07:02 AM, Christian Ruppert wrote:
...
> OK, a small drawing of our hardware should make this clear, let's take
> an imaginary example of one port with 10 pins, one i2c interface, one
> spi interface and one GPIO bank:
> 
>               | mux N-1|
>               +........+
>               |        |  2
>               |        +--/-- i2c
>               |        |
>            10 |        |  4
>    Pins  --/--+ mux N  +--/-- spi
>               |        |
>               |        |  10
>               |        +--/-- GPIO
>               |        |
>               +........+
>               | mux N+1|
>
> This example shows the mux N inside the pin controller. It controls
> all pins associated to port N through a single register value M. Let's
> assume the pins are configured as follows in function of the register
> value:
> 
>  pin      M=0       M=1     M=2      M=3
>   0      GPIO0   SPI_MISO  GPIO0   SPI_MISO
>   1      GPIO1   SPI_MOSI  GPIO1   SPI_MOSI
>   2      GPIO2    SPI_CK   GPIO2    SPI_CK
>   3      GPIO3    SPI_CS   GPIO3    SPI_CS
>   4      GPIO4    GPIO4    GPIO4    GPIO4
>   5      GPIO5    GPIO5    GPIO5    GPIO5
>   6      GPIO6    GPIO6    GPIO6    GPIO6
>   7      GPIO7    GPIO7    GPIO7    GPIO7
>   8      GPIO8    GPIO8   I2C_SDA  I2C_SDA
>   9      GPIO9    GPIO9   I2C_SCL  I2C_SCL


In that scenario, in the language of Linux's pinctrl subsystem, what you
have is:

10 pins, named 0..9
1 pin group, named perhaps "mux N".
4 different functions; values M==0, 1, 2, 3.

> We now have three pin groups defined, corresponding to the chip-side
> ports of the pin controller:
> GPIO = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
> SPI  = {0, 1, 2, 3}
> I2C  = {8, 9}

You would usually only define pin groups for the pin/ball/package side
of the pinmux HW. IIRC, you're also wanting to define pin groups for the
intra-chip side of the pinmux HW. However, you're not muxing functions
onto those pingroups; they're just there to help with naming the
GPIO<->pinmux mapping. You only mux functions onto the pin/ball/package
side pins/pingroups.


> abilis,pingrp now specifies one of the three pin groups. Note that I2C
>        and SPI can be requested independently in a completely orthogonal
>        manner: The information if I2C is reqired or not is confined to
>        the I2C request and does not leak into the SPI request as would
>        be the case if we configured the entire port at the same time.

The pingrp should represent the pin/ball/package side pins/groups. In
this case, it should specify "N".

> abilis,ioport specifies N.

That is replaced be pingrp.

> abilis,ioconf specifies M.

That'd be better named "function" or something like that, in order to
indicate that it specifies which function is mux'd onto the specified
pin(s)/pingroup(s).

  reply	other threads:[~2013-07-10 19:27 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
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 [this message]
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=51DDB5B8.5060909@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.