Hi Linus, On Sat, Feb 29, 2020 at 7:13 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > On Fri, Feb 21, 2020 at 3:10 AM Masahiro Yamada > <yamada.masahiro@xxxxxxxxxxxxx> wrote: > > > Convert the UniPhier pin controller binding to DT schema format. > > > > Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > > 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@5f800000 { > > + 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