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

Tony Lindgren
2017-12-08T16:28:40Z

* 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)

Regards,

Tony