Skip to contentSkip to conversation

dt-bindings: display: Use OF graph schema

PATCH In review Rob Herring 2 participants 3 messages Nov 17, 2020

Subsystems (23)
lore
Share & tools
lore

Rob Herring

author maintainer
#0 lore raw

PATCH 1/1 dt-bindings: display: Use OF graph schema

Now that we have a graph schema, rework the display related schemas to use it. Mostly this is adding a reference to graph.yaml and dropping duplicate parts from schemas.

Cc Thierry Reding <[email protected]>
Cc Sam Ravnborg <[email protected]>
Cc Laurent Pinchart <[email protected]>
Cc Maxime Ripard <[email protected]>
Cc Maarten Lankhorst <[email protected]>
Cc Thomas Zimmermann <[email protected]>

---
graph.yaml is in the dtschema repo, so this can go into drm-misc and hopefully anything afterwards be fixed up to use graph.yaml.

 .../allwinner,sun4i-a10-display-backend.yaml  | 14 +---
 .../allwinner,sun4i-a10-display-frontend.yaml | 16 +----
 .../display/allwinner,sun4i-a10-hdmi.yaml     | 16 +----
 .../display/allwinner,sun4i-a10-tcon.yaml     | 16 +----
 .../allwinner,sun4i-a10-tv-encoder.yaml       |  2 +-
 .../display/allwinner,sun6i-a31-drc.yaml      | 16 +----
 .../display/allwinner,sun6i-a31-mipi-dsi.yaml |  6 +-
 .../allwinner,sun8i-a83t-de2-mixer.yaml       | 16 +----
 .../display/allwinner,sun8i-a83t-dw-hdmi.yaml | 16 +----
 .../display/allwinner,sun8i-r40-tcon-top.yaml | 19 +-----
 .../display/allwinner,sun9i-a80-deu.yaml      | 16 +----
 .../bindings/display/brcm,bcm2835-dpi.yaml    |  7 +-
 .../display/bridge/analogix,anx7625.yaml      |  5 +-
 .../display/bridge/analogix,anx7814.yaml      | 18 +----
 .../bindings/display/bridge/anx6345.yaml      | 15 ++--
 .../display/bridge/cdns,mhdp8546.yaml         | 18 +----
 .../display/bridge/chrontel,ch7033.yaml       |  3 +
 .../display/bridge/intel,keembay-dsi.yaml     |  9 +--
 .../bindings/display/bridge/ite,it6505.yaml   |  2 +-
 .../display/bridge/lontium,lt9611.yaml        | 68 ++-----------------
 .../bindings/display/bridge/lvds-codec.yaml   | 15 +---
 .../bindings/display/bridge/nwl-dsi.yaml      | 17 +----
 .../bindings/display/bridge/ps8640.yaml       | 21 ++----
 .../bindings/display/bridge/renesas,lvds.yaml | 15 +---
 .../display/bridge/simple-bridge.yaml         | 15 +---
 .../display/bridge/snps,dw-mipi-dsi.yaml      |  5 +-
 .../display/bridge/thine,thc63lvd1024.yaml    | 16 +----
 .../bindings/display/bridge/ti,sn65dsi86.yaml | 27 +-------
 .../bindings/display/bridge/ti,tfp410.yaml    | 15 +---
 .../display/bridge/toshiba,tc358762.yaml      | 51 ++------------
 .../display/bridge/toshiba,tc358768.yaml      | 11 +--
 .../display/bridge/toshiba,tc358775.yaml      | 17 ++---
 .../connector/analog-tv-connector.yaml        |  1 +
 .../display/connector/dvi-connector.yaml      |  1 +
 .../display/connector/hdmi-connector.yaml     |  1 +
 .../display/connector/vga-connector.yaml      |  1 +
 .../bindings/display/imx/nxp,imx8mq-dcss.yaml |  2 +-
 .../bindings/display/ingenic,lcd.yaml         |  7 +-
 .../display/intel,keembay-display.yaml        |  2 +-
 .../display/panel/advantech,idk-2121wr.yaml   |  5 ++
 .../bindings/display/panel/panel-common.yaml  | 11 +--
 .../rockchip/rockchip,rk3066-hdmi.yaml        | 13 +---
 .../display/rockchip/rockchip-vop.yaml        |  5 +-
 .../bindings/display/st,stm32-dsi.yaml        | 13 ++--
 .../bindings/display/st,stm32-ltdc.yaml       |  7 +-
 .../bindings/display/ti/ti,am65x-dss.yaml     | 16 +----
 .../bindings/display/ti/ti,j721e-dss.yaml     | 18 +----
 .../bindings/display/ti/ti,k2g-dss.yaml       |  4 +-
 48 files changed, 121 insertions(+), 509 deletions(-)
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml +2 -12
index 86057d541065..7e8798b43c2a 100644
@@ -85,17 +85,9 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
         type: object
         description: |
@@ -107,12 +99,10 @@ properties:
           Output endpoints of the controller.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-frontend.yaml +2 -14
index 3eb1c2bbf4e7..005a550d7226 100644
@@ -58,33 +58,21 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-hdmi.yaml +2 -14
index 75e6479397a5..2c2a582300b7 100644
@@ -77,35 +77,23 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller. Usually an HDMI
           connector.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml +2 -14
index 4c15a2644a7c..ce1065b46ef9 100644
@@ -116,24 +116,14 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller.
 
@@ -159,12 +149,10 @@ properties:
             unevaluatedProperties: true
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tv-encoder.yaml +1 -1
index 6009324be967..9885839df5eb 100644
@@ -24,7 +24,7 @@ properties:
     maxItems: 1
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description:
       A port node with endpoint definitions as defined in
       Documentation/devicetree/bindings/media/video-interfaces.txt. The
Documentation/devicetree/bindings/display/allwinner,sun6i-a31-drc.yaml +2 -14
index 0c1ce55940e1..287681fcde72 100644
@@ -47,34 +47,22 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun6i-a31-mipi-dsi.yaml +2 -4
index 7aa330dabc44..a738d7c12a97 100644
@@ -47,11 +47,9 @@ properties:
     const: dphy
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description:
-      A port node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt. That
-      port should be the input endpoint, usually coming from the
+      The port should be the input endpoint, usually coming from the
       associated TCON.
 
 required:
Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-de2-mixer.yaml +2 -14
index c040eef56518..269e26681b2f 100644
@@ -44,33 +44,21 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-dw-hdmi.yaml +2 -14
index fa4769a0b26e..37ec88d52099 100644
@@ -94,36 +94,24 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller. Usually the associated
           TCON.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller. Usually an HDMI
           connector.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun8i-r40-tcon-top.yaml +2 -17
index b98ca609824b..ef6974510590 100644
@@ -81,21 +81,10 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
-      All ports should have only one endpoint connected to
-      remote endpoint.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoint for Mixer 0 mux.
 
@@ -132,7 +121,6 @@ properties:
         additionalProperties: false
 
       port@2:
-        type: object
         description: |
           Input endpoint for Mixer 1 mux.
 
@@ -201,19 +189,16 @@ properties:
         additionalProperties: false
 
       port@5:
-        type: object
         description: |
           Output endpoint for HDMI mux
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
       - port@4
       - port@5
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - "#clock-cells"
Documentation/devicetree/bindings/display/allwinner,sun9i-a80-deu.yaml +2 -14
index 96de41d32b3e..112f9b93fe8d 100644
@@ -41,34 +41,22 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/brcm,bcm2835-dpi.yaml +3 -4
index 5c1024bbc1b3..c9ad0ecc9b6d 100644
@@ -27,10 +27,9 @@ properties:
       - const: pixel
 
   port:
-    type: object
-    description: >
-      Port node with a single endpoint connecting to the panel, as
-      defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/port
+    description:
+      Port node with a single endpoint connecting to the panel.
 
 required:
   - compatible
Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml +3 -2
index 60585a4fc22b..b99cc1f028be 100644
@@ -35,16 +35,15 @@ properties:
     maxItems: 1
 
   ports:
+    $ref: /schemas/graph.yaml#/properties/ports
     type: object
 
     properties:
       port@0:
-        type: object
         description:
           Video port for MIPI DSI input.
 
       port@1:
-        type: object
         description:
           Video port for panel or connector.
 
@@ -52,6 +51,8 @@ properties:
         - port@0
         - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml +3 -15
index 3ba477aefdd7..ae1c01d85c7e 100644
@@ -43,34 +43,22 @@ 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
-      Documentation/devicetree/bindings/graph.txt
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
       port@0:
-        type: object
         description: Video port for HDMI input.
 
-        properties:
-          reg:
-            const: 0
-
       port@1:
-        type: object
         description:
           Video port for SlimPort, DisplayPort, eDP or MyDP output.
 
-        properties:
-          reg:
-            const: 1
-
     required:
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/bridge/anx6345.yaml +4 -11
index 8c0e4f285fbc..9eaa680d98bc 100644
@@ -35,29 +35,22 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
-
       port@0:
-        type: object
-        description: |
+        description:
           Video port for LVTTL input
 
       port@1:
-        type: object
-        description: |
+        description:
           Video port for eDP output (panel or connector).
           May be omitted if EDID works reliably.
 
     required:
       - port@0
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml +3 -15
index 74d675fc6e7b..d197bae48c8a 100644
@@ -58,46 +58,34 @@ properties:
 
   ports:
     type: object
-    description:
-      Ports as described in Documentation/devicetree/bindings/graph.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
-
       port@0:
-        type: object
         description:
           First input port representing the DP bridge input.
 
       port@1:
-        type: object
         description:
           Second input port representing the DP bridge input.
 
       port@2:
-        type: object
         description:
           Third input port representing the DP bridge input.
 
       port@3:
-        type: object
         description:
           Fourth input port representing the DP bridge input.
 
       port@4:
-        type: object
         description:
           Output port representing the DP bridge output.
 
     required:
       - port@0
       - port@4
-      - '#address-cells'
-      - '#size-cells'
+
+    unevaluatedProperties: false
 
 allOf:
   - if:
Documentation/devicetree/bindings/display/bridge/chrontel,ch7033.yaml +3 -0
index 9f38f55fc990..6f478020014d 100644
@@ -20,6 +20,7 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
       port@0:
@@ -37,6 +38,8 @@ properties:
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/bridge/intel,keembay-dsi.yaml +2 -7
index ab5be2625224..d83e21ec0fb3 100644
@@ -35,15 +35,10 @@ properties:
       - const: clk_mipi_cfg
 
   ports:
+    $ref: /schemas/graph.yaml#/properties/ports
     type: object
 
     properties:
-      '#address-cells':
-       const: 1
-
-      '#size-cells':
-       const: 0
-
       port@0:
         type: object
         description: MIPI DSI input port.
@@ -56,7 +51,7 @@ properties:
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml +1 -1
index efbb3d0117dc..eedf8b7f5173 100644
@@ -55,7 +55,7 @@ properties:
     description: extcon specifier for the Power Delivery
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description: A port node pointing to DPI host port node
 
 required:
Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml +6 -62

90 lines not on this page · raw message

Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml +3 -12
index e5e3c72630cf..517baf661ee5 100644
@@ -46,24 +46,15 @@ properties:
 
   ports:
     type: object
-    description: |
-      This device has two video ports. Their connections are modeled using the
-      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt
-    properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
         description: |
           For LVDS encoders, port 0 is the parallel input
           For LVDS decoders, port 0 is the LVDS input
 
       port@1:
-        type: object
         description: |
           For LVDS encoders, port 1 is the LVDS output
           For LVDS decoders, port 1 is the parallel output
@@ -72,7 +63,7 @@ properties:
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
   powerdown-gpios:
     description:
Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml +3 -14
index a125b2dd3a2f..9664ba22afa1 100644
@@ -85,10 +85,8 @@ properties:
 
   ports:
     type: object
-    description:
-      A node containing DSI input & output port nodes with endpoint
-      definitions as documented in
-      Documentation/devicetree/bindings/graph.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
+
     properties:
       port@0:
         type: object
@@ -128,24 +126,15 @@ properties:
         additionalProperties: false
 
       port@1:
-        type: object
         description:
           DSI output port node to the panel or the next bridge
           in the chain
 
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
-
     required:
-      - '#address-cells'
-      - '#size-cells'
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - '#address-cells'
Documentation/devicetree/bindings/display/bridge/ps8640.yaml +5 -16
index 7e27cfcf770d..c9cf781ee7b2 100644
@@ -44,32 +44,21 @@ properties:
 
   ports:
     type: object
-    description:
-      A node containing DSI input & output port nodes with endpoint
-      definitions as documented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
-      Documentation/devicetree/bindings/graph.txt
-    properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
-        description: |
+        description:
           Video port for DSI input
 
       port@1:
-        type: object
-        description: |
+        description:
           Video port for eDP output (panel or connector).
 
     required:
       - port@0
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml +2 -13
index e5b163951b91..b3993300b335 100644
@@ -50,31 +50,20 @@ properties:
 
   ports:
     type: object
-    description: |
-      This device has two video ports. Their connections are modelled using the
-      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
-      Each port shall have a single endpoint.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
-
       port@0:
-        type: object
         description: Parallel RGB input port
 
       port@1:
-        type: object
         description: LVDS output port
 
     required:
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
   power-domains:
     maxItems: 1
Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml +3 -12
index 3ddb35fcf0a2..96dd457a26c1 100644
@@ -31,29 +31,20 @@ properties:
 
   ports:
     type: object
-    description: |
-      This device has two video ports. Their connections are modeled using the
-      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
-    properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
         description: The bridge input
 
       port@1:
-        type: object
         description: The bridge output
 
     required:
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
   enable-gpios:
     maxItems: 1
Documentation/devicetree/bindings/display/bridge/snps,dw-mipi-dsi.yaml +3 -2
index e42cb610f545..c04771d01137 100644
@@ -47,20 +47,21 @@ properties:
     const: apb
 
   ports:
+    $ref: /schemas/graph.yaml#/properties/ports
     type: object
 
     properties:
       port@0:
-        type: object
         description: Input node to receive pixel data.
       port@1:
-        type: object
         description: DSI output node to panel.
 
     required:
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - clock-names
   - clocks
Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.yaml +2 -14
index 469ac4a34273..eed984e08d7c 100644
@@ -26,10 +26,8 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
     description: |
-      This device has four video ports. Their connections are modeled using the
-      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
-
       The device can operate in single-link mode or dual-link mode. In
       single-link mode, all pixels are received on port@0, and port@1 shall not
       contain any endpoint. In dual-link mode, even-numbered pixels are
@@ -37,33 +35,23 @@ properties:
       port@1 shall contain endpoints.
 
     properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
-
       port@0:
-        type: object
         description: First LVDS input port
 
       port@1:
-        type: object
         description: Second LVDS input port
 
       port@2:
-        type: object
         description: First digital CMOS/TTL parallel output
 
       port@3:
-        type: object
         description: Second digital CMOS/TTL parallel output
 
     required:
       - port@0
       - port@2
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
   oe-gpios:
     maxItems: 1
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml +2 -25
index f8622bd0f61e..d69b38270f78 100644
@@ -72,35 +72,14 @@ properties:
 
   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
-        additionalProperties: false
-
         description:
           Video port for MIPI DSI input
 
-        properties:
-          reg:
-            const: 0
-
-          endpoint:
-            type: object
-            additionalProperties: false
-            properties:
-              remote-endpoint: true
-
-        required:
-          - reg
-
       port@1:
         type: object
         additionalProperties: false
@@ -175,8 +154,6 @@ properties:
           - reg
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
Documentation/devicetree/bindings/display/bridge/ti,tfp410.yaml +3 -12
index 605831c1e836..ffc6540f58e4 100644
@@ -31,11 +31,8 @@ properties:
     maximum: 7
 
   ports:
-    description:
-      A node containing input and output port nodes with endpoint
-      definitions as documented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
       port@0:
@@ -68,19 +65,13 @@ properties:
 
       port@1:
         description: DVI output port.
-        type: object
-
-        properties:
-          reg:
-            const: 1
-
-          endpoint:
-            type: object
 
     required:
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - ports
Documentation/devicetree/bindings/display/bridge/toshiba,tc358762.yaml +5 -46

69 lines not on this page · raw message

Documentation/devicetree/bindings/display/bridge/toshiba,tc358768.yaml +3 -8
index c036a75db8f7..6dfe7293420d 100644
@@ -43,14 +43,9 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
         type: object
         additionalProperties: false
@@ -99,11 +94,11 @@ properties:
           - reg
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.yaml +4 -13
index fd3113aa9ccd..89e5641df643 100644
@@ -45,30 +45,19 @@ 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
-    properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
         description: |
           DSI Input. The remote endpoint phandle should be a
           reference to a valid mipi_dsi_host device node.
 
       port@1:
-        type: object
         description: |
           Video port for LVDS output (panel or connector).
 
       port@2:
-        type: object
         description: |
           Video port for Dual link LVDS output (panel or connector).
 
@@ -76,6 +65,8 @@ properties:
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/connector/analog-tv-connector.yaml +1 -0
index eebe88fed999..a31ca2d52b86 100644
@@ -25,6 +25,7 @@ properties:
     $ref: /schemas/types.yaml#/definitions/uint32
 
   port:
+    $ref: /schemas/graph.yaml#/properties/port
     description: Connection to controller providing analog TV signals
 
 required:
Documentation/devicetree/bindings/display/connector/dvi-connector.yaml +1 -0
index 71cb9220fa59..93eb14294e68 100644
@@ -36,6 +36,7 @@ properties:
     description: the connector has pins for DVI dual-link
 
   port:
+    $ref: /schemas/graph.yaml#/properties/port
     description: Connection to controller providing DVI signals
 
 required:
Documentation/devicetree/bindings/display/connector/hdmi-connector.yaml +1 -0
index 14d7128af592..83c0d008265b 100644
@@ -37,6 +37,7 @@ properties:
     maxItems: 1
 
   port:
+    $ref: /schemas/graph.yaml#/properties/port
     description: Connection to controller providing HDMI signals
 
 required:
Documentation/devicetree/bindings/display/connector/vga-connector.yaml +1 -0
index 5782c4bb3252..25f868002000 100644
@@ -20,6 +20,7 @@ properties:
     $ref: /schemas/types.yaml#/definitions/phandle
 
   port:
+    $ref: /schemas/graph.yaml#/properties/port
     description: Connection to controller providing VGA signals
 
 required:
Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml +1 -1
index f1f25aa794d9..0091df9dd73b 100644
@@ -74,7 +74,7 @@ properties:
       - description: Must be 400 MHz
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description:
       A port node pointing to the input port of a HDMI/DP or MIPI display bridge.
 
Documentation/devicetree/bindings/display/ingenic,lcd.yaml +3 -4
index 768050f30dba..2f252e8d5389 100644
@@ -39,18 +39,17 @@ properties:
     minItems: 1
 
   port:
-    description: OF graph bindings (specified in bindings/graph.txt).
+    $ref: /schemas/graph.yaml#/properties/port
 
   ports:
-    description: OF graph bindings (specified in bindings/graph.txt).
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
+
     properties:
       port@0:
-        type: object
         description: DPI output, to interface with TFT panels.
 
       port@8:
-        type: object
         description: Link to the Image Processing Unit (IPU).
           (See ingenic,ipu.yaml).
 
Documentation/devicetree/bindings/display/intel,keembay-display.yaml +1 -1
index 0a697d45c2ad..bc6622b010ca 100644
@@ -36,7 +36,7 @@ properties:
     maxItems: 1
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description: Display output node to DSI.
 
 required:
Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml +5 -0
index 6b7fddc80c41..1261b061169e 100644
@@ -38,6 +38,7 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
     properties:
       port@0:
         type: object
@@ -65,6 +66,10 @@ properties:
           - reg
           - dual-lvds-even-pixels
 
+    required:
+      - port@0
+      - port@1
+
 additionalProperties: false
 
 required:
Documentation/devicetree/bindings/display/panel/panel-common.yaml +1 -10
index cd6dc5461721..5b38dc89cb21 100644
@@ -68,16 +68,7 @@ properties:
 
   # Connectivity
   port:
-    type: object
-
-  ports:
-    type: object
-    description:
-      Panels receive video data through one or multiple connections. While
-      the nature of those connections is specific to the panel type, the
-      connectivity is expressed in a standard fashion using ports as specified
-      in the device graph bindings defined in
-      Documentation/devicetree/bindings/graph.txt.
+    $ref: /schemas/graph.yaml#/properties/port
 
   ddc-i2c-bus:
     $ref: /schemas/types.yaml#/definitions/phandle
Documentation/devicetree/bindings/display/rockchip/rockchip,rk3066-hdmi.yaml +2 -11
index 4110d003ce1f..524f4d786b02 100644
@@ -44,32 +44,23 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description:
           Port node with two endpoints, numbered 0 and 1,
           connected respectively to vop0 and vop1.
 
       port@1:
-        type: object
         description:
           Port node with one endpoint connected to a hdmi-connector node.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/rockchip/rockchip-vop.yaml +1 -4
index ed8148e26e24..6f43d885c9b3 100644
@@ -70,10 +70,7 @@ properties:
       - const: dclk
 
   port:
-    type: object
-    description:
-      A port node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/port
 
   assigned-clocks:
     maxItems: 2
Documentation/devicetree/bindings/display/st,stm32-dsi.yaml +6 -7
index 327a14d85df8..ec0353593b22 100644
@@ -52,22 +52,21 @@ properties:
 
   ports:
     type: object
-    description:
-      A node containing DSI input & output port nodes with endpoint
-      definitions as documented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
-      Documentation/devicetree/bindings/graph.txt
+    $ref: /schemas/graph.yaml#/properties/ports
+
     properties:
       port@0:
-        type: object
         description:
           DSI input port node, connected to the ltdc rgb output port.
 
       port@1:
-        type: object
         description:
           DSI output port node, connected to a panel or a bridge input port"
 
+    required:
+      - port@0
+      - port@1
+
 required:
   - "#address-cells"
   - "#size-cells"
Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml +3 -4
index bf8ad916e9b0..c4588cd2ac7d 100644
@@ -36,14 +36,13 @@ properties:
 
   port:
     type: object
-    description:
-      "Video port for DPI RGB output.
+    $ref: /schemas/graph.yaml#/properties/port
+    description: |
+      Video port for DPI RGB output.
       ltdc has one video port with up to 2 endpoints:
       - for external dpi rgb panel or bridge, using gpios.
       - for internal dpi input of the MIPI DSI host controller.
       Note: These 2 endpoints cannot be activated simultaneously.
-      Please refer to the bindings defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt."
 
 required:
   - compatible
Documentation/devicetree/bindings/display/ti/ti,am65x-dss.yaml +3 -13
index 4dc30738ee57..60ad0e8fc7c0 100644
@@ -75,28 +75,18 @@ properties:
 
   ports:
     type: object
-    description:
-      Ports as described in Documentation/devicetree/bindings/graph.txt
-    properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
         description:
           The DSS OLDI output port node form video port 1
 
       port@1:
-        type: object
         description:
           The DSS DPI output port node from video port 2
 
-    required:
-      - "#address-cells"
-      - "#size-cells"
+    unevaluatedProperties: false
 
   ti,am65x-oldi-io-ctrl:
     $ref: "/schemas/types.yaml#/definitions/phandle-array"
Documentation/devicetree/bindings/display/ti/ti,j721e-dss.yaml +3 -15
index c9a947d55fa4..b3e0fa41180c 100644
@@ -108,38 +108,26 @@ properties:
 
   ports:
     type: object
-    description:
-      Ports as described in Documentation/devicetree/bindings/graph.txt
-    properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
         description:
           The output port node form video port 1
 
       port@1:
-        type: object
         description:
           The output port node from video port 2
 
       port@2:
-        type: object
         description:
           The output port node from video port 3
 
       port@3:
-        type: object
         description:
           The output port node from video port 4
 
-    required:
-      - "#address-cells"
-      - "#size-cells"
+    unevaluatedProperties: false
 
   max-memory-bandwidth:
     $ref: /schemas/types.yaml#/definitions/uint32
Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml +1 -3
index 8f87b82c6695..74dd1ce46d00 100644
@@ -55,9 +55,7 @@ properties:
 
   port:
     type: object
-    description:
-      Port as described in Documentation/devicetree/bindings/graph.txt.
-      The DSS DPI output port node
+    $ref: /schemas/graph.yaml#/properties/port
 
   max-memory-bandwidth:
     $ref: /schemas/types.yaml#/definitions/uint32
Signature · 6 lines
2.25.1

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
#1 lore raw

Hi Rob,

Thank you for the patch.

Quoted 70 lines · Rob Herring

Now that we have a graph schema, rework the display related schemas to use it. Mostly this is adding a reference to graph.yaml and dropping duplicate parts from schemas.

Cc Thierry Reding <[email protected]>
Cc Sam Ravnborg <[email protected]>
Cc Laurent Pinchart <[email protected]>
Cc Maxime Ripard <[email protected]>
Cc Maarten Lankhorst <[email protected]>
Cc Thomas Zimmermann <[email protected]>

---
graph.yaml is in the dtschema repo, so this can go into drm-misc and hopefully anything afterwards be fixed up to use graph.yaml.

 .../allwinner,sun4i-a10-display-backend.yaml  | 14 +---
 .../allwinner,sun4i-a10-display-frontend.yaml | 16 +----
 .../display/allwinner,sun4i-a10-hdmi.yaml     | 16 +----
 .../display/allwinner,sun4i-a10-tcon.yaml     | 16 +----
 .../allwinner,sun4i-a10-tv-encoder.yaml       |  2 +-
 .../display/allwinner,sun6i-a31-drc.yaml      | 16 +----
 .../display/allwinner,sun6i-a31-mipi-dsi.yaml |  6 +-
 .../allwinner,sun8i-a83t-de2-mixer.yaml       | 16 +----
 .../display/allwinner,sun8i-a83t-dw-hdmi.yaml | 16 +----
 .../display/allwinner,sun8i-r40-tcon-top.yaml | 19 +-----
 .../display/allwinner,sun9i-a80-deu.yaml      | 16 +----
 .../bindings/display/brcm,bcm2835-dpi.yaml    |  7 +-
 .../display/bridge/analogix,anx7625.yaml      |  5 +-
 .../display/bridge/analogix,anx7814.yaml      | 18 +----
 .../bindings/display/bridge/anx6345.yaml      | 15 ++--
 .../display/bridge/cdns,mhdp8546.yaml         | 18 +----
 .../display/bridge/chrontel,ch7033.yaml       |  3 +
 .../display/bridge/intel,keembay-dsi.yaml     |  9 +--
 .../bindings/display/bridge/ite,it6505.yaml   |  2 +-
 .../display/bridge/lontium,lt9611.yaml        | 68 ++-----------------
 .../bindings/display/bridge/lvds-codec.yaml   | 15 +---
 .../bindings/display/bridge/nwl-dsi.yaml      | 17 +----
 .../bindings/display/bridge/ps8640.yaml       | 21 ++----
 .../bindings/display/bridge/renesas,lvds.yaml | 15 +---
 .../display/bridge/simple-bridge.yaml         | 15 +---
 .../display/bridge/snps,dw-mipi-dsi.yaml      |  5 +-
 .../display/bridge/thine,thc63lvd1024.yaml    | 16 +----
 .../bindings/display/bridge/ti,sn65dsi86.yaml | 27 +-------
 .../bindings/display/bridge/ti,tfp410.yaml    | 15 +---
 .../display/bridge/toshiba,tc358762.yaml      | 51 ++------------
 .../display/bridge/toshiba,tc358768.yaml      | 11 +--
 .../display/bridge/toshiba,tc358775.yaml      | 17 ++---
 .../connector/analog-tv-connector.yaml        |  1 +
 .../display/connector/dvi-connector.yaml      |  1 +
 .../display/connector/hdmi-connector.yaml     |  1 +
 .../display/connector/vga-connector.yaml      |  1 +
 .../bindings/display/imx/nxp,imx8mq-dcss.yaml |  2 +-
 .../bindings/display/ingenic,lcd.yaml         |  7 +-
 .../display/intel,keembay-display.yaml        |  2 +-
 .../display/panel/advantech,idk-2121wr.yaml   |  5 ++
 .../bindings/display/panel/panel-common.yaml  | 11 +--
 .../rockchip/rockchip,rk3066-hdmi.yaml        | 13 +---
 .../display/rockchip/rockchip-vop.yaml        |  5 +-
 .../bindings/display/st,stm32-dsi.yaml        | 13 ++--
 .../bindings/display/st,stm32-ltdc.yaml       |  7 +-
 .../bindings/display/ti/ti,am65x-dss.yaml     | 16 +----
 .../bindings/display/ti/ti,j721e-dss.yaml     | 18 +----
 .../bindings/display/ti/ti,k2g-dss.yaml       |  4 +-
 48 files changed, 121 insertions(+), 509 deletions(-)
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml +0 -0
index 86057d541065..7e8798b43c2a 100644

Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml properties: · line 87

Quoted 3 lines
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml +0 -0
@@ -85,17 +85,9 @@ properties:
 
   ports:
     type: object

Do we need to specify the type here (and in all the locations below), give that it's specified in /schemas/graph.yaml#/properties/ports ?

Quoted 430 lines
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml +2 -12
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
         type: object
         description: |
@@ -107,12 +99,10 @@ properties:
           Output endpoints of the controller.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-frontend.yaml +2 -14
index 3eb1c2bbf4e7..005a550d7226 100644
@@ -58,33 +58,21 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-hdmi.yaml +2 -14
index 75e6479397a5..2c2a582300b7 100644
@@ -77,35 +77,23 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller. Usually an HDMI
           connector.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml +2 -14
index 4c15a2644a7c..ce1065b46ef9 100644
@@ -116,24 +116,14 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller.
 
@@ -159,12 +149,10 @@ properties:
             unevaluatedProperties: true
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tv-encoder.yaml +1 -1
index 6009324be967..9885839df5eb 100644
@@ -24,7 +24,7 @@ properties:
     maxItems: 1
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description:
       A port node with endpoint definitions as defined in
       Documentation/devicetree/bindings/media/video-interfaces.txt. The
Documentation/devicetree/bindings/display/allwinner,sun6i-a31-drc.yaml +2 -14
index 0c1ce55940e1..287681fcde72 100644
@@ -47,34 +47,22 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun6i-a31-mipi-dsi.yaml +2 -4
index 7aa330dabc44..a738d7c12a97 100644
@@ -47,11 +47,9 @@ properties:
     const: dphy
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description:
-      A port node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt. That
-      port should be the input endpoint, usually coming from the
+      The port should be the input endpoint, usually coming from the
       associated TCON.
 
 required:
Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-de2-mixer.yaml +2 -14
index c040eef56518..269e26681b2f 100644
@@ -44,33 +44,21 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-dw-hdmi.yaml +2 -14
index fa4769a0b26e..37ec88d52099 100644
@@ -94,36 +94,24 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller. Usually the associated
           TCON.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller. Usually an HDMI
           connector.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/allwinner,sun8i-r40-tcon-top.yaml +2 -17
index b98ca609824b..ef6974510590 100644
@@ -81,21 +81,10 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
-      All ports should have only one endpoint connected to
-      remote endpoint.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoint for Mixer 0 mux.
 
@@ -132,7 +121,6 @@ properties:
         additionalProperties: false
 
       port@2:
-        type: object
         description: |
           Input endpoint for Mixer 1 mux.
 
@@ -201,19 +189,16 @@ properties:
         additionalProperties: false
 
       port@5:
-        type: object
         description: |
           Output endpoint for HDMI mux
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
       - port@4
       - port@5
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - "#clock-cells"
Documentation/devicetree/bindings/display/allwinner,sun9i-a80-deu.yaml +2 -14
index 96de41d32b3e..112f9b93fe8d 100644
@@ -41,34 +41,22 @@ properties:
 
   ports:
     type: object
-    description: |
-      A ports node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description: |
           Input endpoints of the controller.
 
       port@1:
-        type: object
         description: |
           Output endpoints of the controller.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/brcm,bcm2835-dpi.yaml +3 -4
index 5c1024bbc1b3..c9ad0ecc9b6d 100644
@@ -27,10 +27,9 @@ properties:
       - const: pixel
 
   port:
-    type: object
-    description: >
-      Port node with a single endpoint connecting to the panel, as
-      defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/port
+    description:
+      Port node with a single endpoint connecting to the panel.
 
 required:
   - compatible
Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml +0 -0
index 60585a4fc22b..b99cc1f028be 100644

Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml properties: · line 39

Quoted 5 lines
Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml +1 -0
@@ -35,16 +35,15 @@ properties:
     maxItems: 1
 
   ports:
+    $ref: /schemas/graph.yaml#/properties/ports
     type: object

This is my OCD speaking, assuming we need to keep the type, $ref is after type in most other locations (there are a few other occurrences below).

Quoted 181 lines
Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml +2 -2
     properties:
       port@0:
-        type: object
         description:
           Video port for MIPI DSI input.
 
       port@1:
-        type: object
         description:
           Video port for panel or connector.
 
@@ -52,6 +51,8 @@ properties:
         - port@0
         - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml +3 -15
index 3ba477aefdd7..ae1c01d85c7e 100644
@@ -43,34 +43,22 @@ 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
-      Documentation/devicetree/bindings/graph.txt
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
       port@0:
-        type: object
         description: Video port for HDMI input.
 
-        properties:
-          reg:
-            const: 0
-
       port@1:
-        type: object
         description:
           Video port for SlimPort, DisplayPort, eDP or MyDP output.
 
-        properties:
-          reg:
-            const: 1
-
     required:
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/bridge/anx6345.yaml +4 -11
index 8c0e4f285fbc..9eaa680d98bc 100644
@@ -35,29 +35,22 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
-
       port@0:
-        type: object
-        description: |
+        description:
           Video port for LVTTL input
 
       port@1:
-        type: object
-        description: |
+        description:
           Video port for eDP output (panel or connector).
           May be omitted if EDID works reliably.
 
     required:
       - port@0
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/bridge/cdns,mhdp8546.yaml +3 -15
index 74d675fc6e7b..d197bae48c8a 100644
@@ -58,46 +58,34 @@ properties:
 
   ports:
     type: object
-    description:
-      Ports as described in Documentation/devicetree/bindings/graph.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
-
       port@0:
-        type: object
         description:
           First input port representing the DP bridge input.
 
       port@1:
-        type: object
         description:
           Second input port representing the DP bridge input.
 
       port@2:
-        type: object
         description:
           Third input port representing the DP bridge input.
 
       port@3:
-        type: object
         description:
           Fourth input port representing the DP bridge input.
 
       port@4:
-        type: object
         description:
           Output port representing the DP bridge output.
 
     required:
       - port@0
       - port@4
-      - '#address-cells'
-      - '#size-cells'
+
+    unevaluatedProperties: false
 
 allOf:
   - if:
Documentation/devicetree/bindings/display/bridge/chrontel,ch7033.yaml +3 -0
index 9f38f55fc990..6f478020014d 100644
@@ -20,6 +20,7 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
       port@0:
@@ -37,6 +38,8 @@ properties:
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/bridge/intel,keembay-dsi.yaml +0 -0
index ab5be2625224..d83e21ec0fb3 100644

Documentation/devicetree/bindings/display/bridge/intel,keembay-dsi.yaml properties: · line 39

Quoted 5 lines
Documentation/devicetree/bindings/display/bridge/intel,keembay-dsi.yaml +1 -0
@@ -35,15 +35,10 @@ properties:
       - const: clk_mipi_cfg
 
   ports:
+    $ref: /schemas/graph.yaml#/properties/ports
     type: object

Another case of $ref before type.

Quoted 175 lines
Documentation/devicetree/bindings/display/bridge/intel,keembay-dsi.yaml +1 -7
     properties:
-      '#address-cells':
-       const: 1
-
-      '#size-cells':
-       const: 0
-
       port@0:
         type: object
         description: MIPI DSI input port.
@@ -56,7 +51,7 @@ properties:
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml +1 -1
index efbb3d0117dc..eedf8b7f5173 100644
@@ -55,7 +55,7 @@ properties:
     description: extcon specifier for the Power Delivery
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description: A port node pointing to DPI host port node
 
 required:
Documentation/devicetree/bindings/display/bridge/lontium,lt9611.yaml +6 -62
index 7a1c89b995e2..840d7f9b19bb 100644
@@ -39,84 +39,28 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
-        description: |
+        description:
           Primary MIPI port-1 for MIPI input
 
-        properties:
-          reg:
-            const: 0
-
-        patternProperties:
-          "^endpoint(@[0-9])$":
-            type: object
-            additionalProperties: false
-
-            properties:
-              remote-endpoint:
-                $ref: /schemas/types.yaml#/definitions/phandle
-
-        required:
-          - reg
-
       port@1:
-        type: object
-        description: |
+        description:
           Additional MIPI port-2 for MIPI input, used in combination
           with primary MIPI port-1 to drive higher resolution displays
 
-        properties:
-          reg:
-            const: 1
-
-        patternProperties:
-          "^endpoint(@[0-9])$":
-            type: object
-            additionalProperties: false
-
-            properties:
-              remote-endpoint:
-                $ref: /schemas/types.yaml#/definitions/phandle
-
-        required:
-          - reg
-
       port@2:
-        type: object
-        description: |
+        description:
           HDMI port for HDMI output
 
-        properties:
-          reg:
-            const: 2
-
-        patternProperties:
-          "^endpoint(@[0-9])$":
-            type: object
-            additionalProperties: false
-
-            properties:
-              remote-endpoint:
-                $ref: /schemas/types.yaml#/definitions/phandle
-
-        required:
-          - reg
-
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@2
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml +3 -12
index e5e3c72630cf..517baf661ee5 100644
@@ -46,24 +46,15 @@ properties:
 
   ports:
     type: object
-    description: |
-      This device has two video ports. Their connections are modeled using the
-      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt
-    properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
         description: |
           For LVDS encoders, port 0 is the parallel input
           For LVDS decoders, port 0 is the LVDS input
 
       port@1:
-        type: object
         description: |
           For LVDS encoders, port 1 is the LVDS output
           For LVDS decoders, port 1 is the parallel output
@@ -72,7 +63,7 @@ properties:
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
   powerdown-gpios:
     description:
Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml +0 -0
index a125b2dd3a2f..9664ba22afa1 100644
@@ -85,10 +85,8 @@ properties:
 
   ports:

Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml properties: · line 92

Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml +2 -4
     type: object
-    description:
-      A node containing DSI input & output port nodes with endpoint
-      definitions as documented in
-      Documentation/devicetree/bindings/graph.txt.
+    $ref: /schemas/graph.yaml#/properties/ports
+
     properties:
       port@0:
         type: object

Should type be dropped here ?

Quoted 148 lines
Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml +1 -10
@@ -128,24 +126,15 @@ properties:
         additionalProperties: false
 
       port@1:
-        type: object
         description:
           DSI output port node to the panel or the next bridge
           in the chain
 
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
-
     required:
-      - '#address-cells'
-      - '#size-cells'
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - '#address-cells'
Documentation/devicetree/bindings/display/bridge/ps8640.yaml +5 -16
index 7e27cfcf770d..c9cf781ee7b2 100644
@@ -44,32 +44,21 @@ properties:
 
   ports:
     type: object
-    description:
-      A node containing DSI input & output port nodes with endpoint
-      definitions as documented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
-      Documentation/devicetree/bindings/graph.txt
-    properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
-        description: |
+        description:
           Video port for DSI input
 
       port@1:
-        type: object
-        description: |
+        description:
           Video port for eDP output (panel or connector).
 
     required:
       - port@0
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml +2 -13
index e5b163951b91..b3993300b335 100644
@@ -50,31 +50,20 @@ properties:
 
   ports:
     type: object
-    description: |
-      This device has two video ports. Their connections are modelled using the
-      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
-      Each port shall have a single endpoint.
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
-
       port@0:
-        type: object
         description: Parallel RGB input port
 
       port@1:
-        type: object
         description: LVDS output port
 
     required:
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
   power-domains:
     maxItems: 1
Documentation/devicetree/bindings/display/bridge/simple-bridge.yaml +3 -12
index 3ddb35fcf0a2..96dd457a26c1 100644
@@ -31,29 +31,20 @@ properties:
 
   ports:
     type: object
-    description: |
-      This device has two video ports. Their connections are modeled using the
-      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
-    properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
         description: The bridge input
 
       port@1:
-        type: object
         description: The bridge output
 
     required:
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
   enable-gpios:
     maxItems: 1
Documentation/devicetree/bindings/display/bridge/snps,dw-mipi-dsi.yaml +0 -0
index e42cb610f545..c04771d01137 100644

Documentation/devicetree/bindings/display/bridge/snps,dw-mipi-dsi.yaml properties: · line 51

Quoted 5 lines
Documentation/devicetree/bindings/display/bridge/snps,dw-mipi-dsi.yaml +1 -0
@@ -47,20 +47,21 @@ properties:
     const: apb
 
   ports:
+    $ref: /schemas/graph.yaml#/properties/ports
     type: object

OCD again :-)

Quoted 74 lines
Documentation/devicetree/bindings/display/bridge/snps,dw-mipi-dsi.yaml +2 -2
     properties:
       port@0:
-        type: object
         description: Input node to receive pixel data.
       port@1:
-        type: object
         description: DSI output node to panel.
 
     required:
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - clock-names
   - clocks
Documentation/devicetree/bindings/display/bridge/thine,thc63lvd1024.yaml +2 -14
index 469ac4a34273..eed984e08d7c 100644
@@ -26,10 +26,8 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
     description: |
-      This device has four video ports. Their connections are modeled using the
-      OF graph bindings specified in Documentation/devicetree/bindings/graph.txt.
-
       The device can operate in single-link mode or dual-link mode. In
       single-link mode, all pixels are received on port@0, and port@1 shall not
       contain any endpoint. In dual-link mode, even-numbered pixels are
@@ -37,33 +35,23 @@ properties:
       port@1 shall contain endpoints.
 
     properties:
-      '#address-cells':
-        const: 1
-
-      '#size-cells':
-        const: 0
-
       port@0:
-        type: object
         description: First LVDS input port
 
       port@1:
-        type: object
         description: Second LVDS input port
 
       port@2:
-        type: object
         description: First digital CMOS/TTL parallel output
 
       port@3:
-        type: object
         description: Second digital CMOS/TTL parallel output
 
     required:
       - port@0
       - port@2
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
   oe-gpios:
     maxItems: 1
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml +0 -0
index f8622bd0f61e..d69b38270f78 100644

Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml properties: · line 76

Quoted 6 lines
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml +2 -1
@@ -72,35 +72,14 @@ properties:
 
   ports:
     type: object
-    additionalProperties: false
+    $ref: /schemas/graph.yaml#/properties/ports
+    unevaluatedProperties: false

Maybe after 'required' for consistency ?

Quoted 20 lines
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml +0 -14
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
-        additionalProperties: false
-
         description:
           Video port for MIPI DSI input
 
-        properties:
-          reg:
-            const: 0
-
-          endpoint:

Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml properties: · line 84

Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml +0 -8
-            type: object
-            additionalProperties: false
-            properties:
-              remote-endpoint: true
-
-        required:
-          - reg
-
       port@1:
         type: object

Should type be dropped ?

Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml properties: · line 84

Quoted 1 line
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml +0 -0
         additionalProperties: false

You drop additionalProperties for port@0 but not for port@1, is that intentional ?

Quoted 131 lines
Documentation/devicetree/bindings/display/bridge/ti,sn65dsi86.yaml +0 -2
@@ -175,8 +154,6 @@ properties:
           - reg
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
Documentation/devicetree/bindings/display/bridge/ti,tfp410.yaml +3 -12
index 605831c1e836..ffc6540f58e4 100644
@@ -31,11 +31,8 @@ properties:
     maximum: 7
 
   ports:
-    description:
-      A node containing input and output port nodes with endpoint
-      definitions as documented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
       port@0:
@@ -68,19 +65,13 @@ properties:
 
       port@1:
         description: DVI output port.
-        type: object
-
-        properties:
-          reg:
-            const: 1
-
-          endpoint:
-            type: object
 
     required:
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - ports
Documentation/devicetree/bindings/display/bridge/toshiba,tc358762.yaml +5 -46
index 195025e6803c..b622c6d489fd 100644
@@ -26,64 +26,23 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
-        additionalProperties: false
-
-        description: |
+        description:
           Video port for MIPI DSI input
 
-        properties:
-          reg:
-            const: 0
-
-        patternProperties:
-          endpoint:
-            type: object
-            additionalProperties: false
-
-            properties:
-              remote-endpoint: true
-
-        required:
-          - reg
-
       port@1:
-        type: object
-        additionalProperties: false
-
-        description: |
+        description:
           Video port for MIPI DPI output (panel or connector).
 
-        properties:
-          reg:
-            const: 1
-
-        patternProperties:
-          endpoint:
-            type: object
-            additionalProperties: false
-
-            properties:
-              remote-endpoint: true
-
-        required:
-          - reg
-
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/bridge/toshiba,tc358768.yaml +1 -0
index c036a75db8f7..6dfe7293420d 100644
@@ -43,14 +43,9 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports

Documentation/devicetree/bindings/display/bridge/toshiba,tc358768.yaml properties: · line 50

Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/toshiba,tc358768.yaml +0 -6
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
         type: object

Dropping type here too (as well as for port@1) ?

Quoted 166 lines
Documentation/devicetree/bindings/display/bridge/toshiba,tc358768.yaml +2 -2
         additionalProperties: false
@@ -99,11 +94,11 @@ properties:
           - reg
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.yaml +4 -13
index fd3113aa9ccd..89e5641df643 100644
@@ -45,30 +45,19 @@ 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
-    properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
         description: |
           DSI Input. The remote endpoint phandle should be a
           reference to a valid mipi_dsi_host device node.
 
       port@1:
-        type: object
         description: |
           Video port for LVDS output (panel or connector).
 
       port@2:
-        type: object
         description: |
           Video port for Dual link LVDS output (panel or connector).
 
@@ -76,6 +65,8 @@ properties:
       - port@0
       - port@1
 
+    unevaluatedProperties: false
+
 required:
   - compatible
   - reg
Documentation/devicetree/bindings/display/connector/analog-tv-connector.yaml +1 -0
index eebe88fed999..a31ca2d52b86 100644
@@ -25,6 +25,7 @@ properties:
     $ref: /schemas/types.yaml#/definitions/uint32
 
   port:
+    $ref: /schemas/graph.yaml#/properties/port
     description: Connection to controller providing analog TV signals
 
 required:
Documentation/devicetree/bindings/display/connector/dvi-connector.yaml +1 -0
index 71cb9220fa59..93eb14294e68 100644
@@ -36,6 +36,7 @@ properties:
     description: the connector has pins for DVI dual-link
 
   port:
+    $ref: /schemas/graph.yaml#/properties/port
     description: Connection to controller providing DVI signals
 
 required:
Documentation/devicetree/bindings/display/connector/hdmi-connector.yaml +1 -0
index 14d7128af592..83c0d008265b 100644
@@ -37,6 +37,7 @@ properties:
     maxItems: 1
 
   port:
+    $ref: /schemas/graph.yaml#/properties/port
     description: Connection to controller providing HDMI signals
 
 required:
Documentation/devicetree/bindings/display/connector/vga-connector.yaml +1 -0
index 5782c4bb3252..25f868002000 100644
@@ -20,6 +20,7 @@ properties:
     $ref: /schemas/types.yaml#/definitions/phandle
 
   port:
+    $ref: /schemas/graph.yaml#/properties/port
     description: Connection to controller providing VGA signals
 
 required:
Documentation/devicetree/bindings/display/imx/nxp,imx8mq-dcss.yaml +1 -1
index f1f25aa794d9..0091df9dd73b 100644
@@ -74,7 +74,7 @@ properties:
       - description: Must be 400 MHz
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description:
       A port node pointing to the input port of a HDMI/DP or MIPI display bridge.
 
Documentation/devicetree/bindings/display/ingenic,lcd.yaml +3 -4
index 768050f30dba..2f252e8d5389 100644
@@ -39,18 +39,17 @@ properties:
     minItems: 1
 
   port:
-    description: OF graph bindings (specified in bindings/graph.txt).
+    $ref: /schemas/graph.yaml#/properties/port
 
   ports:
-    description: OF graph bindings (specified in bindings/graph.txt).
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
+
     properties:
       port@0:
-        type: object
         description: DPI output, to interface with TFT panels.
 
       port@8:
-        type: object
         description: Link to the Image Processing Unit (IPU).
           (See ingenic,ipu.yaml).
 
Documentation/devicetree/bindings/display/intel,keembay-display.yaml +1 -1
index 0a697d45c2ad..bc6622b010ca 100644
@@ -36,7 +36,7 @@ properties:
     maxItems: 1
 
   port:
-    type: object
+    $ref: /schemas/graph.yaml#/properties/port
     description: Display output node to DSI.
 
 required:
Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml +0 -0
index 6b7fddc80c41..1261b061169e 100644

Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml properties: · line 44

Quoted 7 lines
Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml +1 -0
@@ -38,6 +38,7 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
     properties:
       port@0:
         type: object

Same comment about the type property here.

Quoted 20 lines
Documentation/devicetree/bindings/display/panel/advantech,idk-2121wr.yaml +4 -0
@@ -65,6 +66,10 @@ properties:
           - reg
           - dual-lvds-even-pixels
 
+    required:
+      - port@0
+      - port@1
+
 additionalProperties: false
 
 required:
Documentation/devicetree/bindings/display/panel/panel-common.yaml +0 -1
index cd6dc5461721..5b38dc89cb21 100644
@@ -68,16 +68,7 @@ properties:
 
   # Connectivity
   port:
-    type: object

Documentation/devicetree/bindings/display/panel/panel-common.yaml properties: · line 71

Quoted 10 lines
Documentation/devicetree/bindings/display/panel/panel-common.yaml +1 -9
-
-  ports:
-    type: object
-    description:
-      Panels receive video data through one or multiple connections. While
-      the nature of those connections is specific to the panel type, the
-      connectivity is expressed in a standard fashion using ports as specified
-      in the device graph bindings defined in
-      Documentation/devicetree/bindings/graph.txt.
+    $ref: /schemas/graph.yaml#/properties/port

This drops "ports", is it intentional ?

Quoted 200 lines
Documentation/devicetree/bindings/display/panel/panel-common.yaml +0 -0
   ddc-i2c-bus:
     $ref: /schemas/types.yaml#/definitions/phandle
Documentation/devicetree/bindings/display/rockchip/rockchip,rk3066-hdmi.yaml +2 -11
index 4110d003ce1f..524f4d786b02 100644
@@ -44,32 +44,23 @@ properties:
 
   ports:
     type: object
+    $ref: /schemas/graph.yaml#/properties/ports
 
     properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
-
       port@0:
-        type: object
         description:
           Port node with two endpoints, numbered 0 and 1,
           connected respectively to vop0 and vop1.
 
       port@1:
-        type: object
         description:
           Port node with one endpoint connected to a hdmi-connector node.
 
     required:
-      - "#address-cells"
-      - "#size-cells"
       - port@0
       - port@1
 
-    additionalProperties: false
+    unevaluatedProperties: false
 
 required:
   - compatible
Documentation/devicetree/bindings/display/rockchip/rockchip-vop.yaml +1 -4
index ed8148e26e24..6f43d885c9b3 100644
@@ -70,10 +70,7 @@ properties:
       - const: dclk
 
   port:
-    type: object
-    description:
-      A port node with endpoint definitions as defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt.
+    $ref: /schemas/graph.yaml#/properties/port
 
   assigned-clocks:
     maxItems: 2
Documentation/devicetree/bindings/display/st,stm32-dsi.yaml +6 -7
index 327a14d85df8..ec0353593b22 100644
@@ -52,22 +52,21 @@ properties:
 
   ports:
     type: object
-    description:
-      A node containing DSI input & output port nodes with endpoint
-      definitions as documented in
-      Documentation/devicetree/bindings/media/video-interfaces.txt
-      Documentation/devicetree/bindings/graph.txt
+    $ref: /schemas/graph.yaml#/properties/ports
+
     properties:
       port@0:
-        type: object
         description:
           DSI input port node, connected to the ltdc rgb output port.
 
       port@1:
-        type: object
         description:
           DSI output port node, connected to a panel or a bridge input port"
 
+    required:
+      - port@0
+      - port@1
+
 required:
   - "#address-cells"
   - "#size-cells"
Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml +3 -4
index bf8ad916e9b0..c4588cd2ac7d 100644
@@ -36,14 +36,13 @@ properties:
 
   port:
     type: object
-    description:
-      "Video port for DPI RGB output.
+    $ref: /schemas/graph.yaml#/properties/port
+    description: |
+      Video port for DPI RGB output.
       ltdc has one video port with up to 2 endpoints:
       - for external dpi rgb panel or bridge, using gpios.
       - for internal dpi input of the MIPI DSI host controller.
       Note: These 2 endpoints cannot be activated simultaneously.
-      Please refer to the bindings defined in
-      Documentation/devicetree/bindings/media/video-interfaces.txt."
 
 required:
   - compatible
Documentation/devicetree/bindings/display/ti/ti,am65x-dss.yaml +3 -13
index 4dc30738ee57..60ad0e8fc7c0 100644
@@ -75,28 +75,18 @@ properties:
 
   ports:
     type: object
-    description:
-      Ports as described in Documentation/devicetree/bindings/graph.txt
-    properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
         description:
           The DSS OLDI output port node form video port 1
 
       port@1:
-        type: object
         description:
           The DSS DPI output port node from video port 2
 
-    required:
-      - "#address-cells"
-      - "#size-cells"
+    unevaluatedProperties: false
 
   ti,am65x-oldi-io-ctrl:
     $ref: "/schemas/types.yaml#/definitions/phandle-array"
Documentation/devicetree/bindings/display/ti/ti,j721e-dss.yaml +3 -15
index c9a947d55fa4..b3e0fa41180c 100644
@@ -108,38 +108,26 @@ properties:
 
   ports:
     type: object
-    description:
-      Ports as described in Documentation/devicetree/bindings/graph.txt
-    properties:
-      "#address-cells":
-        const: 1
-
-      "#size-cells":
-        const: 0
+    $ref: /schemas/graph.yaml#/properties/ports
 
+    properties:
       port@0:
-        type: object
         description:
           The output port node form video port 1
 
       port@1:
-        type: object
         description:
           The output port node from video port 2
 
       port@2:
-        type: object
         description:
           The output port node from video port 3
 
       port@3:
-        type: object
         description:
           The output port node from video port 4
 
-    required:
-      - "#address-cells"
-      - "#size-cells"
+    unevaluatedProperties: false
 
   max-memory-bandwidth:
     $ref: /schemas/types.yaml#/definitions/uint32
Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml +0 -0
index 8f87b82c6695..74dd1ce46d00 100644

Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml properties: · line 60

Quoted 6 lines
Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml +0 -3
@@ -55,9 +55,7 @@ properties:
 
   port:
     type: object
-    description:
-      Port as described in Documentation/devicetree/bindings/graph.txt.
-      The DSS DPI output port node

I think the second line of the description should be kept.

Quoted 4 lines
Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml +1 -0
+    $ref: /schemas/graph.yaml#/properties/port
 
   max-memory-bandwidth:
     $ref: /schemas/types.yaml#/definitions/uint32
Signature · 7 lines
Regards,

Laurent Pinchart
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel
author maintainer
#2 lore raw
Quoted 77 lines · Laurent Pinchart

Hi Rob,

Thank you for the patch.

Quoted 71 lines · Rob Herring

Now that we have a graph schema, rework the display related schemas to use it. Mostly this is adding a reference to graph.yaml and dropping duplicate parts from schemas.

Cc Thierry Reding <[email protected]>
Cc Sam Ravnborg <[email protected]>
Cc Laurent Pinchart <[email protected]>
Cc Maxime Ripard <[email protected]>
Cc Maarten Lankhorst <[email protected]>
Cc Thomas Zimmermann <[email protected]>

---
graph.yaml is in the dtschema repo, so this can go into drm-misc and hopefully anything afterwards be fixed up to use graph.yaml.

 .../allwinner,sun4i-a10-display-backend.yaml  | 14 +---
 .../allwinner,sun4i-a10-display-frontend.yaml | 16 +----
 .../display/allwinner,sun4i-a10-hdmi.yaml     | 16 +----
 .../display/allwinner,sun4i-a10-tcon.yaml     | 16 +----
 .../allwinner,sun4i-a10-tv-encoder.yaml       |  2 +-
 .../display/allwinner,sun6i-a31-drc.yaml      | 16 +----
 .../display/allwinner,sun6i-a31-mipi-dsi.yaml |  6 +-
 .../allwinner,sun8i-a83t-de2-mixer.yaml       | 16 +----
 .../display/allwinner,sun8i-a83t-dw-hdmi.yaml | 16 +----
 .../display/allwinner,sun8i-r40-tcon-top.yaml | 19 +-----
 .../display/allwinner,sun9i-a80-deu.yaml      | 16 +----
 .../bindings/display/brcm,bcm2835-dpi.yaml    |  7 +-
 .../display/bridge/analogix,anx7625.yaml      |  5 +-
 .../display/bridge/analogix,anx7814.yaml      | 18 +----
 .../bindings/display/bridge/anx6345.yaml      | 15 ++--
 .../display/bridge/cdns,mhdp8546.yaml         | 18 +----
 .../display/bridge/chrontel,ch7033.yaml       |  3 +
 .../display/bridge/intel,keembay-dsi.yaml     |  9 +--
 .../bindings/display/bridge/ite,it6505.yaml   |  2 +-
 .../display/bridge/lontium,lt9611.yaml        | 68 ++-----------------
 .../bindings/display/bridge/lvds-codec.yaml   | 15 +---
 .../bindings/display/bridge/nwl-dsi.yaml      | 17 +----
 .../bindings/display/bridge/ps8640.yaml       | 21 ++----
 .../bindings/display/bridge/renesas,lvds.yaml | 15 +---
 .../display/bridge/simple-bridge.yaml         | 15 +---
 .../display/bridge/snps,dw-mipi-dsi.yaml      |  5 +-
 .../display/bridge/thine,thc63lvd1024.yaml    | 16 +----
 .../bindings/display/bridge/ti,sn65dsi86.yaml | 27 +-------
 .../bindings/display/bridge/ti,tfp410.yaml    | 15 +---
 .../display/bridge/toshiba,tc358762.yaml      | 51 ++------------
 .../display/bridge/toshiba,tc358768.yaml      | 11 +--
 .../display/bridge/toshiba,tc358775.yaml      | 17 ++---
 .../connector/analog-tv-connector.yaml        |  1 +
 .../display/connector/dvi-connector.yaml      |  1 +
 .../display/connector/hdmi-connector.yaml     |  1 +
 .../display/connector/vga-connector.yaml      |  1 +
 .../bindings/display/imx/nxp,imx8mq-dcss.yaml |  2 +-
 .../bindings/display/ingenic,lcd.yaml         |  7 +-
 .../display/intel,keembay-display.yaml        |  2 +-
 .../display/panel/advantech,idk-2121wr.yaml   |  5 ++
 .../bindings/display/panel/panel-common.yaml  | 11 +--
 .../rockchip/rockchip,rk3066-hdmi.yaml        | 13 +---
 .../display/rockchip/rockchip-vop.yaml        |  5 +-
 .../bindings/display/st,stm32-dsi.yaml        | 13 ++--
 .../bindings/display/st,stm32-ltdc.yaml       |  7 +-
 .../bindings/display/ti/ti,am65x-dss.yaml     | 16 +----
 .../bindings/display/ti/ti,j721e-dss.yaml     | 18 +----
 .../bindings/display/ti/ti,k2g-dss.yaml       |  4 +-
 48 files changed, 121 insertions(+), 509 deletions(-)
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml +0 -0
index 86057d541065..7e8798b43c2a 100644
@@ -85,17 +85,9 @@ properties:
 
Quoted 5 lines

Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml properties: · line 87

Quoted 2 lines
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml +0 -0
   ports:
     type: object

Do we need to specify the type here (and in all the locations below), give that it's specified in /schemas/graph.yaml#/properties/ports ?

The metaschema enforces that we have 'type' if we have 'properties' (except at the top level), so yes. Now that I think about it more, maybe I can rework it such that we required at least 'type' or '$ref' when we have 'properties'. Though that's not going to remove 'type' for 'port@n' schemas.

[...]

Quoted 6 lines
Quoted 6 lines
Documentation/devicetree/bindings/display/panel/panel-common.yaml +0 -0
index cd6dc5461721..5b38dc89cb21 100644
@@ -68,16 +68,7 @@ properties:
 
Quoted 15 lines

Documentation/devicetree/bindings/display/panel/panel-common.yaml properties: · line 71

Quoted 13 lines
Documentation/devicetree/bindings/display/panel/panel-common.yaml +1 -10
   # Connectivity
   port:
-    type: object
-
-  ports:
-    type: object
-    description:
-      Panels receive video data through one or multiple connections. While
-      the nature of those connections is specific to the panel type, the
-      connectivity is expressed in a standard fashion using ports as specified
-      in the device graph bindings defined in
-      Documentation/devicetree/bindings/graph.txt.
+    $ref: /schemas/graph.yaml#/properties/port

This drops "ports", is it intentional ?

Yes, I forgot to note that in the commit. The reason is defining ports here is not that useful. We don't want single port cases just randomly picking whether they use port or ports. If you use 'ports' then you need a schema defining each 'port'.

[...]

Quoted 6 lines
Quoted 6 lines
Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml +0 -0
index 8f87b82c6695..74dd1ce46d00 100644
@@ -55,9 +55,7 @@ properties:
 
Quoted 7 lines

Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml properties: · line 60

Quoted 5 lines
Documentation/devicetree/bindings/display/ti/ti,k2g-dss.yaml +0 -3
   port:
     type: object
-    description:
-      Port as described in Documentation/devicetree/bindings/graph.txt.
-      The DSS DPI output port node

I think the second line of the description should be kept.

Yes.

Rob
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel