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