238 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/display/bridge/adi,adv7511.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Analog Devices ADV7511/11W/13 HDMI Encoders8 9maintainers:10 - Laurent Pinchart <laurent.pinchart@ideasonboard.com>11 12description: |13 The ADV7511, ADV7511W and ADV7513 are HDMI audio and video14 transmitters compatible with HDMI 1.4 and DVI 1.0. They support color15 space conversion, S/PDIF, CEC and HDCP. The transmitter input is16 parallel RGB or YUV data.17 18properties:19 compatible:20 enum:21 - adi,adv751122 - adi,adv7511w23 - adi,adv751324 25 reg:26 description: |27 I2C slave addresses.28 29 The ADV7511/11W/13 internal registers are split into four pages30 exposed through different I2C addresses, creating four register31 maps. Each map has it own I2C address and acts as a standard slave32 device on the I2C bus. The main address is mandatory, others are33 optional and revert to defaults if not specified.34 minItems: 135 maxItems: 436 37 reg-names:38 description:39 Names of maps with programmable addresses. It can contain any map40 needing a non-default address.41 minItems: 142 items:43 - const: main44 - const: edid45 - const: cec46 - const: packet47 48 clocks:49 description: Reference to the CEC clock.50 maxItems: 151 52 clock-names:53 const: cec54 55 interrupts:56 maxItems: 157 58 pd-gpios:59 description: GPIO connected to the power down signal.60 maxItems: 161 62 avdd-supply:63 description: A 1.8V supply that powers up the AVDD pin.64 65 dvdd-supply:66 description: A 1.8V supply that powers up the DVDD pin.67 68 pvdd-supply:69 description: A 1.8V supply that powers up the PVDD pin.70 71 dvdd-3v-supply:72 description: A 3.3V supply that powers up the DVDD_3V pin.73 74 bgvdd-supply:75 description: A 1.8V supply that powers up the BGVDD pin.76 77 adi,input-depth:78 description: Number of bits per color component at the input.79 $ref: /schemas/types.yaml#/definitions/uint3280 enum: [ 8, 10, 12 ]81 82 adi,input-colorspace:83 description: Input color space.84 enum: [ rgb, yuv422, yuv444 ]85 86 adi,input-clock:87 description: |88 Input clock type.89 "1x": one clock cycle per pixel90 "2x": two clock cycles per pixel91 "dd": one clock cycle per pixel, data driven on both edges92 enum: [ 1x, 2x, dd ]93 94 adi,clock-delay:95 description:96 Video data clock delay relative to the pixel clock, in ps97 (-1200ps .. 1600 ps).98 $ref: /schemas/types.yaml#/definitions/uint3299 default: 0100 101 adi,embedded-sync:102 description:103 If defined, the input uses synchronization signals embedded in the104 data stream (similar to BT.656).105 type: boolean106 107 adi,input-style:108 description:109 Input components arrangement variant as listed in the input110 format tables in the datasheet.111 $ref: /schemas/types.yaml#/definitions/uint32112 enum: [ 1, 2, 3 ]113 114 adi,input-justification:115 description: Input bit justification.116 enum: [ left, evenly, right ]117 118 ports:119 description:120 The ADV7511(W)/13 has two video ports and one audio port.121 $ref: /schemas/graph.yaml#/properties/ports122 123 properties:124 port@0:125 description: Video port for the RGB or YUV input.126 $ref: /schemas/graph.yaml#/properties/port127 128 port@1:129 description: Video port for the HDMI output.130 $ref: /schemas/graph.yaml#/properties/port131 132 port@2:133 description: Audio port for the HDMI output.134 $ref: /schemas/graph.yaml#/properties/port135 136# adi,input-colorspace and adi,input-clock are required except in137# "rgb 1x" and "yuv444 1x" modes, in which case they must not be138# specified.139if:140 not:141 properties:142 adi,input-colorspace:143 contains:144 enum: [ rgb, yuv444 ]145 adi,input-clock:146 contains:147 const: 1x148 149then:150 required:151 - adi,input-style152 - adi,input-justification153 154else:155 properties:156 adi,input-style: false157 adi,input-justification: false158 159 160required:161 - compatible162 - reg163 - ports164 - adi,input-depth165 - adi,input-colorspace166 - adi,input-clock167 - avdd-supply168 - dvdd-supply169 - pvdd-supply170 - dvdd-3v-supply171 - bgvdd-supply172 173additionalProperties: false174 175examples:176 - |177 #include <dt-bindings/interrupt-controller/irq.h>178 179 i2c@e6500000 {180 #address-cells = <1>;181 #size-cells = <0>;182 183 reg = <0 0xe6500000>;184 185 adv7511w: hdmi@39 {186 compatible = "adi,adv7511w";187 /*188 * The EDID page will be accessible on address 0x66 on the I2C189 * bus. All other maps continue to use their default addresses.190 */191 reg = <0x39>, <0x66>;192 reg-names = "main", "edid";193 interrupt-parent = <&gpio3>;194 interrupts = <29 IRQ_TYPE_EDGE_FALLING>;195 clocks = <&cec_clock>;196 clock-names = "cec";197 avdd-supply = <&v1v8>;198 dvdd-supply = <&v1v8>;199 pvdd-supply = <&v1v8>;200 dvdd-3v-supply = <&v3v3>;201 bgvdd-supply = <&v1v8>;202 203 adi,input-depth = <8>;204 adi,input-colorspace = "yuv422";205 adi,input-clock = "1x";206 207 adi,input-style = <3>;208 adi,input-justification = "right";209 ports {210 #address-cells = <1>;211 #size-cells = <0>;212 213 port@0 {214 reg = <0>;215 adv7511w_in: endpoint {216 remote-endpoint = <&dpi_out>;217 };218 };219 220 port@1 {221 reg = <1>;222 adv7511_out: endpoint {223 remote-endpoint = <&hdmi_connector_in>;224 };225 };226 227 port@2 {228 reg = <2>;229 codec_endpoint: endpoint {230 remote-endpoint = <&i2s0_cpu_endpoint>;231 };232 };233 };234 };235 };236 237...238