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

Geert Uytterhoeven
2015-06-09T14:35:13Z

Hi Laurent,

On Fri, Mar 6, 2015 at 11:39 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Wed, Feb 4, 2015 at 10:53 AM, Laurent Pinchart
> <laurent.pinchart@ideasonboard.com> 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.
>
> OK.
>
>>> > 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.
>
> OK.
>
> This looks good to me, is the patch applicable as it is, or will you rebase
> it and send out a non-RFC version?

This seems to have fallen through the (ELC?) cracks...
What's the status?

Thanks!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds