# See ./video-interfaces.txt for details
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     additionalProperties: false
 
     properties:
 
   # See ./video-interfaces.txt for details
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
 
     properties:
       endpoint:
 
     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
 
     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
     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
 
     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
 
     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:
     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:
   - |
 
     maxItems: 1
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description: |
       Output video port. See ../video-interfaces.txt.
 
 
     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
 
   # See ../video-interfaces.txt for more details
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
+
     properties:
       endpoint:
         type: object
         required:
           - link-frequencies
 
+    additionalProperties: false
+
 required:
   - compatible
   - reg
 
 
   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
     required:
       - port@4
 
+    unevaluatedProperties: false
+
   i2c-mux:
     type: object
     description: |
                   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
 
 
   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:
 
 
   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:
 
 
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description: |
       Video output port. See ../video-interfaces.txt.
 
 
 
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description: |
       Video output port. See ../video-interfaces.txt.
 
 
     maxItems: 1
 
   port:
-    type: object
-    description: Output video port. See ../video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/port
 
 required:
   - compatible
 
 
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     additionalProperties: false
 
     properties:
 
 
   port:
     type: object
+    $ref: /schemas/graph.yaml#/properties/port
     additionalProperties: false
 
     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:
         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
 
   #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
 
   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:
 
         additionalProperties: false
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
 
     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:
 
   # 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:
 
       port@1:
         type: object
+        description: CSI2 Port #1
         additionalProperties: false
 
         properties:
           reg:
             const: 1
-            description: CSI2 Port #1
 
         patternProperties:
           endpoint:
           - reg
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
 
 required:
 
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
       port@0:
         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