On Sat, Oct 11, 2025 at 06:51:18PM +0200, Marek Vasut wrote: > Freescale i.MX95 Display Controller is implemented as construction set of > building blocks with unified concept and standardized interfaces. Document > all new processing units present in i.MX95. > > Signed-off-by: Marek Vasut <[email protected]> > --- > Cc: Abel Vesa <[email protected]> > Cc: Conor Dooley <[email protected]> > Cc: Fabio Estevam <[email protected]> > Cc: Krzysztof Kozlowski <[email protected]> > Cc: Laurent Pinchart <[email protected]> > Cc: Liu Ying <[email protected]> > Cc: Lucas Stach <[email protected]> > Cc: Peng Fan <[email protected]> > Cc: Pengutronix Kernel Team <[email protected]> > Cc: Rob Herring <[email protected]> > Cc: Shawn Guo <[email protected]> > Cc: Thomas Zimmermann <[email protected]> > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > --- > .../imx/fsl,imx8qxp-dc-constframe.yaml | 4 +- > .../imx/fsl,imx8qxp-dc-display-engine.yaml | 45 +++++++++++++--- > .../display/imx/fsl,imx8qxp-dc-extdst.yaml | 4 +- > .../display/imx/fsl,imx8qxp-dc-fetchunit.yaml | 1 + > .../display/imx/fsl,imx8qxp-dc-framegen.yaml | 13 ++++- > .../imx/fsl,imx8qxp-dc-layerblend.yaml | 4 +- > .../imx/fsl,imx8qxp-dc-pixel-engine.yaml | 52 +++++++++++++++--- > .../display/imx/fsl,imx8qxp-dc-tcon.yaml | 5 +- > .../bindings/display/imx/fsl,imx8qxp-dc.yaml | 53 ++++++++++++++++--- > 9 files changed, 153 insertions(+), 28 deletions(-) > > diff --git > a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml > > b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml > index 94f6785636085..3a585b3b9a789 100644 > --- > a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml > +++ > b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml > @@ -18,7 +18,9 @@ maintainers: > ... > > properties: > compatible: > - const: fsl,imx8qxp-dc-framegen > + enum: > + - fsl,imx8qxp-dc-framegen > + - fsl,imx95-dc-framegen > > "^gammacor@[0-9a-f]+$": > type: object > @@ -90,13 +102,15 @@ patternProperties: > compatible: > const: fsl,imx8qxp-dc-signature > > - "^tcon@[0-9a-f]+$": > + "^tcon(@[0-9a-f]+)?$":
why here allow no address unit tcon? Frank > type: object > additionalProperties: true > > properties: > compatible: > - const: fsl,imx8qxp-dc-tcon > + enum: > + - fsl,imx8qxp-dc-tcon > + - fsl,imx95-dc-tcon > ... > diff --git > a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-framegen.yaml > b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-framegen.yaml > index 9d1dc3a9de90e..dd83ac669478b 100644 > --- > a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-framegen.yaml > +++ > b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-framegen.yaml > @@ -16,18 +16,27 @@ maintainers: > > properties: > compatible: > - const: fsl,imx8qxp-dc-framegen > + enum: > + - fsl,imx8qxp-dc-framegen > + - fsl,imx95-dc-framegen > > reg: > maxItems: 1 > > clocks: > - maxItems: 1 > + minItems: 1 > + maxItems: 6 > + > + clock-names: > + minItems: 1 > + maxItems: 6 > > interrupts: > + minItems: 6 > maxItems: 8 > > interrupt-names: > + minItems: 6 Need if branch to keep the same restriction for exited compatible string > items: > - const: int0 > - const: int1 > diff --git > a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-layerblend.yaml > > b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-layerblend.yaml > index 2a6ab8a0ed7fc..6565b7acf47e4 100644 > --- > a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-layerblend.yaml > +++ > b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-layerblend.yaml > @@ -13,7 +13,9 @@ maintainers: > > properties: > compatible: > - const: fsl,imx8qxp-dc-layerblend > + enum: > + - fsl,imx8qxp-dc-layerblend > + - fsl,imx95-dc-layerblend > > reg: > maxItems: 2 ... > diff --git > a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-pixel-engine.yaml > > b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-pixel-engine.yaml > index 633443a6cc380..2d0ee83e30b25 100644 > --- > a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-pixel-engine.yaml > +++ > b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-pixel-engine.yaml > @@ -17,19 +17,28 @@ maintainers: > > properties: > compatible: > - const: fsl,imx8qxp-dc-pixel-engine > + oneOf: > + - const: fsl,imx8qxp-dc-pixel-engine > + - items: > + - const: fsl,imx95-dc-pixel-engine > + - const: fsl,imx8qxp-dc-pixel-engine > > reg: > maxItems: 1 > > clocks: > - maxItems: 1 > + minItems: 1 > + maxItems: 2 > + > + clock-names: > + minItems: 1 > + maxItems: 2 > > "#address-cells": > - const: 1 > + enum: [1, 2] > > "#size-cells": > - const: 1 > + enum: [1, 2] > > ranges: true > ... > > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: fsl,imx95-dc-pixel-engine > + then: > + properties: > + "#address-cells": > + const: 2 > + "#size-cells": > + const: 2 > + else: > + properties: > + "#address-cells": > + const: 1 > + "#size-cells": > + const: 1 Need keep the same restriction for clocks and clock-names. > + > additionalProperties: false > > examples: > diff --git > a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-tcon.yaml > b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-tcon.yaml > index 7a3b77ea92c73..1f935b342f461 100644 > --- a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-tcon.yaml > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-tcon.yaml > @@ -15,7 +15,9 @@ maintainers: > > properties: > compatible: > - const: fsl,imx8qxp-dc-tcon > + enum: > + - fsl,imx8qxp-dc-tcon > + - fsl,imx95-dc-tcon > > reg: > maxItems: 1 > @@ -26,7 +28,6 @@ properties: > > required: > - compatible > - - reg > - port > > additionalProperties: false > diff --git > a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc.yaml > b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc.yaml > index 0a72f9f0b5fda..1e8f559acb4de 100644 > --- a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc.yaml > +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc.yaml > @@ -48,13 +48,20 @@ maintainers: > > properties: > compatible: > - const: fsl,imx8qxp-dc > + enum: > + - fsl,imx8qxp-dc > + - fsl,imx95-dc > > reg: > maxItems: 1 > > clocks: > - maxItems: 1 > + minItems: 1 > + maxItems: 6 > + > + clock-names: > + minItems: 1 > + maxItems: 6 > > resets: > maxItems: 2 > @@ -68,10 +75,15 @@ properties: > maxItems: 1 > > "#address-cells": > - const: 1 > + enum: [1, 2] > > "#size-cells": > - const: 1 > + enum: [1, 2] > + > + fsl,syscon: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: | > + A phandle which points to Control and Status Registers (CSR) module. Why need this one? is it possible to abstract it to standard interface, like phy, clock, reset ... Frank > > ranges: true > > @@ -90,7 +102,9 @@ patternProperties: > > properties: > compatible: > - const: fsl,imx8qxp-dc-display-engine > + enum: > + - fsl,imx8qxp-dc-display-engine > + - fsl,imx95-dc-display-engine > > "^interrupt-controller@[0-9a-f]+$": > type: object > @@ -98,7 +112,9 @@ patternProperties: > > properties: > compatible: > - const: fsl,imx8qxp-dc-intc > + enum: > + - fsl,imx8qxp-dc-intc > + - fsl,imx95-dc-intc > > "^pixel-engine@[0-9a-f]+$": > type: object > @@ -106,7 +122,11 @@ patternProperties: > > properties: > compatible: > - const: fsl,imx8qxp-dc-pixel-engine > + oneOf: > + - const: fsl,imx8qxp-dc-pixel-engine > + - items: > + - const: fsl,imx95-dc-pixel-engine > + - const: fsl,imx8qxp-dc-pixel-engine > > "^pmu@[0-9a-f]+$": > type: object > @@ -125,6 +145,25 @@ required: > - "#size-cells" > - ranges > > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: fsl,imx95-dc > + then: > + properties: > + "#address-cells": > + const: 2 > + "#size-cells": > + const: 2 > + else: > + properties: > + "#address-cells": > + const: 1 > + "#size-cells": > + const: 1 > + > additionalProperties: false > > examples: > -- > 2.51.0 >
