Re: [PATCH] ARM: dts: document pinctrl-single,pins when #pinctrl-cells = 2
From: Tony Lindgren
Date: Thu Sep 24 2020 - 03:04:51 EST
* Trent Piepho <tpiepho@xxxxxxxxx> [200924 06:31]:
> On Wed, Sep 23, 2020 at 11:06 PM Tony Lindgren <tony@xxxxxxxxxxx> wrote:
> >
> > * Trent Piepho <tpiepho@xxxxxxxxx> [200924 05:49]:
> > > On Wed, Sep 23, 2020 at 10:43 PM Tony Lindgren <tony@xxxxxxxxxxx> wrote:
> > > >
> > > > * Trent Piepho <tpiepho@xxxxxxxxx> [200924 01:34]:
> > > > > On Tue, Sep 22, 2020 at 11:57 PM Tony Lindgren <tony@xxxxxxxxxxx> wrote:
> > > > > >
> > > > > > Also FYI, folks have also complained for a long time that the pinctrl-single
> > > > > > binding mixes mux and conf values while they should be handled separately.
> > > > > >
> > > > >
> > > > > Instead of combining two fields when the dts is generated they are now
> > > > > combined when the pinctrl-single driver reads the dts. Other than
> > > > > this detail, the result is the same. The board dts source is the
> > > > > same. The value programmed into the pinctrl register is the same.
> > > > > There is no mechanism currently that can alter that value in any way.
> > > > >
> > > > > What does combining them later allow that is not possible now?
> > > >
> > > > It now allows further driver changes to manage conf and mux separately :)
> > >
> > > The pinctrl-single driver? How will that work with boards that are
> > > not am335x and don't use conf and mux fields in the same manner as
> > > am335x?
> >
> > For those cases we still have #pinctrl-cells = <1>.
>
> If pincntrl-single is going to be am335x specific, then shouldn't it
> be a different compatible string?
Certainly different compatible strings can be used as needed.
But pinctrl-single is not going to be am335x specific though :)
We have quite a few SoCs using it:
$ git grep pinctrl-single,function-mask arch/*/boot/dts/ | wc -l
41
> Are the driver changes something that can be not be done with the
> pinconf-single properties? They all include a mask.
Sure but in the long term we're better off with using #pinctrl-cells
along the lines what we have for example for #interrupt-cells and
#gpio-cells.
Regards,
Tony