Re: [PATCH 0/4] Add support for muxing individual pins

Linus Walleij
2017-12-08T14:40:53Z

On Fri, Dec 8, 2017 at 3:29 PM, Charles Keepax
<ckeepax@opensource.cirrus.com> wrote:

> (...) I have finally
> managed to get some time to look over the pinctrl-single stuff.
>
> Naively one could convert the pinctrl-single stuff over to use
> the patches I proposed creating one large group for the driver
> and then mux each pin individually from within that. However I
> am not really sure it would make sense. From the implementation
> so far the pinctrl-single stuff appears to target systems where
> there isn't really a concept of groups. Each pin is just a
> completely separate entry and you can only configure things one
> pin at a time. In that case it almost makes more sense to model
> each pin as an individual group such that it is clearly distinct
> from the others. My thinking had been more along the lines of you
> perhaps have a group that represents an I2S port but you can also
> individually assign each of those pins as a GPIO when not in use
> as the I2S port.

So then I toss the qcom driver into the game instead :)

If you look at drivers/pinctrl/qcom/* e.g. pinctrl-ipq4019.c or
essentially any of the subdrivers, you find exactly this scenario.

I am concerned that if we add infrastructure for this, it needs
to have more than one user. Qualcomm does fit your description
above I think.

Yours,
Linus Walleij