Re: [RFC/PATCH] pinctrl: sh-pfc: Accept standard function, pins and groups properties

Laurent Pinchart
2015-03-01T12:18:55Z

Hi Linus,

I'd like to move forward with this patch, could you please comment on my reply
?

On Wednesday 04 February 2015 11:53:34 Laurent Pinchart wrote:
> On Wednesday 04 February 2015 09:40:48 Linus Walleij wrote:
> > On Tue, Jan 27, 2015 at 9:31 PM, Laurent Pinchart wrote:
> >> The "function", "pins" and "groups" pinmux and pinctrl properties have
> >> been standardized. Support them in addition to the custom "renesas,*"
> >> properties. New-style and old-style properties can't be mixed in DT.
> >>
> >> Signed-off-by: Laurent Pinchart
> >> <laurent.pinchart+renesas@ideasonboard.com>
> >
> > (...)
> >
> >>> Would be nice if the PFC driver could be augmented to also accept the
> >>> now standard bindings "groups" and "function" simply :) we're adding
> >>> parse functions for those to the core.
> >>
> >> Something like this ?
> >
> > Yes :)
> >
> >> Please note two differences between the Renesas PFC bindings and the
> >> standard bindings:
> >>
> >> - The standard bindings state that a pinctrl node must contain either a
> >> "pins" property or a "groups" property, while the Renesas bindings
> >> allows for both to coexist in the same node.
> >
> > Sascha also says this makes sense for him so I guess I'm getting a bit
> > soft on the issue.
> >
> >> - The standard bindings don't allow a pinmux node to contain a "pins"
> >> property, while the Renesas bindings do.
> >
> > Does that mean "pins" affect the muxing or that "pins" is about some
> > per-pin config shoveled into the same node?
> >
> > The former is not OK, the latter is.
>
> It means "pins" affect the muxing. The sh-pfc driver supports both muxing
> groups and muxing individual pins.
>
> >> mmcif_pins: mmcif {
> >>
> >> mux {
> >>
> >> - renesas,groups = "mmc0_data8_0",
> >> "mmc0_ctrl_0";
> >> - renesas,function = "mmc0";
> >> + groups = "mmc0_data8_0", "mmc0_ctrl_0";
> >> + function = "mmc0";
> >>
> >> };
> >
> > So that looks just very nice.
> >
> >> cfg {
> >>
> >> - renesas,groups = "mmc0_data8_0";
> >> - renesas,pins = "PORT279";
> >> + groups = "mmc0_data8_0";
> >> + pins = "PORT279";
> >>
> >> bias-pull-up;
> >
> > And here I can't see the use of "groups" in this node since it
> > doesn't match a function. It's a bit ambiguous what "groups"
> > mean when you run into it like this.
>
> It means that the bias-pull-up configuration is applied to all pins of the
> "mmc0_data8_0" group, as well as to pin 279.

--
Regards,

Laurent Pinchart