[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAK7LNASMn_xMtBa8sCj0AW2LTpSEMpv=haDhWrfkZrrKbwSeug@mail.gmail.com>
Date: Sat, 29 Feb 2020 13:12:27 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: Linus Walleij <linus.walleij@...aro.org>
Cc: "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>, Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jonathan Cameron <Jonathan.Cameron@...wei.com>,
Mark Rutland <mark.rutland@....com>,
Mauro Carvalho Chehab <mchehab+samsung@...nel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
"open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 3/3] dt-bingings: pinctrl: Convert UniPhier pin controller
to json-schema
Hi Linus,
On Sat, Feb 29, 2020 at 7:13 AM Linus Walleij <linus.walleij@...aro.org> wrote:
>
> On Fri, Feb 21, 2020 at 3:10 AM Masahiro Yamada
> <yamada.masahiro@...ionext.com> wrote:
>
> > Convert the UniPhier pin controller binding to DT schema format.
> >
> > Signed-off-by: Masahiro Yamada <yamada.masahiro@...ionext.com>
>
> Nice!
>
> > In the original .txt file, there is a description:
> > The UniPhier pinctrl should be a subnode of a "syscon" compatible node
> >
> > I did not figure out how to represent (or check) it in dt-schema.
> > I just moved it to a comment line in 'examples'.
> > If there is a better way, please let me know.
>
> There is no way to do that AFAICT, we are checking nodes from
> one node and downwards, never upwards. The syscon needs to
> have its own binding file: if it has another specific compatible
> such as compatible = "foo", "syscon"; then for the DT bindings
> for foo, make sure to add this subnode as optional/compulsory
> if you want to tie up the whole thing.
Thanks for your advice.
Documentation/devicetree/bindings/mfd/syscon.yaml
already contains sunxi-specific compatibles, but
I hesitate to add more and more platform-specific stuff
in this file.
Maybe, I can add
Documentation/devicetree/bindings/mfd/socionext,uniphier-soc-glue.yaml
and then, check 'reg' and compulsory sub-nodes.
> > -Required properties:
> > -- compatible: should be one of the following:
> > - "socionext,uniphier-ld4-pinctrl" - for LD4 SoC
> > - "socionext,uniphier-pro4-pinctrl" - for Pro4 SoC
> > - "socionext,uniphier-sld8-pinctrl" - for sLD8 SoC
> > - "socionext,uniphier-pro5-pinctrl" - for Pro5 SoC
> > - "socionext,uniphier-pxs2-pinctrl" - for PXs2 SoC
> > - "socionext,uniphier-ld6b-pinctrl" - for LD6b SoC
> > - "socionext,uniphier-ld11-pinctrl" - for LD11 SoC
> > - "socionext,uniphier-ld20-pinctrl" - for LD20 SoC
> > - "socionext,uniphier-pxs3-pinctrl" - for PXs3 SoC
>
> But:
>
> > + soc-glue@...00000 {
> > + compatible = "socionext,uniphier-pro4-soc-glue", "simple-mfd", "syscon";
> > + reg = <0x5f800000 0x2000>;
> > +
> > + pinctrl: pinctrl {
> > + compatible = "socionext,uniphier-pro4-pinctrl";
> > + };
> > + };
>
> It looks like you want to check also for "simple-mfd" and "syscon"
> following after the enum (two consts)
>
> It seems you want to check that reg is there.
Documentation/devicetree/bindings/mfd/syscon.yaml
already checks the 'reg' by the 'contains syscon' pattern,
but I can repeat it in my yaml file.
Thanks.
> It seems the subnode pinctrl is also compulsory.
>
> All of this have examples in example-schema.yaml IIRC.
>
> Yours,
> Linus Walleij
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists