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

Reply via email to