Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: drm: bridge: adi,adv7511.txt: convert to yaml

Convert the ADV7511/11w/13/33/35 DT bindings to json-schema. The
original binding has been split into two files: adi,adv7511.yaml for
ADV7511/11W/13 and adi,adv7533.yaml for ADV7533/35.

Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210615131333.2272473-4-ricardo.canuelo@collabora.com

authored by

Ricardo Cañuelo and committed by
Rob Herring
cfe34bb7 1fc4f523

+425 -143
-143
Documentation/devicetree/bindings/display/bridge/adi,adv7511.txt
··· 1 - Analog Devices ADV7511(W)/13/33/35 HDMI Encoders 2 - ------------------------------------------------ 3 - 4 - The ADV7511, ADV7511W, ADV7513, ADV7533 and ADV7535 are HDMI audio and video 5 - transmitters compatible with HDMI 1.4 and DVI 1.0. They support color space 6 - conversion, S/PDIF, CEC and HDCP. ADV7533/5 supports the DSI interface for input 7 - pixels, while the others support RGB interface. 8 - 9 - Required properties: 10 - 11 - - compatible: Should be one of: 12 - "adi,adv7511" 13 - "adi,adv7511w" 14 - "adi,adv7513" 15 - "adi,adv7533" 16 - "adi,adv7535" 17 - 18 - - reg: I2C slave addresses 19 - The ADV7511 internal registers are split into four pages exposed through 20 - different I2C addresses, creating four register maps. Each map has it own 21 - I2C address and acts as a standard slave device on the I2C bus. The main 22 - address is mandatory, others are optional and revert to defaults if not 23 - specified. 24 - 25 - 26 - The ADV7511 supports a large number of input data formats that differ by their 27 - color depth, color format, clock mode, bit justification and random 28 - arrangement of components on the data bus. The combination of the following 29 - properties describe the input and map directly to the video input tables of the 30 - ADV7511 datasheet that document all the supported combinations. 31 - 32 - - adi,input-depth: Number of bits per color component at the input (8, 10 or 33 - 12). 34 - - adi,input-colorspace: The input color space, one of "rgb", "yuv422" or 35 - "yuv444". 36 - - adi,input-clock: The input clock type, one of "1x" (one clock cycle per 37 - pixel), "2x" (two clock cycles per pixel), "ddr" (one clock cycle per pixel, 38 - data driven on both edges). 39 - 40 - The following input format properties are required except in "rgb 1x" and 41 - "yuv444 1x" modes, in which case they must not be specified. 42 - 43 - - adi,input-style: The input components arrangement variant (1, 2 or 3), as 44 - listed in the input format tables in the datasheet. 45 - - adi,input-justification: The input bit justification ("left", "evenly", 46 - "right"). 47 - 48 - - avdd-supply: A 1.8V supply that powers up the AVDD pin on the chip. 49 - - dvdd-supply: A 1.8V supply that powers up the DVDD pin on the chip. 50 - - pvdd-supply: A 1.8V supply that powers up the PVDD pin on the chip. 51 - - dvdd-3v-supply: A 3.3V supply that powers up the pin called DVDD_3V 52 - on the chip. 53 - - bgvdd-supply: A 1.8V supply that powers up the BGVDD pin. This is 54 - needed only for ADV7511. 55 - 56 - The following properties are required for ADV7533 and ADV7535: 57 - 58 - - adi,dsi-lanes: Number of DSI data lanes connected to the DSI host. It should 59 - be one of 1, 2, 3 or 4. 60 - - a2vdd-supply: 1.8V supply that powers up the A2VDD pin on the chip. 61 - - v3p3-supply: A 3.3V supply that powers up the V3P3 pin on the chip. 62 - - v1p2-supply: A supply that powers up the V1P2 pin on the chip. It can be 63 - either 1.2V or 1.8V for ADV7533 but only 1.8V for ADV7535. 64 - 65 - Optional properties: 66 - 67 - - interrupts: Specifier for the ADV7511 interrupt 68 - - pd-gpios: Specifier for the GPIO connected to the power down signal 69 - 70 - - adi,clock-delay: Video data clock delay relative to the pixel clock, in ps 71 - (-1200 ps .. 1600 ps). Defaults to no delay. 72 - - adi,embedded-sync: The input uses synchronization signals embedded in the 73 - data stream (similar to BT.656). Defaults to separate H/V synchronization 74 - signals. 75 - - adi,disable-timing-generator: Only for ADV7533 and ADV7535. Disables the 76 - internal timing generator. The chip will rely on the sync signals in the 77 - DSI data lanes, rather than generate its own timings for HDMI output. 78 - - clocks: from common clock binding: reference to the CEC clock. 79 - - clock-names: from common clock binding: must be "cec". 80 - - reg-names : Names of maps with programmable addresses. 81 - It can contain any map needing a non-default address. 82 - Possible maps names are : "main", "edid", "cec", "packet" 83 - 84 - Required nodes: 85 - 86 - The ADV7511 has two video ports. Their connections are modelled using the OF 87 - graph bindings specified in Documentation/devicetree/bindings/graph.txt. 88 - 89 - - Video port 0 for the RGB, YUV or DSI input. In the case of ADV7533/5, the 90 - remote endpoint phandle should be a reference to a valid mipi_dsi_host device 91 - node. 92 - - Video port 1 for the HDMI output 93 - - Audio port 2 for the HDMI audio input 94 - 95 - 96 - Example 97 - ------- 98 - 99 - adv7511w: hdmi@39 { 100 - compatible = "adi,adv7511w"; 101 - /* 102 - * The EDID page will be accessible on address 0x66 on the I2C 103 - * bus. All other maps continue to use their default addresses. 104 - */ 105 - reg = <0x39>, <0x66>; 106 - reg-names = "main", "edid"; 107 - interrupt-parent = <&gpio3>; 108 - interrupts = <29 IRQ_TYPE_EDGE_FALLING>; 109 - clocks = <&cec_clock>; 110 - clock-names = "cec"; 111 - 112 - adi,input-depth = <8>; 113 - adi,input-colorspace = "rgb"; 114 - adi,input-clock = "1x"; 115 - adi,input-style = <1>; 116 - adi,input-justification = "evenly"; 117 - 118 - ports { 119 - #address-cells = <1>; 120 - #size-cells = <0>; 121 - 122 - port@0 { 123 - reg = <0>; 124 - adv7511w_in: endpoint { 125 - remote-endpoint = <&dpi_out>; 126 - }; 127 - }; 128 - 129 - port@1 { 130 - reg = <1>; 131 - adv7511_out: endpoint { 132 - remote-endpoint = <&hdmi_connector_in>; 133 - }; 134 - }; 135 - 136 - port@2 { 137 - reg = <2>; 138 - codec_endpoint: endpoint { 139 - remote-endpoint = <&i2s0_cpu_endpoint>; 140 - }; 141 - }; 142 - }; 143 - };
+241
Documentation/devicetree/bindings/display/bridge/adi,adv7511.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/display/bridge/adi,adv7511.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Analog Devices ADV7511/11W/13 HDMI Encoders 8 + 9 + maintainers: 10 + - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 11 + 12 + description: | 13 + The ADV7511, ADV7511W and ADV7513 are HDMI audio and video 14 + transmitters compatible with HDMI 1.4 and DVI 1.0. They support color 15 + space conversion, S/PDIF, CEC and HDCP. The transmitter input is 16 + parallel RGB or YUV data. 17 + 18 + properties: 19 + compatible: 20 + enum: 21 + - adi,adv7511 22 + - adi,adv7511w 23 + - adi,adv7513 24 + 25 + reg: 26 + description: | 27 + I2C slave addresses. 28 + 29 + The ADV7511/11W/13 internal registers are split into four pages 30 + exposed through different I2C addresses, creating four register 31 + maps. Each map has it own I2C address and acts as a standard slave 32 + device on the I2C bus. The main address is mandatory, others are 33 + optional and revert to defaults if not specified. 34 + minItems: 1 35 + maxItems: 4 36 + 37 + reg-names: 38 + description: 39 + Names of maps with programmable addresses. It can contain any map 40 + needing a non-default address. 41 + minItems: 1 42 + maxItems: 4 43 + items: 44 + - const: main 45 + - const: edid 46 + - const: cec 47 + - const: packet 48 + 49 + clocks: 50 + description: Reference to the CEC clock. 51 + maxItems: 1 52 + 53 + clock-names: 54 + const: cec 55 + 56 + interrupts: 57 + maxItems: 1 58 + 59 + pd-gpios: 60 + description: GPIO connected to the power down signal. 61 + maxItems: 1 62 + 63 + avdd-supply: 64 + description: A 1.8V supply that powers up the AVDD pin. 65 + 66 + dvdd-supply: 67 + description: A 1.8V supply that powers up the DVDD pin. 68 + 69 + pvdd-supply: 70 + description: A 1.8V supply that powers up the PVDD pin. 71 + 72 + dvdd-3v-supply: 73 + description: A 3.3V supply that powers up the DVDD_3V pin. 74 + 75 + bgvdd-supply: 76 + description: A 1.8V supply that powers up the BGVDD pin. 77 + 78 + adi,input-depth: 79 + description: Number of bits per color component at the input. 80 + allOf: 81 + - $ref: /schemas/types.yaml#/definitions/uint32 82 + - enum: [ 8, 10, 12 ] 83 + 84 + adi,input-colorspace: 85 + description: Input color space. 86 + enum: [ rgb, yuv422, yuv444 ] 87 + 88 + adi,input-clock: 89 + description: | 90 + Input clock type. 91 + "1x": one clock cycle per pixel 92 + "2x": two clock cycles per pixel 93 + "dd": one clock cycle per pixel, data driven on both edges 94 + enum: [ 1x, 2x, dd ] 95 + 96 + adi,clock-delay: 97 + description: 98 + Video data clock delay relative to the pixel clock, in ps 99 + (-1200ps .. 1600 ps). 100 + $ref: /schemas/types.yaml#/definitions/uint32 101 + default: 0 102 + 103 + adi,embedded-sync: 104 + description: 105 + If defined, the input uses synchronization signals embedded in the 106 + data stream (similar to BT.656). 107 + type: boolean 108 + 109 + adi,input-style: 110 + description: 111 + Input components arrangement variant as listed in the input 112 + format tables in the datasheet. 113 + $ref: /schemas/types.yaml#/definitions/uint32 114 + enum: [ 1, 2, 3 ] 115 + 116 + adi,input-justification: 117 + description: Input bit justification. 118 + enum: [ left, evenly, right ] 119 + 120 + ports: 121 + description: 122 + The ADV7511(W)/13 has two video ports and one audio port. This node 123 + models their connections as documented in 124 + Documentation/devicetree/bindings/media/video-interfaces.txt 125 + Documentation/devicetree/bindings/graph.txt 126 + type: object 127 + properties: 128 + port@0: 129 + description: Video port for the RGB or YUV input. 130 + type: object 131 + 132 + port@1: 133 + description: Video port for the HDMI output. 134 + type: object 135 + 136 + port@2: 137 + description: Audio port for the HDMI output. 138 + type: object 139 + 140 + # adi,input-colorspace and adi,input-clock are required except in 141 + # "rgb 1x" and "yuv444 1x" modes, in which case they must not be 142 + # specified. 143 + if: 144 + not: 145 + properties: 146 + adi,input-colorspace: 147 + contains: 148 + enum: [ rgb, yuv444 ] 149 + adi,input-clock: 150 + contains: 151 + const: 1x 152 + 153 + then: 154 + required: 155 + - adi,input-style 156 + - adi,input-justification 157 + 158 + else: 159 + properties: 160 + adi,input-style: false 161 + adi,input-justification: false 162 + 163 + 164 + required: 165 + - compatible 166 + - reg 167 + - ports 168 + - adi,input-depth 169 + - adi,input-colorspace 170 + - adi,input-clock 171 + - avdd-supply 172 + - dvdd-supply 173 + - pvdd-supply 174 + - dvdd-3v-supply 175 + - bgvdd-supply 176 + 177 + additionalProperties: false 178 + 179 + examples: 180 + - | 181 + #include <dt-bindings/interrupt-controller/irq.h> 182 + 183 + i2c@e6500000 { 184 + #address-cells = <1>; 185 + #size-cells = <0>; 186 + 187 + reg = <0 0xe6500000>; 188 + 189 + adv7511w: hdmi@39 { 190 + compatible = "adi,adv7511w"; 191 + /* 192 + * The EDID page will be accessible on address 0x66 on the I2C 193 + * bus. All other maps continue to use their default addresses. 194 + */ 195 + reg = <0x39>, <0x66>; 196 + reg-names = "main", "edid"; 197 + interrupt-parent = <&gpio3>; 198 + interrupts = <29 IRQ_TYPE_EDGE_FALLING>; 199 + clocks = <&cec_clock>; 200 + clock-names = "cec"; 201 + avdd-supply = <&v1v8>; 202 + dvdd-supply = <&v1v8>; 203 + pvdd-supply = <&v1v8>; 204 + dvdd-3v-supply = <&v3v3>; 205 + bgvdd-supply = <&v1v8>; 206 + 207 + adi,input-depth = <8>; 208 + adi,input-colorspace = "yuv422"; 209 + adi,input-clock = "1x"; 210 + 211 + adi,input-style = <3>; 212 + adi,input-justification = "right"; 213 + ports { 214 + #address-cells = <1>; 215 + #size-cells = <0>; 216 + 217 + port@0 { 218 + reg = <0>; 219 + adv7511w_in: endpoint { 220 + remote-endpoint = <&dpi_out>; 221 + }; 222 + }; 223 + 224 + port@1 { 225 + reg = <1>; 226 + adv7511_out: endpoint { 227 + remote-endpoint = <&hdmi_connector_in>; 228 + }; 229 + }; 230 + 231 + port@2 { 232 + reg = <2>; 233 + codec_endpoint: endpoint { 234 + remote-endpoint = <&i2s0_cpu_endpoint>; 235 + }; 236 + }; 237 + }; 238 + }; 239 + }; 240 + 241 + ...
+184
Documentation/devicetree/bindings/display/bridge/adi,adv7533.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/display/bridge/adi,adv7533.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Analog Devices ADV7533/35 HDMI Encoders 8 + 9 + maintainers: 10 + - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 11 + 12 + description: | 13 + The ADV7533 and ADV7535 are HDMI audio and video transmitters 14 + compatible with HDMI 1.4 and DVI 1.0. They support color space 15 + conversion, S/PDIF, CEC and HDCP. The transmitter input is MIPI DSI. 16 + 17 + properties: 18 + compatible: 19 + enum: 20 + - adi,adv7533 21 + - adi,adv7535 22 + 23 + reg: 24 + description: | 25 + I2C slave addresses. 26 + 27 + The ADV7533/35 internal registers are split into four pages 28 + exposed through different I2C addresses, creating four register 29 + maps. Each map has it own I2C address and acts as a standard slave 30 + device on the I2C bus. The main address is mandatory, others are 31 + optional and revert to defaults if not specified. 32 + minItems: 1 33 + maxItems: 4 34 + 35 + reg-names: 36 + description: 37 + Names of maps with programmable addresses. It can contain any map 38 + needing a non-default address. 39 + minItems: 1 40 + items: 41 + - const: main 42 + - const: edid 43 + - const: cec 44 + - const: packet 45 + 46 + clocks: 47 + description: Reference to the CEC clock. 48 + maxItems: 1 49 + 50 + clock-names: 51 + const: cec 52 + 53 + interrupts: 54 + maxItems: 1 55 + 56 + pd-gpios: 57 + description: GPIO connected to the power down signal. 58 + maxItems: 1 59 + 60 + avdd-supply: 61 + description: A 1.8V supply that powers up the AVDD pin. 62 + 63 + dvdd-supply: 64 + description: A 1.8V supply that powers up the DVDD pin. 65 + 66 + pvdd-supply: 67 + description: A 1.8V supply that powers up the PVDD pin. 68 + 69 + a2vdd-supply: 70 + description: A 1.8V supply that powers up the A2VDD pin. 71 + 72 + v3p3-supply: 73 + description: A 3.3V supply that powers up the V3P3 pin. 74 + 75 + v1p2-supply: 76 + description: 77 + A supply that powers up the V1P2 pin. It can be either 1.2V 78 + or 1.8V for ADV7533 but only 1.8V for ADV7535. 79 + 80 + adi,disable-timing-generator: 81 + description: 82 + Disables the internal timing generator. The chip will rely on the 83 + sync signals in the DSI data lanes, rather than generating its own 84 + timings for HDMI output. 85 + type: boolean 86 + 87 + adi,dsi-lanes: 88 + description: Number of DSI data lanes connected to the DSI host. 89 + $ref: /schemas/types.yaml#/definitions/uint32 90 + enum: [ 1, 2, 3, 4 ] 91 + 92 + ports: 93 + description: 94 + The ADV7533/35 has two video ports and one audio port. This node 95 + models their connections as documented in 96 + Documentation/devicetree/bindings/media/video-interfaces.txt 97 + Documentation/devicetree/bindings/graph.txt 98 + type: object 99 + properties: 100 + port@0: 101 + description: 102 + Video port for the DSI input. The remote endpoint phandle 103 + should be a reference to a valid mipi_dsi_host_device. 104 + type: object 105 + 106 + port@1: 107 + description: Video port for the HDMI output. 108 + type: object 109 + 110 + port@2: 111 + description: Audio port for the HDMI output. 112 + type: object 113 + 114 + required: 115 + - compatible 116 + - reg 117 + - ports 118 + - adi,dsi-lanes 119 + - avdd-supply 120 + - dvdd-supply 121 + - pvdd-supply 122 + - a2vdd-supply 123 + - v3p3-supply 124 + 125 + additionalProperties: false 126 + 127 + examples: 128 + - | 129 + #include <dt-bindings/interrupt-controller/irq.h> 130 + 131 + i2c@e6500000 { 132 + #address-cells = <1>; 133 + #size-cells = <0>; 134 + 135 + reg = <0 0xe6500000>; 136 + 137 + adv7533: hdmi@39 { 138 + compatible = "adi,adv7533"; 139 + /* 140 + * The EDID page will be accessible on address 0x66 on the I2C 141 + * bus. All other maps continue to use their default addresses. 142 + */ 143 + reg = <0x39>, <0x66>; 144 + reg-names = "main", "edid"; 145 + interrupt-parent = <&gpio3>; 146 + interrupts = <29 IRQ_TYPE_EDGE_FALLING>; 147 + clocks = <&cec_clock>; 148 + clock-names = "cec"; 149 + adi,dsi-lanes = <4>; 150 + avdd-supply = <&v1v8>; 151 + dvdd-supply = <&v1v8>; 152 + pvdd-supply = <&v1v8>; 153 + a2vdd-supply = <&v1v8>; 154 + v3p3-supply = <&v3v3>; 155 + 156 + ports { 157 + #address-cells = <1>; 158 + #size-cells = <0>; 159 + 160 + port@0 { 161 + reg = <0>; 162 + adv7533_in: endpoint { 163 + remote-endpoint = <&dsi_out>; 164 + }; 165 + }; 166 + 167 + port@1 { 168 + reg = <1>; 169 + adv7533_out: endpoint { 170 + remote-endpoint = <&hdmi_connector_in>; 171 + }; 172 + }; 173 + 174 + port@2 { 175 + reg = <2>; 176 + codec_endpoint: endpoint { 177 + remote-endpoint = <&i2s0_cpu_endpoint>; 178 + }; 179 + }; 180 + }; 181 + }; 182 + }; 183 + 184 + ...