File Index
Files and directories
Sign in
FILE

adi,adv7511.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/display/bridge/adi,adv7511.yaml 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
  7title: Analog Devices ADV7511/11W/13 HDMI Encoders
  8
  9maintainers:
 10  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
 11
 12description: |
 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
 18properties:
 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    items:
 43      - const: main
 44      - const: edid
 45      - const: cec
 46      - const: packet
 47
 48  clocks:
 49    description: Reference to the CEC clock.
 50    maxItems: 1
 51
 52  clock-names:
 53    const: cec
 54
 55  interrupts:
 56    maxItems: 1
 57
 58  pd-gpios:
 59    description: GPIO connected to the power down signal.
 60    maxItems: 1
 61
 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/uint32
 80    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 pixel
 90        "2x": two clock cycles per pixel
 91        "dd": one clock cycle per pixel, data driven on both edges
 92    enum: [ 1x, 2x, dd ]
 93
 94  adi,clock-delay:
 95    description:
 96      Video data clock delay relative to the pixel clock, in ps
 97      (-1200ps .. 1600 ps).
 98    $ref: /schemas/types.yaml#/definitions/uint32
 99    default: 0
100
101  adi,embedded-sync:
102    description:
103      If defined, the input uses synchronization signals embedded in the
104      data stream (similar to BT.656).
105    type: boolean
106
107  adi,input-style:
108    description:
109      Input components arrangement variant as listed in the input
110      format tables in the datasheet.
111    $ref: /schemas/types.yaml#/definitions/uint32
112    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/ports
122
123    properties:
124      port@0:
125        description: Video port for the RGB or YUV input.
126        $ref: /schemas/graph.yaml#/properties/port
127
128      port@1:
129        description: Video port for the HDMI output.
130        $ref: /schemas/graph.yaml#/properties/port
131
132      port@2:
133        description: Audio port for the HDMI output.
134        $ref: /schemas/graph.yaml#/properties/port
135
136# adi,input-colorspace and adi,input-clock are required except in
137# "rgb 1x" and "yuv444 1x" modes, in which case they must not be
138# specified.
139if:
140  not:
141    properties:
142      adi,input-colorspace:
143        contains:
144          enum: [ rgb, yuv444 ]
145      adi,input-clock:
146        contains:
147          const: 1x
148
149then:
150  required:
151    - adi,input-style
152    - adi,input-justification
153
154else:
155  properties:
156    adi,input-style: false
157    adi,input-justification: false
158
159required:
160  - compatible
161  - reg
162  - ports
163  - adi,input-depth
164  - adi,input-colorspace
165  - adi,input-clock
166  - avdd-supply
167  - dvdd-supply
168  - pvdd-supply
169  - dvdd-3v-supply
170  - bgvdd-supply
171
172additionalProperties: false
173
174examples:
175  - |
176    #include <dt-bindings/interrupt-controller/irq.h>
177
178    i2c@e6500000 {
179        #address-cells = <1>;
180        #size-cells = <0>;
181
182        reg = <0 0xe6500000>;
183
184        adv7511w: hdmi@39 {
185            compatible = "adi,adv7511w";
186            /*
187             * The EDID page will be accessible on address 0x66 on the I2C
188             * bus. All other maps continue to use their default addresses.
189             */
190            reg = <0x39>, <0x66>;
191            reg-names = "main", "edid";
192            interrupt-parent = <&gpio3>;
193            interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
194            clocks = <&cec_clock>;
195            clock-names = "cec";
196            avdd-supply = <&v1v8>;
197            dvdd-supply = <&v1v8>;
198            pvdd-supply = <&v1v8>;
199            dvdd-3v-supply = <&v3v3>;
200            bgvdd-supply = <&v1v8>;
201
202            adi,input-depth = <8>;
203            adi,input-colorspace = "yuv422";
204            adi,input-clock = "1x";
205
206            adi,input-style = <3>;
207            adi,input-justification = "right";
208            ports {
209                #address-cells = <1>;
210                #size-cells = <0>;
211
212                port@0 {
213                    reg = <0>;
214                    adv7511w_in: endpoint {
215                        remote-endpoint = <&dpi_out>;
216                    };
217                };
218
219                port@1 {
220                    reg = <1>;
221                    adv7511_out: endpoint {
222                        remote-endpoint = <&hdmi_connector_in>;
223                    };
224                };
225
226                port@2 {
227                    reg = <2>;
228                    codec_endpoint: endpoint {
229                        remote-endpoint = <&i2s0_cpu_endpoint>;
230                    };
231                };
232            };
233        };
234    };
235
236...
~/ Read-only file preview.