On Fri, 13 Jan 2023 12:56:12 +0100, Krzysztof Kozlowski wrote: > On 13/01/2023 10:54, Michael Tretter wrote: > > Convert the bindings of the Freescale Pixel Pipeline to YAML. > > > > The conversion drops the previously listed compatibles for several SoCs. > > It is unclear, if the PXP on these SoCs is compatible to any of the PXPs > > on the existing SoCs and would allow to reuse the already defined > > compatibles. The missing compatibles should be brought back when the > > support for the PXP on these SoCs is added. > > > > Signed-off-by: Michael Tretter <m.tretter@xxxxxxxxxxxxxx> > > --- > > Changelog: > > > > v2: > > > > - add fsl,imx6sll-pxp and fsl,imx6sx-pxp compatibles > > - restrict number of interrupts per variant > > - cleanup syntax > > --- > > .../devicetree/bindings/media/fsl,imx6ull-pxp.yaml | 82 ++++++++++++++++++++++ > > .../devicetree/bindings/media/fsl-pxp.txt | 26 ------- > > 2 files changed, 82 insertions(+), 26 deletions(-) > > > > diff --git a/Documentation/devicetree/bindings/media/fsl,imx6ull-pxp.yaml b/Documentation/devicetree/bindings/media/fsl,imx6ull-pxp.yaml > > new file mode 100644 > > index 000000000000..c1232689a261 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/media/fsl,imx6ull-pxp.yaml > > @@ -0,0 +1,82 @@ > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > + > > +%YAML 1.2 > > +--- > > +$id: http://devicetree.org/schemas/media/fsl,imx6ull-pxp.yaml# > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > + > > +title: Freescale Pixel Pipeline > > + > > +maintainers: > > + - Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > > + - Michael Tretter <m.tretter@xxxxxxxxxxxxxx> > > + > > +description: > > + The Pixel Pipeline (PXP) is a memory-to-memory graphics processing engine > > + that supports scaling, colorspace conversion, alpha blending, rotation, and > > + pixel conversion via lookup table. Different versions are present on various > > + i.MX SoCs from i.MX23 to i.MX7. > > + > > +properties: > > + compatible: > > + oneOf: > > + - const: fsl,imx6ul-pxp > > + - const: fsl,imx6ull-pxp > > + - const: fsl,imx7d-pxp > > These three are an enum. These are alternatives to the 'items:' entry below. Are you suggesting to use the following statement? oneOf: - enum: - fsl,imx6ul-pxp - fsl,imx6ull-pxp - fsl,imx7d-pxp - items: - enum: - fsl,imx6sll-pxp - fsl,imx6sx-pxp Why is this better than the one that I used? > > > + - items: > > + - enum: > > + - fsl,imx6sll-pxp > > + - fsl,imx6sx-pxp > > + - const: fsl,imx6ull-pxp > > + > > + reg: > > + maxItems: 1 > > + > > + interrupts: > > + minItems: 1 > > + maxItems: 2 > > + > > + clocks: > > + maxItems: 1 > > + > > + clock-names: > > + const: axi > > + > > +required: > > + - compatible > > + - reg > > + - interrupts > > + - clocks > > + - clock-names > > + > > +allOf: > > + - if: > > + properties: > > + compatible: > > + contains: > > + enum: > > + - fsl,imx6sx-pxp > > + then: > > + properties: > > + interrupts: > > + numItems: 1 > > That's not correct syntax... I am surprised that it works. Did you test > the bindings? I copied this syntax from renesas,wdt.yaml and ran make ARCH=arm dtbs_check DT_SCHEMA_FILES=fsl,imx6ull-pxp.yaml with SOC_IMX7D=y, SOC_IMX6UL=y, SOC_IMX6SLL=y, and SOC_IMX6SX=y. The latter two were not enabled in the v1, which is why it didn't catch the missing compatibles. On a closer look, I just saw that the checker ignored the schema due to the incorrect syntax and didn't produce any further errors. With the syntax fixed, the checker now produces also a few more errors about power-domains, which I will fix in v3. Is this syntax correct? allOf: - if: properties: compatible: contains: enum: - fsl,imx6sx-pxp then: properties: interrupts: minItems: 1 maxItems: 1 else: properties: interrupts: minItems: 2 maxItems: 2 Michael