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-constframe + enum: + - fsl,imx8qxp-dc-constframe + - fsl,imx95-dc-constframe reg: maxItems: 2 diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-display-engine.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-display-engine.yaml index 91f3bb77d8d0d..aba818546028b 100644 --- a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-display-engine.yaml +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-display-engine.yaml @@ -16,7 +16,9 @@ maintainers: properties: compatible: - const: fsl,imx8qxp-dc-display-engine + enum: + - fsl,imx8qxp-dc-display-engine + - fsl,imx95-dc-display-engine reg: maxItems: 2 @@ -42,10 +44,10 @@ properties: maxItems: 1 "#address-cells": - const: 1 + enum: [1, 2] "#size-cells": - const: 1 + enum: [1, 2] ranges: true @@ -58,13 +60,23 @@ patternProperties: compatible: const: fsl,imx8qxp-dc-dither + "^domainblend@[0-9a-f]+$": + type: object + additionalProperties: true + + properties: + compatible: + const: fsl,imx95-dc-domainblend + "^framegen@[0-9a-f]+$": type: object additionalProperties: true 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]+)?$": type: object additionalProperties: true properties: compatible: - const: fsl,imx8qxp-dc-tcon + enum: + - fsl,imx8qxp-dc-tcon + - fsl,imx95-dc-tcon required: - compatible @@ -109,6 +123,25 @@ required: - "#size-cells" - ranges +allOf: + - if: + properties: + compatible: + contains: + const: fsl,imx95-dc-display-engine + then: + properties: + "#address-cells": + const: 2 + "#size-cells": + const: 2 + else: + properties: + "#address-cells": + const: 1 + "#size-cells": + const: 1 + additionalProperties: false examples: diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-extdst.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-extdst.yaml index dfc2d4f94f8eb..82a748b0024d4 100644 --- a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-extdst.yaml +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-extdst.yaml @@ -32,7 +32,9 @@ maintainers: properties: compatible: - const: fsl,imx8qxp-dc-extdst + enum: + - fsl,imx8qxp-dc-extdst + - fsl,imx95-dc-extdst reg: maxItems: 2 diff --git a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-fetchunit.yaml b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-fetchunit.yaml index 97fb6a4598d96..0e67322627a55 100644 --- a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-fetchunit.yaml +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-fetchunit.yaml @@ -111,6 +111,7 @@ properties: - fsl,imx8qxp-dc-fetcheco - fsl,imx8qxp-dc-fetchlayer - fsl,imx8qxp-dc-fetchwarp + - fsl,imx95-dc-fetchlayer reg: maxItems: 2 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 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 @@ -48,7 +57,9 @@ patternProperties: properties: compatible: - const: fsl,imx8qxp-dc-constframe + enum: + - fsl,imx8qxp-dc-constframe + - fsl,imx95-dc-constframe "^extdst@[0-9a-f]+$": type: object @@ -56,7 +67,9 @@ patternProperties: properties: compatible: - const: fsl,imx8qxp-dc-extdst + enum: + - fsl,imx8qxp-dc-extdst + - fsl,imx95-dc-extdst "^fetchdecode@[0-9a-f]+$": type: object @@ -80,7 +93,9 @@ patternProperties: properties: compatible: - const: fsl,imx8qxp-dc-fetchlayer + enum: + - fsl,imx8qxp-dc-fetchlayer + - fsl,imx95-dc-fetchlayer "^fetchwarp@[0-9a-f]+$": type: object @@ -104,7 +119,9 @@ patternProperties: properties: compatible: - const: fsl,imx8qxp-dc-layerblend + enum: + - fsl,imx8qxp-dc-layerblend + - fsl,imx95-dc-layerblend "^matrix@[0-9a-f]+$": type: object @@ -138,6 +155,25 @@ required: - "#size-cells" - ranges +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 + 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. 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
