media: dt-bindings: media: Use OF graph schema
authorRob Herring <robh@kernel.org>
Tue, 17 Nov 2020 01:39:47 +0000 (02:39 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Wed, 2 Dec 2020 15:16:33 +0000 (16:16 +0100)
Now that we have a graph schema, rework the media related schemas to
use it. Mostly this is adding a reference to graph.yaml and dropping
duplicate parts from schemas.

Cc: Maxime Ripard <mripard@kernel.org>
Cc: Jacopo Mondi <jacopo@jmondi.org>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
20 files changed:
Documentation/devicetree/bindings/media/allwinner,sun4i-a10-csi.yaml
Documentation/devicetree/bindings/media/allwinner,sun6i-a31-csi.yaml
Documentation/devicetree/bindings/media/i2c/adv7180.yaml
Documentation/devicetree/bindings/media/i2c/adv7604.yaml
Documentation/devicetree/bindings/media/i2c/aptina,mt9v111.yaml
Documentation/devicetree/bindings/media/i2c/imi,rdacm2x-gmsl.yaml
Documentation/devicetree/bindings/media/i2c/imx219.yaml
Documentation/devicetree/bindings/media/i2c/maxim,max9286.yaml
Documentation/devicetree/bindings/media/i2c/ov5647.yaml
Documentation/devicetree/bindings/media/i2c/ov8856.yaml
Documentation/devicetree/bindings/media/i2c/ovti,ov772x.yaml
Documentation/devicetree/bindings/media/i2c/sony,imx214.yaml
Documentation/devicetree/bindings/media/i2c/sony,imx274.yaml
Documentation/devicetree/bindings/media/marvell,mmp2-ccic.yaml
Documentation/devicetree/bindings/media/renesas,ceu.yaml
Documentation/devicetree/bindings/media/renesas,csi2.yaml
Documentation/devicetree/bindings/media/renesas,vin.yaml
Documentation/devicetree/bindings/media/st,stm32-dcmi.yaml
Documentation/devicetree/bindings/media/ti,cal.yaml
Documentation/devicetree/bindings/media/xilinx/xlnx,csi2rxss.yaml

index 0931883..0205f7d 100644 (file)
@@ -70,6 +70,7 @@ properties:
   # See ./video-interfaces.txt for details
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     additionalProperties: false
 
     properties:
index 1fd9b55..48d8f73 100644 (file)
@@ -43,6 +43,7 @@ properties:
   # See ./video-interfaces.txt for details
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
 
     properties:
       endpoint:
index d8c54f9..7f28954 100644 (file)
@@ -36,17 +36,9 @@ properties:
     maxItems: 1
 
   port:
-    type: object
-    description:
-      A node containing a single endpoint as doucmented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
-
-  ports:
-    type: object
-    description:
-      A node containing input and output port nodes with endpoint definitions
-      as documented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
+    $ref: /schemas/graph.yaml#/properties/port
+
+  ports: true
 
 additionalProperties: false
 
@@ -80,24 +72,19 @@ allOf:
     then:
       properties:
         ports:
+          $ref: /schemas/graph.yaml#/properties/ports
           properties:
-            '#address-cells':
-              const: 1
-            '#size-cells':
-              const: 0
             port@3:
-              type: object
               description: Output port
 
           patternProperties:
             "^port@[0-2]$":
-              type: object
               description: Input port
 
           required:
             - port@3
 
-          additionalProperties: false
+          unevaluatedProperties: false
 
       required:
         - ports
@@ -110,24 +97,20 @@ allOf:
     then:
       properties:
         ports:
+          $ref: /schemas/graph.yaml#/properties/ports
           properties:
-            '#address-cells':
-              const: 1
-            '#size-cells':
-              const: 0
             port@6:
               type: object
               description: Output port
 
           patternProperties:
             "^port@[0-5]$":
-              type: object
               description: Input port
 
           required:
             - port@6
 
-          additionalProperties: false
+          unevaluatedProperties: false
 
       required:
         - ports
index 3897af5..81f17e7 100644 (file)
@@ -64,16 +64,12 @@ properties:
     description:
       Select which input is selected after reset.
 
-  ports:
-    type: object
-    description:
-      A node containing input and output port nodes with endpoint definitions
-      as documented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
+  ports: true
 
 required:
   - compatible
   - reg
+  - ports
 
 additionalProperties: false
 
@@ -86,25 +82,17 @@ allOf:
     then:
       properties:
         ports:
+          $ref: /schemas/graph.yaml#/properties/ports
           properties:
-            '#address-cells':
-              const: 1
-            '#size-cells':
-              const: 0
             port@0:
-              type: object
               description: Input port
             port@1:
-              type: object
               description: Output port
 
           required:
             - port@1
 
-          additionalProperties: false
-
-      required:
-        - ports
+          unevaluatedProperties: false
 
   - if:
       properties:
@@ -114,27 +102,19 @@ allOf:
     then:
       properties:
         ports:
+          $ref: /schemas/graph.yaml#/properties/ports
           properties:
-            '#address-cells':
-              const: 1
-            '#size-cells':
-              const: 0
             port@2:
-              type: object
               description: Output port
 
           patternProperties:
             "^port@[0-1]$":
-              type: object
               description: Input port
 
           required:
             - port@2
 
-          additionalProperties: false
-
-      required:
-        - ports
+          unevaluatedProperties: false
 
 examples:
   - |
index ff9546e..17ec4ab 100644 (file)
@@ -41,7 +41,7 @@ properties:
     maxItems: 1
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description: |
       Output video port. See ../video-interfaces.txt.
 
index 3dc06c6..e0ea3ac 100644 (file)
@@ -86,33 +86,12 @@ properties:
     maxItems: 3
 
   port:
-    type: object
-    additionalProperties: false
-    description: -|
+    $ref: /schemas/graph.yaml#/properties/port
+    description:
       Connection to the remote GMSL endpoint are modelled using the OF graph
       bindings in accordance with the video interface bindings defined in
       Documentation/devicetree/bindings/media/video-interfaces.txt.
 
-      The device node contains a single "port" child node with a single
-      "endpoint" sub-device.
-
-    properties:
-      endpoint:
-        type: object
-        additionalProperties: false
-
-        properties:
-          remote-endpoint:
-            description: -|
-              phandle to the remote GMSL endpoint sub-node in the remote node
-              port.
-            maxItems: 1
-
-        required:
-          - remote-endpoint
-
-    required:
-      - endpoint
 
 required:
   - compatible
index dfc4d29..bba42e0 100644 (file)
@@ -47,6 +47,8 @@ properties:
   # See ../video-interfaces.txt for more details
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
+
     properties:
       endpoint:
         type: object
@@ -74,6 +76,8 @@ properties:
         required:
           - link-frequencies
 
+    additionalProperties: false
+
 required:
   - compatible
   - reg
index 9ea8270..2e89a54 100644 (file)
@@ -53,56 +53,25 @@ properties:
 
   ports:
     type: object
-    description: |
-      The connections to the MAX9286 GMSL and its endpoint nodes are modelled
-      using the OF graph bindings in accordance with the video interface
-      bindings defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
-
-      The following table lists the port number corresponding to each device
-      port.
-
-        Port            Description
-        ----------------------------------------
-        Port 0          GMSL Input 0
-        Port 1          GMSL Input 1
-        Port 2          GMSL Input 2
-        Port 3          GMSL Input 3
-        Port 4          CSI-2 Output
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
+      port@0:
+        description: GMSL Input 0
 
-      port@[0-3]:
-        type: object
-        properties:
-          reg:
-            enum: [ 0, 1, 2, 3 ]
+      port@1:
+        description: GMSL Input 1
 
-          endpoint:
-            type: object
+      port@2:
+        description: GMSL Input 2
 
-            properties:
-              remote-endpoint:
-                description: |
-                 phandle to the remote GMSL source endpoint subnode in the
-                 remote node port.
-
-            required:
-              - remote-endpoint
-
-        required:
-          - reg
-          - endpoint
-
-        additionalProperties: false
+      port@3:
+        description: GMSL Input 3
 
       port@4:
         type: object
+        description: CSI-2 Output
+
         properties:
           reg:
             const: 4
@@ -130,6 +99,8 @@ properties:
     required:
       - port@4
 
+    unevaluatedProperties: false
+
   i2c-mux:
     type: object
     description: |
@@ -184,25 +155,8 @@ properties:
                   requirements of the currently connected remote device.
 
               port:
-                type: object
-
-                properties:
-                  endpoint:
-                    type: object
-
-                    properties:
-                      remote-endpoint:
-                        description: phandle to the MAX9286 sink endpoint.
-
-                    required:
-                      - remote-endpoint
-
-                    additionalProperties: false
-
-                required:
-                  - endpoint
-
-                additionalProperties: false
+                $ref: /schemas/graph.yaml#/properties/port
+                description: Connection to the MAX9286 sink.
 
             required:
               - compatible
index 280c62a..cd52916 100644 (file)
@@ -32,10 +32,7 @@ properties:
 
   port:
     type: object
-    description: |-
-      Should contain one endpoint sub-node used to model connection to the
-      video receiver according to the specification defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/port
 
     properties:
       endpoint:
index cde8555..2611eb6 100644 (file)
@@ -58,11 +58,8 @@ properties:
 
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     additionalProperties: false
-    description:
-      A node containing an output port node with an endpoint definition
-      as documented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
 
     properties:
       endpoint:
index 63b3779..450e5bd 100644 (file)
@@ -38,6 +38,7 @@ properties:
 
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description: |
       Video output port. See ../video-interfaces.txt.
 
index 0f5e25f..884bd35 100644 (file)
@@ -55,6 +55,7 @@ properties:
 
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description: |
       Video output port. See ../video-interfaces.txt.
 
index f697e1a..9082802 100644 (file)
@@ -44,8 +44,7 @@ properties:
     maxItems: 1
 
   port:
-    type: object
-    description: Output video port. See ../video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/port
 
 required:
   - compatible
index 49bff73..4832f55 100644 (file)
@@ -25,6 +25,7 @@ properties:
 
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     additionalProperties: false
 
     properties:
index c7e1e4f..2d493d5 100644 (file)
@@ -35,6 +35,7 @@ properties:
 
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     additionalProperties: false
 
     properties:
index 533c2f1..e34dfbe 100644 (file)
@@ -47,10 +47,7 @@ properties:
 
   ports:
     type: object
-    description:
-      A node containing input and output port nodes with endpoint definitions
-      as documented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
       port@0:
@@ -84,38 +81,15 @@ properties:
         additionalProperties: false
 
       port@1:
-        type: object
         description:
           Output port node, multiple endpoints describing all the R-Car VIN
           modules connected the CSI-2 receiver.
 
-        properties:
-          '#address-cells':
-            const: 1
-
-          '#size-cells':
-            const: 0
-
-          reg:
-            const: 1
-
-        patternProperties:
-          "^endpoint@[0-9a-f]$":
-            type: object
+    required:
+      - port@0
+      - port@1
 
-            properties:
-              reg:
-                maxItems: 1
-
-              remote-endpoint: true
-
-            required:
-              - reg
-              - remote-endpoint
-
-            additionalProperties: false
-
-        additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
index ad2fe66..25a70dc 100644 (file)
@@ -70,6 +70,7 @@ properties:
   #The per-board settings for Gen2 and RZ/G1 platforms:
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description:
       A node containing a parallel input with a single endpoint definitions as
       documented in
@@ -124,9 +125,7 @@ properties:
 
   ports:
     type: object
-    description:
-      A node containing input nodes with endpoint definitions as documented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
       port@0:
@@ -272,6 +271,8 @@ properties:
 
         additionalProperties: false
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
index c18574b..e3152c8 100644 (file)
@@ -37,12 +37,9 @@ properties:
     maxItems: 1
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description:
-      DCMI supports a single port node with parallel bus. It should contain
-      one 'port' child node with child 'endpoint' node. Please refer to the
-      bindings defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+      DCMI supports a single port node with parallel bus.
 
     properties:
       endpoint:
index 5e06662..dc2c6be 100644 (file)
@@ -70,23 +70,18 @@ properties:
   # See ./video-interfaces.txt for details
   ports:
     type: object
-    additionalProperties: false
+    $ref: /schemas/graph.yaml#/properties/ports
+    unevaluatedProperties: false
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
         type: object
+        description: CSI2 Port #0
         additionalProperties: false
 
         properties:
           reg:
             const: 0
-            description: CSI2 Port #0
 
         patternProperties:
           endpoint:
@@ -108,12 +103,12 @@ properties:
 
       port@1:
         type: object
+        description: CSI2 Port #1
         additionalProperties: false
 
         properties:
           reg:
             const: 1
-            description: CSI2 Port #1
 
         patternProperties:
           endpoint:
@@ -134,8 +129,6 @@ properties:
           - reg
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
 
 required:
index 2961a5b..0868718 100644 (file)
@@ -98,6 +98,7 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
       port@0:
@@ -141,29 +142,11 @@ properties:
         additionalProperties: false
 
       port@1:
-        type: object
         description: |
           Output / source port node, endpoint describing modules
           connected the CSI-2 receiver.
 
-        properties:
-
-          reg:
-            const: 1
-
-          endpoint:
-            type: object
-
-            properties:
-
-              remote-endpoint: true
-
-            required:
-              - remote-endpoint
-
-            additionalProperties: false
-
-        additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible