mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Christian Ruppert <christian.ruppert@abilis.com>
To: Haojian Zhuang <haojian.zhuang@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Stephen Warren <swarren@wwwdotorg.org>,
	Shiraz HASHIM <shiraz.hashim@st.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>
Subject: Re: [PATCH 1/2] pinmux: Add TB10x pinmux driver
Date: Fri, 24 May 2013 13:50:54 +0200	[thread overview]
Message-ID: <20130524115053.GB5203@ab42.lan> (raw)
In-Reply-To: <CAD6h2NT4FqmEsLvtTDwwDL2YVzXYNpw72hTOcSxSMvHLhWvFPQ@mail.gmail.com>

Hello Haojian,

On Thu, May 23, 2013 at 03:43:27PM +0800, Haojian Zhuang wrote:
> On 22 May 2013 22:28, Christian Ruppert <christian.ruppert@abilis.com> wrote:
> >
> > On Mon, May 20, 2013 at 10:10:33AM +0200, Linus Walleij wrote:
> > > On Thu, May 16, 2013 at 2:12 AM, Stephen Warren <swarren@wwwdotorg.org> wrote:
> > > > On 05/10/2013 02:25 AM, Christian Ruppert wrote:
> > >
> > > >> (*1) TB100 GPIO ranges are defined as a phandle to the I/O function
> > > >>      which provides all pins of a given GPIO port. This function is not
> > > >>      necessarily requested from pinctrl and GPIO ports may overlap with
> > > >>      other functions. The pin controller knows about this and provides
> > > >>      whatever GPIO pin is available after mapping other requested
> > > >>      functions.
> > > >> (*2) Here, the entire GPIOB port is explicitly requested by the GPIO
> > > >>      module, i.e. all pins of the port are made available as GPIOs.
> > > >
> > > > So I think all you're looking for is a way in DT to represent GPIO
> > > > ranges? I don't think that should be by string name, but rather numbers:
> > > >
> > > > (actually, doesn't pinctrl-simple already have this?)
> > >
> > > Now I'm ever more confused ... we already have this :-)
> > >
> > > It's not even pinctrl-simple-centric it is completely generic.
> > > The code is in drivers/gpio/gpiolib-of.c.
> > >
> > > It was written by Shiraz Hashin and Haojian Zhuang.
> > > At the time I augmented the core code quite a bit to make
> > > a good fit.
> >
> > I agree. Unluckily, it uses pinctrl-internal pin numbering which we
> > would have to make coherent with the physical pin numbers of the
> > individual packaging variants of the chip in order to expose them to
> > customers (see my previous mail at https://lkml.org/lkml/2013/5/22/207).
> >
> > Adapting the kernel-internal pin numbering in function of the product
> > variant doesn't seem such a good idea to me: All pin groups etc. will
> > have to be redefined for every product, a huge source of bugs and
> > unnecessary static data within the drivers.
> >I review two methods you mentioned in this mail.
> 
> I think that you want to keep the logic simple. If so, I prefer you can
> check pinctrl-single driver first. All pins are defined in DTS instead.

Thanks for the hint. I haven't understood how to associate GPIOs to
other functions, however: Our hardware pin controller makes GPIO pins
available depending on the configuration of the non-GPIO interfaces.
This means that in many configurations, GPIO banks are only partially
available because some pins are used for other purposes. We can't expect
our customers to manually change the pin assignments in the device tree
in order to take this into account for every PCB.

Is there a way to make different pinmux functions mutually exclusive in
pinctrl-single, e.g. a pin is either a GPIO or part of an SPI interface?
Can the same thing be done for example to mux either SPI or I2C on the
same pins? If the answer to both questions is yes, we could predefine
all functions as we currently do and our pinctrl driver could be
entirely replaced with pinctrl-single.

> [...]

Greetings,
  Christian

-- 
  Christian Ruppert              ,          <christian.ruppert@abilis.com>
                                /|
  Tel: +41/(0)22 816 19-42     //|                 3, Chemin du Pré-Fleuri
                             _// | bilis Systems   CH-1228 Plan-les-Ouates

  reply	other threads:[~2013-05-24 11:51 UTC|newest]

Thread overview: 138+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-10 15:45 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
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
2013-06-13  9:00                             ` Linus Walleij
2013-06-13 12:55                               ` [PATCH 1/2] Add pin list based GPIO ranges Christian Ruppert
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
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-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
2013-10-15 13:39                                                               ` [PATCH V2] " 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 [this message]
2013-05-26 15:49                             ` Haojian Zhuang
2013-06-03 12:30                               ` Christian Ruppert
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
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
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
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=20130524115053.GB5203@ab42.lan \
    --to=christian.ruppert@abilis.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=haojian.zhuang@linaro.org \
    --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 \
    --cc=shiraz.hashim@st.com \
    --cc=swarren@wwwdotorg.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®