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

From: Linus Walleij
Date: Fri Mar 06 2015 - 05:39:41 EST


On Wed, Feb 4, 2015 at 10:53 AM, Laurent Pinchart
<laurent.pinchart@xxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxx>
>>
>> (...)
>>
>> >> 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?

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/