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

Charles Keepax
2017-12-08T17:16:55Z

On Fri, Dec 08, 2017 at 08:28:18AM -0800, Tony Lindgren wrote:
> * Charles Keepax <ckeepax@opensource.cirrus.com> [171208 14:31]:
> > 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.
>
> Maybe check again or else I don't follow you :)
>
> The pinctrl groups are created dynamically with pinctrl-single
> based on how the pins are grouped in the dts file:
>
> mmc1_pins: pinmux_mmc1_pins {
> pinctrl-single,pins = <
> OMAP4_IOPAD(0x0e2, PIN_INPUT_PULLUP | MUX_MODE0)
> OMAP4_IOPAD(0x0e4, PIN_INPUT_PULLUP | MUX_MODE0)
> OMAP4_IOPAD(0x0e6, PIN_INPUT_PULLUP | MUX_MODE0)
> OMAP4_IOPAD(0x0e8, PIN_INPUT_PULLUP | MUX_MODE0)
> OMAP4_IOPAD(0x0ea, PIN_INPUT_PULLUP | MUX_MODE0)
> OMAP4_IOPAD(0x0ec, PIN_INPUT_PULLUP | MUX_MODE0)
> >;
> };
>
> Then on a booted system we have the following under
> /sys/kernel/debug/pinctrl/4a100040.pinmux/pingroups:
>
> group: pinmux_mmc1_pins
> pin 81 (PIN81)
> pin 82 (PIN82)
> pin 83 (PIN83)
> pin 84 (PIN84)
> pin 85 (PIN85)
> pin 86 (PIN86)
>

Hmm... apologies, I suspect this is me that needs to review the
code some more. So this is actually creating a group per user
rather than per controller.

Although I guess my original point still stands that I am not
clear how this would benefit from my patches to allow muxing of
individual pins within a group. Since I guess each user will just
get a group created for the pins they use regardless. Or am I
missing something here too?

Thanks,
Charles