From: Christian Ruppert <christian.ruppert@abilis.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Stephen Warren <swarren@wwwdotorg.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>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
Alexandre Courbot <acourbot@nvidia.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH 2/4] pinmux: Add TB10x pinmux driver
Date: Mon, 5 Aug 2013 13:51:19 +0200 [thread overview]
Message-ID: <20130805115118.GF20936@ab42.lan> (raw)
In-Reply-To: <CACRpkdZvcF3agP=hK6J6hZn-Sx2Mw=P4dR2Mwzo+NoLxtMkbQg@mail.gmail.com>
On Tue, Jul 30, 2013 at 12:35:03AM +0200, Linus Walleij wrote:
> Sorry for taking eternities to look into this.
>
> On Tue, Jun 18, 2013 at 11:29 AM, Christian Ruppert
> <christian.ruppert@abilis.com> wrote:
>
> > The pinmux driver of the Abilis Systems TB10x platform based on ARC700 CPUs.
> > Used to control the pinmux and is a prerequisite for the GPIO driver.
> >
> > Signed-off-by: Christian Ruppert <christian.ruppert@abilis.com>
> > Signed-off-by: Pierrick Hascoet <pierrick.hascoet@abilis.com>
> (...)
> > +The following pin groups are available:
> > + - GPIO ports: gpioa_pins, gpiob_pins, gpioc_pins, gpiod_pins, gpioe_pins,
> > + gpiof_pins, gpiog_pins, gpioh_pins, gpioi_pins, gpioj_pins,
> > + gpiok_pins, gpiol_pins, gpiom_pins, gpion_pins
>
> I would not attempt to define groups for all GPIO pins.
>
> (...)
> > +gpioa: gpio@FF140000 {
> > + compatible = "abilis,tb10x-gpio";
> > + reg = <0xFF140000 0x1000>;
> > + gpio-controller;
> > + #gpio-cells = <2>;
> > + ngpio = <3>;
> > + gpio-ranges = <&iomux 0 0>;
> > + gpio-ranges-group-names = "gpioa_pins";
>
> This uses that feature to define GPIO ranges from a group does
> it not? I'm not certain about that feature.
It does. The idea is that the entire pin data base is defined inside the
pin controller (or the pin controller device tree nodes) and the rest of
the world just uses symbolic names. The possibility of non-contiguous
ranges comes for free. What is the argument against this? In my
understanding it was agreed that this was a desired feature, patch
c8587eeef8fc219e806e868c6f0c7170c769efab is the first step in this
direction?
> I don't see any of the port concept creeping into the device tree
> in this version and that is how I think it should be kept:
> the "port" particulars is a thing for the driver and not the
> device tree.
I'm not sure if everybody is aligned here (or if we even understand each
other): In my terminology, a "port" is a set of pins controlled by the
same register/bit field. An "interface" is a set of pins which form a
functional unit, e.g. an SPI interface. One port can contain several
interfaces which may or may not be mapped at the same time. Inversely
(especially if every pin can be configured separately), mapping of an
interface might require the configuration of more than one ports. The
concept of interfaces is on a higher level of abstraction (in the sense
"further away from physical pinmux configuration") than the concept of a
port.
In the driver under discussion, pin groups are defined for every
"interface" to make sure that interfaces can be requested in an
orthogonal way by different modules and modules don't have to be "aware"
of which interfaces are grouped into which port (and which other modules
request which other interfaces). A request either succeeds or fails.
Resource management (which interfaces can be mapped simultaneously) is
done inside the pinctrl driver.
If I understand Stephen correctly, the traditional way of requesting pin
configurations is at "port" level, e.g. a configuration is defined by a
port and its mux setting. The TB10x driver works on a higher level of
abstraction ("interface" level), where interfaces are requested and the
driver internally decides which configuration(s) to apply to which
port(s). Ports are not used in the device tree indeed, but interfaces
are.
Based on this, I don't quite understand your comment: You say you don't
like ports starting to leak outside of the pinctrl driver but according
to Stephen that's what is common practice today? Did you mean
interfaces? The TB10x driver's configuration nodes are currently defined
based on interfaces.
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
WARNING: multiple messages have this Message-ID (diff)
From: Christian Ruppert <christian.ruppert@abilis.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Stephen Warren <swarren@wwwdotorg.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>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
Alexandre Courbot <acourbot@nvidia.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH 2/4] pinmux: Add TB10x pinmux driver
Date: Mon, 5 Aug 2013 13:51:19 +0200 [thread overview]
Message-ID: <20130805115118.GF20936@ab42.lan> (raw)
In-Reply-To: <CACRpkdZvcF3agP=hK6J6hZn-Sx2Mw=P4dR2Mwzo+NoLxtMkbQg@mail.gmail.com>
On Tue, Jul 30, 2013 at 12:35:03AM +0200, Linus Walleij wrote:
> Sorry for taking eternities to look into this.
>
> On Tue, Jun 18, 2013 at 11:29 AM, Christian Ruppert
> <christian.ruppert@abilis.com> wrote:
>
> > The pinmux driver of the Abilis Systems TB10x platform based on ARC700 CPUs.
> > Used to control the pinmux and is a prerequisite for the GPIO driver.
> >
> > Signed-off-by: Christian Ruppert <christian.ruppert@abilis.com>
> > Signed-off-by: Pierrick Hascoet <pierrick.hascoet@abilis.com>
> (...)
> > +The following pin groups are available:
> > + - GPIO ports: gpioa_pins, gpiob_pins, gpioc_pins, gpiod_pins, gpioe_pins,
> > + gpiof_pins, gpiog_pins, gpioh_pins, gpioi_pins, gpioj_pins,
> > + gpiok_pins, gpiol_pins, gpiom_pins, gpion_pins
>
> I would not attempt to define groups for all GPIO pins.
>
> (...)
> > +gpioa: gpio@FF140000 {
> > + compatible = "abilis,tb10x-gpio";
> > + reg = <0xFF140000 0x1000>;
> > + gpio-controller;
> > + #gpio-cells = <2>;
> > + ngpio = <3>;
> > + gpio-ranges = <&iomux 0 0>;
> > + gpio-ranges-group-names = "gpioa_pins";
>
> This uses that feature to define GPIO ranges from a group does
> it not? I'm not certain about that feature.
It does. The idea is that the entire pin data base is defined inside the
pin controller (or the pin controller device tree nodes) and the rest of
the world just uses symbolic names. The possibility of non-contiguous
ranges comes for free. What is the argument against this? In my
understanding it was agreed that this was a desired feature, patch
c8587eeef8fc219e806e868c6f0c7170c769efab is the first step in this
direction?
> I don't see any of the port concept creeping into the device tree
> in this version and that is how I think it should be kept:
> the "port" particulars is a thing for the driver and not the
> device tree.
I'm not sure if everybody is aligned here (or if we even understand each
other): In my terminology, a "port" is a set of pins controlled by the
same register/bit field. An "interface" is a set of pins which form a
functional unit, e.g. an SPI interface. One port can contain several
interfaces which may or may not be mapped at the same time. Inversely
(especially if every pin can be configured separately), mapping of an
interface might require the configuration of more than one ports. The
concept of interfaces is on a higher level of abstraction (in the sense
"further away from physical pinmux configuration") than the concept of a
port.
In the driver under discussion, pin groups are defined for every
"interface" to make sure that interfaces can be requested in an
orthogonal way by different modules and modules don't have to be "aware"
of which interfaces are grouped into which port (and which other modules
request which other interfaces). A request either succeeds or fails.
Resource management (which interfaces can be mapped simultaneously) is
done inside the pinctrl driver.
If I understand Stephen correctly, the traditional way of requesting pin
configurations is at "port" level, e.g. a configuration is defined by a
port and its mux setting. The TB10x driver works on a higher level of
abstraction ("interface" level), where interfaces are requested and the
driver internally decides which configuration(s) to apply to which
port(s). Ports are not used in the device tree indeed, but interfaces
are.
Based on this, I don't quite understand your comment: You say you don't
like ports starting to leak outside of the pinctrl driver but according
to Stephen that's what is common practice today? Did you mean
interfaces? The TB10x driver's configuration nodes are currently defined
based on interfaces.
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
next prev parent reply other threads:[~2013-08-05 11:51 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
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 [this message]
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=20130805115118.GF20936@ab42.lan \
--to=christian.ruppert@abilis.com \
--cc=acourbot@nvidia.com \
--cc=devicetree@vger.kernel.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 \
--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 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.