From: antoine.tenart@free-electrons.com (Antoine Ténart)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RESEND 2/5] pinctrl: berlin: add a pinctrl driver for Marvell Berlin SoCs
Date: Tue, 22 Apr 2014 17:56:02 +0200 [thread overview]
Message-ID: <20140422155602.GA19762@kwain> (raw)
In-Reply-To: <CACRpkdb1eijF-4e=KyhS=9S868NALdyJJaNnzjUubXnapWEeMg@mail.gmail.com>
Linus,
On Tue, Apr 22, 2014 at 02:52:10PM +0200, Linus Walleij wrote:
> On Fri, Apr 11, 2014 at 3:35 PM, Sebastian Hesselbarth
> <sebastian.hesselbarth@gmail.com> wrote:
> > On 04/11/2014 02:37 PM, Antoine T?nart wrote:
> >> On Fri, Apr 11, 2014 at 11:03:48AM +0200, Sebastian Hesselbarth wrote:
> >>> On 04/10/2014 03:07 PM, Antoine T?nart wrote:
>
> >>> Having said that, the above assumes that each function is unique
> >>> but IIRC the idea of the function table was to group pins/groups
> >>> with the same function, e.g. function "gpio", groups 1,7,25,...
> >>
> >> Most of the functions you can use on the Berlin they will be unique and
> >> would
> >> only be used in one group, except for the 'gpio' one.
> >
> > Yeah, I had a similar discussion about it back then for mvebu. IIRC, the
> > correct answer is: Have a list of functions with groups assigned to it
> > no matter if there is only one group per function (or 40 per function as
> > it will be for gpio).
> >
> > Maybe Linus can give an update on how to deal with it?
>
> Have you considered implementing pinmux_ops
> .gpio_request_enable(), .gpio_set_direction() and
> .gpio_disable_free() instead of defining groups for each
> and every GPIO?
The function 'gpio' can be found on different groups. But the Berlin pin muxing
does not allow to configure a pin individually. It is then not possible to mux
GPIO pins individually. For example the 'gpio' function of group 'GSM2' on the
BG2Q will mux GPIOs 17 *and* 18.
Groups does not have more than a single 'gpio' function.
Since the gpio_request_enable() comment says 'Implement this only if you can mux
every pin individually as GPIO', I did not considered implementing these
functions.
Antoine
--
Antoine T?nart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
WARNING: multiple messages have this Message-ID (diff)
From: "Antoine Ténart" <antoine.tenart-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
To: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Sebastian Hesselbarth
<sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Alexandre Belloni
<alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
zmxu-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org,
Jisheng Zhang <jszhang-eYqpPyKDWXRBDgjK7y7TUQ@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH RESEND 2/5] pinctrl: berlin: add a pinctrl driver for Marvell Berlin SoCs
Date: Tue, 22 Apr 2014 17:56:02 +0200 [thread overview]
Message-ID: <20140422155602.GA19762@kwain> (raw)
In-Reply-To: <CACRpkdb1eijF-4e=KyhS=9S868NALdyJJaNnzjUubXnapWEeMg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Linus,
On Tue, Apr 22, 2014 at 02:52:10PM +0200, Linus Walleij wrote:
> On Fri, Apr 11, 2014 at 3:35 PM, Sebastian Hesselbarth
> <sebastian.hesselbarth-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> > On 04/11/2014 02:37 PM, Antoine Ténart wrote:
> >> On Fri, Apr 11, 2014 at 11:03:48AM +0200, Sebastian Hesselbarth wrote:
> >>> On 04/10/2014 03:07 PM, Antoine Ténart wrote:
>
> >>> Having said that, the above assumes that each function is unique
> >>> but IIRC the idea of the function table was to group pins/groups
> >>> with the same function, e.g. function "gpio", groups 1,7,25,...
> >>
> >> Most of the functions you can use on the Berlin they will be unique and
> >> would
> >> only be used in one group, except for the 'gpio' one.
> >
> > Yeah, I had a similar discussion about it back then for mvebu. IIRC, the
> > correct answer is: Have a list of functions with groups assigned to it
> > no matter if there is only one group per function (or 40 per function as
> > it will be for gpio).
> >
> > Maybe Linus can give an update on how to deal with it?
>
> Have you considered implementing pinmux_ops
> .gpio_request_enable(), .gpio_set_direction() and
> .gpio_disable_free() instead of defining groups for each
> and every GPIO?
The function 'gpio' can be found on different groups. But the Berlin pin muxing
does not allow to configure a pin individually. It is then not possible to mux
GPIO pins individually. For example the 'gpio' function of group 'GSM2' on the
BG2Q will mux GPIOs 17 *and* 18.
Groups does not have more than a single 'gpio' function.
Since the gpio_request_enable() comment says 'Implement this only if you can mux
every pin individually as GPIO', I did not considered implementing these
functions.
Antoine
--
Antoine Ténart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: "Antoine Ténart" <antoine.tenart@free-electrons.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>,
zmxu@marvell.com, Jisheng Zhang <jszhang@marvell.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH RESEND 2/5] pinctrl: berlin: add a pinctrl driver for Marvell Berlin SoCs
Date: Tue, 22 Apr 2014 17:56:02 +0200 [thread overview]
Message-ID: <20140422155602.GA19762@kwain> (raw)
In-Reply-To: <CACRpkdb1eijF-4e=KyhS=9S868NALdyJJaNnzjUubXnapWEeMg@mail.gmail.com>
Linus,
On Tue, Apr 22, 2014 at 02:52:10PM +0200, Linus Walleij wrote:
> On Fri, Apr 11, 2014 at 3:35 PM, Sebastian Hesselbarth
> <sebastian.hesselbarth@gmail.com> wrote:
> > On 04/11/2014 02:37 PM, Antoine Ténart wrote:
> >> On Fri, Apr 11, 2014 at 11:03:48AM +0200, Sebastian Hesselbarth wrote:
> >>> On 04/10/2014 03:07 PM, Antoine Ténart wrote:
>
> >>> Having said that, the above assumes that each function is unique
> >>> but IIRC the idea of the function table was to group pins/groups
> >>> with the same function, e.g. function "gpio", groups 1,7,25,...
> >>
> >> Most of the functions you can use on the Berlin they will be unique and
> >> would
> >> only be used in one group, except for the 'gpio' one.
> >
> > Yeah, I had a similar discussion about it back then for mvebu. IIRC, the
> > correct answer is: Have a list of functions with groups assigned to it
> > no matter if there is only one group per function (or 40 per function as
> > it will be for gpio).
> >
> > Maybe Linus can give an update on how to deal with it?
>
> Have you considered implementing pinmux_ops
> .gpio_request_enable(), .gpio_set_direction() and
> .gpio_disable_free() instead of defining groups for each
> and every GPIO?
The function 'gpio' can be found on different groups. But the Berlin pin muxing
does not allow to configure a pin individually. It is then not possible to mux
GPIO pins individually. For example the 'gpio' function of group 'GSM2' on the
BG2Q will mux GPIOs 17 *and* 18.
Groups does not have more than a single 'gpio' function.
Since the gpio_request_enable() comment says 'Implement this only if you can mux
every pin individually as GPIO', I did not considered implementing these
functions.
Antoine
--
Antoine Ténart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2014-04-22 15:56 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-10 13:07 [PATCH RESEND 0/5] ARM: berlin: add pinctrl support Antoine Ténart
2014-04-10 13:07 ` Antoine Ténart
2014-04-10 13:07 ` Antoine Ténart
2014-04-10 13:07 ` [PATCH RESEND 1/5] pinctrl: allows not to define the get_group_pins operation Antoine Ténart
2014-04-10 13:07 ` Antoine Ténart
2014-04-11 9:21 ` Sebastian Hesselbarth
2014-04-11 9:21 ` Sebastian Hesselbarth
2014-04-11 9:21 ` Sebastian Hesselbarth
2014-04-22 12:48 ` Linus Walleij
2014-04-22 12:48 ` Linus Walleij
2014-04-22 12:48 ` Linus Walleij
2014-04-22 15:58 ` Antoine Ténart
2014-04-22 15:58 ` Antoine Ténart
2014-04-22 15:58 ` Antoine Ténart
2014-04-10 13:07 ` [PATCH RESEND 2/5] pinctrl: berlin: add a pinctrl driver for Marvell Berlin SoCs Antoine Ténart
2014-04-10 13:07 ` Antoine Ténart
2014-04-11 6:44 ` Jisheng Zhang
2014-04-11 6:44 ` Jisheng Zhang
2014-04-11 6:44 ` Jisheng Zhang
2014-04-11 8:18 ` Antoine Ténart
2014-04-11 8:18 ` Antoine Ténart
2014-04-11 8:18 ` Antoine Ténart
2014-04-11 8:27 ` Jisheng Zhang
2014-04-11 8:27 ` Jisheng Zhang
2014-04-11 8:27 ` Jisheng Zhang
2014-04-11 9:21 ` Antoine Ténart
2014-04-11 9:21 ` Antoine Ténart
2014-04-11 9:21 ` Antoine Ténart
2014-04-11 9:03 ` Sebastian Hesselbarth
2014-04-11 9:03 ` Sebastian Hesselbarth
2014-04-11 9:03 ` Sebastian Hesselbarth
2014-04-11 12:37 ` Antoine Ténart
2014-04-11 12:37 ` Antoine Ténart
2014-04-11 13:35 ` Sebastian Hesselbarth
2014-04-11 13:35 ` Sebastian Hesselbarth
2014-04-11 13:35 ` Sebastian Hesselbarth
2014-04-22 12:52 ` Linus Walleij
2014-04-22 12:52 ` Linus Walleij
2014-04-22 15:56 ` Antoine Ténart [this message]
2014-04-22 15:56 ` Antoine Ténart
2014-04-22 15:56 ` Antoine Ténart
2014-04-23 14:05 ` Linus Walleij
2014-04-23 14:05 ` Linus Walleij
2014-04-23 14:05 ` Linus Walleij
2014-04-10 13:07 ` [PATCH RESEND 3/5] ARM: berlin: add the pinctrl dependency for the " Antoine Ténart
2014-04-10 13:07 ` Antoine Ténart
2014-04-11 9:05 ` Sebastian Hesselbarth
2014-04-11 9:05 ` Sebastian Hesselbarth
2014-04-11 9:05 ` Sebastian Hesselbarth
2014-04-17 13:13 ` Antoine Ténart
2014-04-17 13:13 ` Antoine Ténart
2014-04-17 13:13 ` Antoine Ténart
2014-04-17 13:24 ` Sebastian Hesselbarth
2014-04-17 13:24 ` Sebastian Hesselbarth
2014-04-17 13:24 ` Sebastian Hesselbarth
2014-04-10 13:07 ` [PATCH RESEND 4/5] Documentation: add the Marvell Berlin pinctrl documentation Antoine Ténart
2014-04-10 13:07 ` Antoine Ténart
2014-04-11 6:33 ` Jisheng Zhang
2014-04-11 6:33 ` Jisheng Zhang
2014-04-11 6:33 ` Jisheng Zhang
2014-04-11 8:12 ` Antoine Ténart
2014-04-11 8:12 ` Antoine Ténart
2014-04-11 8:18 ` Jisheng Zhang
2014-04-11 8:18 ` Jisheng Zhang
2014-04-11 8:18 ` Jisheng Zhang
2014-04-11 8:22 ` Andrew Lunn
2014-04-11 8:22 ` Andrew Lunn
2014-04-11 8:22 ` Andrew Lunn
2014-04-11 9:13 ` Sebastian Hesselbarth
2014-04-11 9:13 ` Sebastian Hesselbarth
2014-04-11 9:13 ` Sebastian Hesselbarth
2014-04-10 13:07 ` [PATCH RESEND 5/5] ARM: dts: berlin: add the pinctrl node and muxing setup for uarts Antoine Ténart
2014-04-10 13:07 ` Antoine Ténart
2014-04-10 13:07 ` Antoine Ténart
2014-04-11 8:18 ` Andrew Lunn
2014-04-11 8:18 ` Andrew Lunn
2014-04-11 9:09 ` Antoine Ténart
2014-04-11 9:09 ` Antoine Ténart
2014-04-11 9:09 ` Antoine Ténart
2014-04-11 9:19 ` Sebastian Hesselbarth
2014-04-11 9:19 ` Sebastian Hesselbarth
2014-04-11 9:19 ` Sebastian Hesselbarth
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=20140422155602.GA19762@kwain \
--to=antoine.tenart@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.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.