On Mon, May 09, 2022 at 02:41:38PM +0200, Geert Uytterhoeven wrote: > Convert the Renesas R-Car Gen2 USB PHY Device Tree binding documentation > to json-schema. > > Add missing properties. > Drop the second example, as it doesn't add any value. > > Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > --- > Validation gives: > > Documentation/devicetree/bindings/phy/renesas,rcar-gen2-usb-phy.example.dtb: usb > -phy@e6590100: '#phy-cells' is a required property > From schema: dt-schema/dtschema/schemas/phy/phy-provider.yaml > > The latter considers '#phy-cells' a required property, as the node name > matches "usb-phy". But in this binding the actual PHY providers are the > child nodes. > > Is there a way to fix this? Overriding "#phy-cells" to "false" doesn't > work. > Should all nodes and child nodes be renamed? The (Linux) driver doesn't > care about the names of the children. There's an open issue in dtschema for this. I don't have an answer other than don't use 'phy' in the parent node name. > > --- > This is the final conversion to json-schema of DT bindings for Renesas > ARM SoCs, hurray! Great, certainly looking better than some! My tracking in linux-next gives me this: For arm: Processing (r7|r8|r9|emev2|sh73a|gr-|iwg): warnings: 283 undocumented compat: 32 arch/arm/boot/dts/(r7|r8|r9|emev2|sh73a|gr-|iwg):32 ['ams,as3711'] ['arm,coresight-etm3x'] ['dlg,da9063-onkey'] ['dlg,da9063-rtc'] ['dlg,da9063-watchdog'] ['dlg,da9063l'] ['dlg,da9210'] ['i2c-demux-pinctrl'] ['renesas,pci-r8a7742', 'renesas,pci-rcar-gen2'] ['renesas,pci-r8a7743', 'renesas,pci-rcar-gen2'] ['renesas,pci-r8a7744', 'renesas,pci-rcar-gen2'] ['renesas,pci-r8a7745', 'renesas,pci-rcar-gen2'] ['renesas,pci-r8a7790', 'renesas,pci-rcar-gen2'] ['renesas,pci-r8a7791', 'renesas,pci-rcar-gen2'] ['renesas,pci-r8a7794', 'renesas,pci-rcar-gen2'] ['renesas,pci-r9a06g032', 'renesas,pci-rzn1'] ['renesas,r2a11302ft'] ['renesas,r9a06g032-dma', 'renesas,rzn1-dma'] ['renesas,r9a06g032-rtc', 'renesas,rzn1-rtc'] ['renesas,r9a06g032-wdt', 'renesas,rzn1-wdt'] ['renesas,rzn1-dmamux'] ['renesas,usb-phy-r8a7742', 'renesas,rcar-gen2-usb-phy'] ['renesas,usb-phy-r8a7743', 'renesas,rcar-gen2-usb-phy'] ['renesas,usb-phy-r8a7744', 'renesas,rcar-gen2-usb-phy'] ['renesas,usb-phy-r8a7745', 'renesas,rcar-gen2-usb-phy'] ['renesas,usb-phy-r8a77470', 'renesas,rcar-gen2-usb-phy'] ['renesas,usb-phy-r8a7790', 'renesas,rcar-gen2-usb-phy'] ['renesas,usb-phy-r8a7791', 'renesas,rcar-gen2-usb-phy'] ['renesas,usb-phy-r8a7794', 'renesas,rcar-gen2-usb-phy'] ['sil,sii9022'] ['st,stmpe-ts'] ['st,stmpe811'] For arm64: Processing renesas: warnings: 312 undocumented compat: 15 undocumented here means no schema. arch/arm64/boot/dts/renesas:15 ['ilitek,ili2117'] ['micron,mt25qu512a', 'jedec,spi-nor'] ['nxp,tda998x'] ['ovti,ov5645'] ['renesas,r8a7795-mlp', 'renesas,rcar-gen3-mlp'] ['renesas,r8a7796-mlp', 'renesas,rcar-gen3-mlp'] ['renesas,r8a77961-mlp', 'renesas,rcar-gen3-mlp'] ['renesas,r8a77965-mlp', 'renesas,rcar-gen3-mlp'] ['renesas,r8a77990-mlp', 'renesas,rcar-gen3-mlp'] ['renesas,r8a77995-mlp', 'renesas,rcar-gen3-mlp'] ['renesas,r9a07g043-ssi', 'renesas,rz-ssi'] ['renesas,r9a07g043-tsu', 'renesas,rzg2l-tsu'] ['renesas,r9a07g043-usbphy-ctrl', 'renesas,rzg2l-usbphy-ctrl'] ['renesas,r9a07g043-wdt', 'renesas,rzg2l-wdt'] ['ti,pcm3168a'] I guess board level components don't count and some might be pending. All this comes from here: https://gitlab.com/robherring/linux-dt/-/jobs > > Note that there are still a few plain text bindings left for Renesas IP > cores that are present on non-Renesas SoCs (nbpfaxi and usdhi6rol0). > And H8/300 is being removed. > --- > .../devicetree/bindings/phy/rcar-gen2-phy.txt | 112 ---------------- > .../phy/renesas,rcar-gen2-usb-phy.yaml | 123 ++++++++++++++++++ > 2 files changed, 123 insertions(+), 112 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/phy/rcar-gen2-phy.txt > create mode 100644 Documentation/devicetree/bindings/phy/renesas,rcar-gen2-usb-phy.yaml Ignoring the node names for now, Reviewed-by: Rob Herring <robh@xxxxxxxxxx>