[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CACRpkdZ2U6vSShF8QmxZsPsKcwg4TH89xKwQMrbin4zN0xAAXA@mail.gmail.com>
Date: Wed, 23 Apr 2014 16:05:03 +0200
From: Linus Walleij <linus.walleij@...aro.org>
To: Antoine Ténart <antoine.tenart@...e-electrons.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>,
Alexandre Belloni <alexandre.belloni@...e-electrons.com>,
zmxu@...vell.com, Jisheng Zhang <jszhang@...vell.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH RESEND 2/5] pinctrl: berlin: add a pinctrl driver for
Marvell Berlin SoCs
On Tue, Apr 22, 2014 at 5:56 PM, Antoine Ténart
<antoine.tenart@...e-electrons.com> wrote:
> 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@...il.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.
OK makes perfect sense.
Then I guess the current implementation is the best alternative,
but I may need to look closer.
Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists