162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/display/bridge/adi,adv7511.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Analog Devices ADV7511/11W/13 HDMI Encoders 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci The ADV7511, ADV7511W and ADV7513 are HDMI audio and video 1462306a36Sopenharmony_ci transmitters compatible with HDMI 1.4 and DVI 1.0. They support color 1562306a36Sopenharmony_ci space conversion, S/PDIF, CEC and HDCP. The transmitter input is 1662306a36Sopenharmony_ci parallel RGB or YUV data. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciproperties: 1962306a36Sopenharmony_ci compatible: 2062306a36Sopenharmony_ci enum: 2162306a36Sopenharmony_ci - adi,adv7511 2262306a36Sopenharmony_ci - adi,adv7511w 2362306a36Sopenharmony_ci - adi,adv7513 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci reg: 2662306a36Sopenharmony_ci description: | 2762306a36Sopenharmony_ci I2C slave addresses. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci The ADV7511/11W/13 internal registers are split into four pages 3062306a36Sopenharmony_ci exposed through different I2C addresses, creating four register 3162306a36Sopenharmony_ci maps. Each map has it own I2C address and acts as a standard slave 3262306a36Sopenharmony_ci device on the I2C bus. The main address is mandatory, others are 3362306a36Sopenharmony_ci optional and revert to defaults if not specified. 3462306a36Sopenharmony_ci minItems: 1 3562306a36Sopenharmony_ci maxItems: 4 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci reg-names: 3862306a36Sopenharmony_ci description: 3962306a36Sopenharmony_ci Names of maps with programmable addresses. It can contain any map 4062306a36Sopenharmony_ci needing a non-default address. 4162306a36Sopenharmony_ci minItems: 1 4262306a36Sopenharmony_ci items: 4362306a36Sopenharmony_ci - const: main 4462306a36Sopenharmony_ci - const: edid 4562306a36Sopenharmony_ci - const: cec 4662306a36Sopenharmony_ci - const: packet 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci clocks: 4962306a36Sopenharmony_ci description: Reference to the CEC clock. 5062306a36Sopenharmony_ci maxItems: 1 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci clock-names: 5362306a36Sopenharmony_ci const: cec 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci interrupts: 5662306a36Sopenharmony_ci maxItems: 1 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci pd-gpios: 5962306a36Sopenharmony_ci description: GPIO connected to the power down signal. 6062306a36Sopenharmony_ci maxItems: 1 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci avdd-supply: 6362306a36Sopenharmony_ci description: A 1.8V supply that powers up the AVDD pin. 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci dvdd-supply: 6662306a36Sopenharmony_ci description: A 1.8V supply that powers up the DVDD pin. 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci pvdd-supply: 6962306a36Sopenharmony_ci description: A 1.8V supply that powers up the PVDD pin. 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci dvdd-3v-supply: 7262306a36Sopenharmony_ci description: A 3.3V supply that powers up the DVDD_3V pin. 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci bgvdd-supply: 7562306a36Sopenharmony_ci description: A 1.8V supply that powers up the BGVDD pin. 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci adi,input-depth: 7862306a36Sopenharmony_ci description: Number of bits per color component at the input. 7962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 8062306a36Sopenharmony_ci enum: [ 8, 10, 12 ] 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci adi,input-colorspace: 8362306a36Sopenharmony_ci description: Input color space. 8462306a36Sopenharmony_ci enum: [ rgb, yuv422, yuv444 ] 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci adi,input-clock: 8762306a36Sopenharmony_ci description: | 8862306a36Sopenharmony_ci Input clock type. 8962306a36Sopenharmony_ci "1x": one clock cycle per pixel 9062306a36Sopenharmony_ci "2x": two clock cycles per pixel 9162306a36Sopenharmony_ci "dd": one clock cycle per pixel, data driven on both edges 9262306a36Sopenharmony_ci enum: [ 1x, 2x, dd ] 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci adi,clock-delay: 9562306a36Sopenharmony_ci description: 9662306a36Sopenharmony_ci Video data clock delay relative to the pixel clock, in ps 9762306a36Sopenharmony_ci (-1200ps .. 1600 ps). 9862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 9962306a36Sopenharmony_ci default: 0 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci adi,embedded-sync: 10262306a36Sopenharmony_ci description: 10362306a36Sopenharmony_ci If defined, the input uses synchronization signals embedded in the 10462306a36Sopenharmony_ci data stream (similar to BT.656). 10562306a36Sopenharmony_ci type: boolean 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci adi,input-style: 10862306a36Sopenharmony_ci description: 10962306a36Sopenharmony_ci Input components arrangement variant as listed in the input 11062306a36Sopenharmony_ci format tables in the datasheet. 11162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 11262306a36Sopenharmony_ci enum: [ 1, 2, 3 ] 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci adi,input-justification: 11562306a36Sopenharmony_ci description: Input bit justification. 11662306a36Sopenharmony_ci enum: [ left, evenly, right ] 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci ports: 11962306a36Sopenharmony_ci description: 12062306a36Sopenharmony_ci The ADV7511(W)/13 has two video ports and one audio port. 12162306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/ports 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci properties: 12462306a36Sopenharmony_ci port@0: 12562306a36Sopenharmony_ci description: Video port for the RGB or YUV input. 12662306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci port@1: 12962306a36Sopenharmony_ci description: Video port for the HDMI output. 13062306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci port@2: 13362306a36Sopenharmony_ci description: Audio port for the HDMI output. 13462306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci# adi,input-colorspace and adi,input-clock are required except in 13762306a36Sopenharmony_ci# "rgb 1x" and "yuv444 1x" modes, in which case they must not be 13862306a36Sopenharmony_ci# specified. 13962306a36Sopenharmony_ciif: 14062306a36Sopenharmony_ci not: 14162306a36Sopenharmony_ci properties: 14262306a36Sopenharmony_ci adi,input-colorspace: 14362306a36Sopenharmony_ci contains: 14462306a36Sopenharmony_ci enum: [ rgb, yuv444 ] 14562306a36Sopenharmony_ci adi,input-clock: 14662306a36Sopenharmony_ci contains: 14762306a36Sopenharmony_ci const: 1x 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_cithen: 15062306a36Sopenharmony_ci required: 15162306a36Sopenharmony_ci - adi,input-style 15262306a36Sopenharmony_ci - adi,input-justification 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_cielse: 15562306a36Sopenharmony_ci properties: 15662306a36Sopenharmony_ci adi,input-style: false 15762306a36Sopenharmony_ci adi,input-justification: false 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_cirequired: 16162306a36Sopenharmony_ci - compatible 16262306a36Sopenharmony_ci - reg 16362306a36Sopenharmony_ci - ports 16462306a36Sopenharmony_ci - adi,input-depth 16562306a36Sopenharmony_ci - adi,input-colorspace 16662306a36Sopenharmony_ci - adi,input-clock 16762306a36Sopenharmony_ci - avdd-supply 16862306a36Sopenharmony_ci - dvdd-supply 16962306a36Sopenharmony_ci - pvdd-supply 17062306a36Sopenharmony_ci - dvdd-3v-supply 17162306a36Sopenharmony_ci - bgvdd-supply 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ciadditionalProperties: false 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ciexamples: 17662306a36Sopenharmony_ci - | 17762306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci i2c@e6500000 { 18062306a36Sopenharmony_ci #address-cells = <1>; 18162306a36Sopenharmony_ci #size-cells = <0>; 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci reg = <0 0xe6500000>; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci adv7511w: hdmi@39 { 18662306a36Sopenharmony_ci compatible = "adi,adv7511w"; 18762306a36Sopenharmony_ci /* 18862306a36Sopenharmony_ci * The EDID page will be accessible on address 0x66 on the I2C 18962306a36Sopenharmony_ci * bus. All other maps continue to use their default addresses. 19062306a36Sopenharmony_ci */ 19162306a36Sopenharmony_ci reg = <0x39>, <0x66>; 19262306a36Sopenharmony_ci reg-names = "main", "edid"; 19362306a36Sopenharmony_ci interrupt-parent = <&gpio3>; 19462306a36Sopenharmony_ci interrupts = <29 IRQ_TYPE_EDGE_FALLING>; 19562306a36Sopenharmony_ci clocks = <&cec_clock>; 19662306a36Sopenharmony_ci clock-names = "cec"; 19762306a36Sopenharmony_ci avdd-supply = <&v1v8>; 19862306a36Sopenharmony_ci dvdd-supply = <&v1v8>; 19962306a36Sopenharmony_ci pvdd-supply = <&v1v8>; 20062306a36Sopenharmony_ci dvdd-3v-supply = <&v3v3>; 20162306a36Sopenharmony_ci bgvdd-supply = <&v1v8>; 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ci adi,input-depth = <8>; 20462306a36Sopenharmony_ci adi,input-colorspace = "yuv422"; 20562306a36Sopenharmony_ci adi,input-clock = "1x"; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci adi,input-style = <3>; 20862306a36Sopenharmony_ci adi,input-justification = "right"; 20962306a36Sopenharmony_ci ports { 21062306a36Sopenharmony_ci #address-cells = <1>; 21162306a36Sopenharmony_ci #size-cells = <0>; 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci port@0 { 21462306a36Sopenharmony_ci reg = <0>; 21562306a36Sopenharmony_ci adv7511w_in: endpoint { 21662306a36Sopenharmony_ci remote-endpoint = <&dpi_out>; 21762306a36Sopenharmony_ci }; 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci port@1 { 22162306a36Sopenharmony_ci reg = <1>; 22262306a36Sopenharmony_ci adv7511_out: endpoint { 22362306a36Sopenharmony_ci remote-endpoint = <&hdmi_connector_in>; 22462306a36Sopenharmony_ci }; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci port@2 { 22862306a36Sopenharmony_ci reg = <2>; 22962306a36Sopenharmony_ci codec_endpoint: endpoint { 23062306a36Sopenharmony_ci remote-endpoint = <&i2s0_cpu_endpoint>; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci }; 23462306a36Sopenharmony_ci }; 23562306a36Sopenharmony_ci }; 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ci... 238