dt-bindings: display: Use OF graph schema
Subsystems (23)
Rob Herring
maintainerPATCH v2 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.
In panel-common.yaml, 'ports' is dropped. Any binding using 'ports' should be one with more than 1 port node, and the binding must define what each port is.
---
v2:
- Drop 'type: object' where we have a $ref
- Drop any common properties like 'reg', '#address-cells', "#size-cells', 'remote-endpoint'
- Keep description in ti,k2g-dss.yaml
--- .../allwinner,sun4i-a10-display-backend.yaml | 21 ++---- .../allwinner,sun4i-a10-display-frontend.yaml | 17 +---- .../display/allwinner,sun4i-a10-hdmi.yaml | 17 +---- .../display/allwinner,sun4i-a10-tcon.yaml | 17 +---- .../allwinner,sun4i-a10-tv-encoder.yaml | 2 +- .../display/allwinner,sun6i-a31-drc.yaml | 17 +---- .../display/allwinner,sun6i-a31-mipi-dsi.yaml | 6 +- .../allwinner,sun8i-a83t-de2-mixer.yaml | 17 +---- .../display/allwinner,sun8i-a83t-dw-hdmi.yaml | 17 +---- .../display/allwinner,sun8i-r40-tcon-top.yaml | 68 ++---------------- .../display/allwinner,sun9i-a80-deu.yaml | 17 +---- .../bindings/display/brcm,bcm2835-dpi.yaml | 7 +- .../display/bridge/analogix,anx7625.yaml | 6 +- .../display/bridge/analogix,anx7814.yaml | 19 +---- .../bindings/display/bridge/anx6345.yaml | 16 ++--- .../display/bridge/cdns,mhdp8546.yaml | 19 +---- .../display/bridge/chrontel,ch7033.yaml | 6 +- .../display/bridge/intel,keembay-dsi.yaml | 12 +--- .../bindings/display/bridge/ite,it6505.yaml | 2 +- .../display/bridge/lontium,lt9611.yaml | 69 ++----------------- .../bindings/display/bridge/lvds-codec.yaml | 16 +---- .../bindings/display/bridge/nwl-dsi.yaml | 34 ++------- .../bindings/display/bridge/ps8640.yaml | 22 ++---- .../bindings/display/bridge/renesas,lvds.yaml | 16 +---- .../display/bridge/simple-bridge.yaml | 16 +---- .../display/bridge/snps,dw-mipi-dsi.yaml | 6 +- .../display/bridge/thine,thc63lvd1024.yaml | 17 +---- .../bindings/display/bridge/ti,sn65dsi86.yaml | 41 ++--------- .../bindings/display/bridge/ti,tfp410.yaml | 16 +---- .../display/bridge/toshiba,tc358762.yaml | 52 ++------------ .../display/bridge/toshiba,tc358768.yaml | 44 ++---------- .../display/bridge/toshiba,tc358775.yaml | 18 ++--- .../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 | 8 +-- .../display/intel,keembay-display.yaml | 2 +- .../display/panel/advantech,idk-2121wr.yaml | 15 ++-- .../bindings/display/panel/panel-common.yaml | 11 +-- .../rockchip/rockchip,rk3066-hdmi.yaml | 14 +--- .../display/rockchip/rockchip-vop.yaml | 5 +- .../bindings/display/st,stm32-dsi.yaml | 16 ++--- .../bindings/display/st,stm32-ltdc.yaml | 8 +-- .../bindings/display/ti/ti,am65x-dss.yaml | 17 +---- .../bindings/display/ti/ti,j721e-dss.yaml | 19 +---- .../bindings/display/ti/ti,k2g-dss.yaml | 3 +- 48 files changed, 134 insertions(+), 660 deletions(-)
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-backend.yaml +4 -17
@@ -84,35 +84,22 @@ properties: const: dma-mem 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: | + description: Input endpoints of the controller. port@1: - type: object - description: | + 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,sun4i-a10-display-frontend.yaml +2 -15
@@ -57,34 +57,21 @@ properties: maxItems: 1 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 -15
@@ -76,36 +76,23 @@ properties: - const: audio-tx 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 -15
@@ -115,25 +115,14 @@ properties: - const: lvds 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 +148,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
@@ -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 -15
@@ -46,35 +46,22 @@ properties: maxItems: 1 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
@@ -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 -15
@@ -43,34 +43,21 @@ properties: maxItems: 1 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 -15
@@ -93,37 +93,24 @@ properties: The VCC power supply of the controller 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 +5 -63
127 lines not on this page · raw message
Documentation/devicetree/bindings/display/allwinner,sun9i-a80-deu.yaml +2 -15
@@ -40,35 +40,22 @@ properties: maxItems: 1 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
@@ -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 -3
@@ -35,16 +35,14 @@ properties: maxItems: 1 ports: - type: object + $ref: /schemas/graph.yaml#/properties/ports 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 +50,8 @@ properties: - port@0 - port@1 + unevaluatedProperties: false + required: - compatible - reg
Documentation/devicetree/bindings/display/bridge/analogix,anx7814.yaml +3 -16
@@ -42,35 +42,22 @@ properties: description: Regulator for 1.0V digital core power. 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 -12
@@ -34,30 +34,22 @@ properties: description: Regulator for 2.5V digital core power. 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 -16
@@ -57,47 +57,34 @@ properties: maxItems: 1 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 -3
@@ -19,16 +19,14 @@ properties: description: I2C address of the device ports: - type: object + $ref: /schemas/graph.yaml#/properties/ports properties: port@0: - type: object description: | Video port for RGB input. port@1: - type: object description: | DVI port, should be connected to a node compatible with the dvi-connector binding.
@@ -37,6 +35,8 @@ properties: - port@0 - port@1 + unevaluatedProperties: false + required: - compatible - reg
Documentation/devicetree/bindings/display/bridge/intel,keembay-dsi.yaml +2 -10
@@ -35,28 +35,20 @@ properties: - const: clk_mipi_cfg ports: - type: object + $ref: /schemas/graph.yaml#/properties/ports properties: - '#address-cells': - const: 1 - - '#size-cells': - const: 0 - port@0: - type: object description: MIPI DSI input port. port@1: - type: object description: DSI output port. required: - port@0 - port@1 - additionalProperties: false + unevaluatedProperties: false required: - compatible
Documentation/devicetree/bindings/display/bridge/ite,it6505.yaml +1 -1
@@ -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 -63
91 lines not on this page · raw message
Documentation/devicetree/bindings/display/bridge/lvds-codec.yaml +3 -13
@@ -45,25 +45,15 @@ properties: - thine,thc63lvdm83d # For the THC63LVDM83D LVDS serializer 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 +62,7 @@ properties: - port@0 - port@1 - additionalProperties: false + unevaluatedProperties: false powerdown-gpios: description:
Documentation/devicetree/bindings/display/bridge/nwl-dsi.yaml +4 -30
@@ -84,11 +84,8 @@ properties: - const: pclk 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
@@ -97,12 +94,6 @@ properties: display controller. Exactly one endpoint must be specified. properties: - '#address-cells': - const: 1 - - '#size-cells': - const: 0 - endpoint@0: description: sub-node describing the input from LCDIF type: object
@@ -111,41 +102,24 @@ properties: description: sub-node describing the input from DCSS type: object - reg: - const: 0 - - required: - - '#address-cells' - - '#size-cells' - - reg - oneOf: - required: - endpoint@0 - required: - endpoint@1 - additionalProperties: false + unevaluatedProperties: 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 -17
@@ -43,33 +43,21 @@ properties: description: Regulator for 3.3V digital core power. 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 -14
@@ -49,32 +49,20 @@ properties: maxItems: 1 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 -13
@@ -30,30 +30,20 @@ properties: - ti,ths8135 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 -3
@@ -47,20 +47,20 @@ properties: const: apb ports: - type: object + $ref: /schemas/graph.yaml#/properties/ports 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 -15
@@ -25,11 +25,8 @@ properties: const: thine,thc63lvd1024 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 +34,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 +4 -37
73 lines not on this page · raw message
Documentation/devicetree/bindings/display/bridge/ti,tfp410.yaml +3 -13
@@ -31,11 +31,7 @@ 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 +64,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 -47
70 lines not on this page · raw message
Documentation/devicetree/bindings/display/bridge/toshiba,tc358768.yaml +5 -39
77 lines not on this page · raw message
Documentation/devicetree/bindings/display/bridge/toshiba,tc358775.yaml +4 -14
@@ -44,31 +44,19 @@ properties: description: Hardware reset, Low active 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 +64,8 @@ properties: - port@0 - port@1 + unevaluatedProperties: false + required: - compatible - reg
Documentation/devicetree/bindings/display/connector/analog-tv-connector.yaml +1 -0
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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 -5
@@ -39,18 +39,16 @@ 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
@@ -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 +6 -9
@@ -37,34 +37,31 @@ properties: panel-timing: true ports: - type: object + $ref: /schemas/graph.yaml#/properties/ports + properties: port@0: type: object description: The sink for odd pixels. properties: - reg: - const: 0 - dual-lvds-odd-pixels: true required: - - reg - dual-lvds-odd-pixels port@1: type: object description: The sink for even pixels. properties: - reg: - const: 1 - dual-lvds-even-pixels: true required: - - reg - dual-lvds-even-pixels + required: + - port@0 + - port@1 + additionalProperties: false required:
Documentation/devicetree/bindings/display/panel/panel-common.yaml +1 -10
@@ -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 -12
@@ -43,33 +43,23 @@ properties: This soc uses GRF regs to switch the HDMI TX input between vop0 and vop1. 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
@@ -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 +8 -8
@@ -51,23 +51,23 @@ properties: Phandle of the regulator that provides the supply voltage. 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 + + unevaluatedProperties: false + required: - "#address-cells" - "#size-cells"
Documentation/devicetree/bindings/display/st,stm32-ltdc.yaml +3 -5
@@ -35,15 +35,13 @@ properties: maxItems: 1 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 -14
@@ -74,29 +74,18 @@ properties: type: boolean 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 -16
@@ -107,39 +107,26 @@ properties: type: boolean 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 -2
@@ -54,9 +54,8 @@ properties: description: phandle to the associated power domain port: - type: object + $ref: /schemas/graph.yaml#/properties/port description: - Port as described in Documentation/devicetree/bindings/graph.txt. The DSS DPI output port node max-memory-bandwidth:
Signature · 6 lines
2.25.1 _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Rob Herring
maintainerQuoted 16 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.yamland dropping duplicate parts from schemas.In
panel-common.yaml, 'ports' is dropped. Any binding using 'ports' should be one with more than 1 port node, and the binding must define what each port is.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]>Signed-off-by Rob Herring <[email protected]>
Quoted 5 lines
---
v2:
- Drop 'type: object' where we have a $ref
- Drop any common properties like 'reg', '#address-cells', "#size-cells', 'remote-endpoint'
I think this isn't going to work in regards to unevaluatedProperties. Consider this example:
parent:
$ref: schema.yaml#/parent # containing properties of 'child' properties:
child:
unevaluatedProperties: false
The problem is at the 'child' instance level when 'unevaluatedProperties' is evaluated, it can't see the parent schema with the $ref. So any property in schema.yaml won't be taken into account. Instead, we have to do something like this:
parent:
$ref: schema.yaml#/parent
properties:
child:
$ref: schema.yaml#/child
unevaluatedProperties: false
So we're going to need a $ref for every ports, port, and endpoint node. Or just allow extra properties.
Rob
_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel