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,adv7533.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Analog Devices ADV7533/35 HDMI Encoders 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci The ADV7533 and ADV7535 are HDMI audio and video transmitters 1462306a36Sopenharmony_ci compatible with HDMI 1.4 and DVI 1.0. They support color space 1562306a36Sopenharmony_ci conversion, S/PDIF, CEC and HDCP. The transmitter input is MIPI DSI. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciproperties: 1862306a36Sopenharmony_ci compatible: 1962306a36Sopenharmony_ci enum: 2062306a36Sopenharmony_ci - adi,adv7533 2162306a36Sopenharmony_ci - adi,adv7535 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci reg: 2462306a36Sopenharmony_ci description: | 2562306a36Sopenharmony_ci I2C slave addresses. 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci The ADV7533/35 internal registers are split into four pages 2862306a36Sopenharmony_ci exposed through different I2C addresses, creating four register 2962306a36Sopenharmony_ci maps. Each map has it own I2C address and acts as a standard slave 3062306a36Sopenharmony_ci device on the I2C bus. The main address is mandatory, others are 3162306a36Sopenharmony_ci optional and revert to defaults if not specified. 3262306a36Sopenharmony_ci minItems: 1 3362306a36Sopenharmony_ci maxItems: 4 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci reg-names: 3662306a36Sopenharmony_ci description: 3762306a36Sopenharmony_ci Names of maps with programmable addresses. It can contain any map 3862306a36Sopenharmony_ci needing a non-default address. 3962306a36Sopenharmony_ci minItems: 1 4062306a36Sopenharmony_ci items: 4162306a36Sopenharmony_ci - const: main 4262306a36Sopenharmony_ci - const: edid 4362306a36Sopenharmony_ci - const: cec 4462306a36Sopenharmony_ci - const: packet 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci clocks: 4762306a36Sopenharmony_ci description: Reference to the CEC clock. 4862306a36Sopenharmony_ci maxItems: 1 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci clock-names: 5162306a36Sopenharmony_ci const: cec 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci interrupts: 5462306a36Sopenharmony_ci maxItems: 1 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci pd-gpios: 5762306a36Sopenharmony_ci description: GPIO connected to the power down signal. 5862306a36Sopenharmony_ci maxItems: 1 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci avdd-supply: 6162306a36Sopenharmony_ci description: A 1.8V supply that powers up the AVDD pin. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci dvdd-supply: 6462306a36Sopenharmony_ci description: A 1.8V supply that powers up the DVDD pin. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci pvdd-supply: 6762306a36Sopenharmony_ci description: A 1.8V supply that powers up the PVDD pin. 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci a2vdd-supply: 7062306a36Sopenharmony_ci description: A 1.8V supply that powers up the A2VDD pin. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci v3p3-supply: 7362306a36Sopenharmony_ci description: A 3.3V supply that powers up the V3P3 pin. 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci v1p2-supply: 7662306a36Sopenharmony_ci description: 7762306a36Sopenharmony_ci A supply that powers up the V1P2 pin. It can be either 1.2V 7862306a36Sopenharmony_ci or 1.8V for ADV7533 but only 1.8V for ADV7535. 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci adi,disable-timing-generator: 8162306a36Sopenharmony_ci description: 8262306a36Sopenharmony_ci Disables the internal timing generator. The chip will rely on the 8362306a36Sopenharmony_ci sync signals in the DSI data lanes, rather than generating its own 8462306a36Sopenharmony_ci timings for HDMI output. 8562306a36Sopenharmony_ci type: boolean 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci adi,dsi-lanes: 8862306a36Sopenharmony_ci description: Number of DSI data lanes connected to the DSI host. 8962306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 9062306a36Sopenharmony_ci enum: [ 1, 2, 3, 4 ] 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci ports: 9362306a36Sopenharmony_ci description: 9462306a36Sopenharmony_ci The ADV7533/35 has two video ports and one audio port. 9562306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/ports 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci properties: 9862306a36Sopenharmony_ci port@0: 9962306a36Sopenharmony_ci description: 10062306a36Sopenharmony_ci Video port for the DSI input. The remote endpoint phandle 10162306a36Sopenharmony_ci should be a reference to a valid mipi_dsi_host_device. 10262306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci port@1: 10562306a36Sopenharmony_ci description: Video port for the HDMI output. 10662306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci port@2: 10962306a36Sopenharmony_ci description: Audio port for the HDMI output. 11062306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/properties/port 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_cirequired: 11362306a36Sopenharmony_ci - compatible 11462306a36Sopenharmony_ci - reg 11562306a36Sopenharmony_ci - ports 11662306a36Sopenharmony_ci - adi,dsi-lanes 11762306a36Sopenharmony_ci - avdd-supply 11862306a36Sopenharmony_ci - dvdd-supply 11962306a36Sopenharmony_ci - pvdd-supply 12062306a36Sopenharmony_ci - a2vdd-supply 12162306a36Sopenharmony_ci - v3p3-supply 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ciadditionalProperties: false 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ciexamples: 12662306a36Sopenharmony_ci - | 12762306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci i2c@e6500000 { 13062306a36Sopenharmony_ci #address-cells = <1>; 13162306a36Sopenharmony_ci #size-cells = <0>; 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci reg = <0 0xe6500000>; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci adv7533: hdmi@39 { 13662306a36Sopenharmony_ci compatible = "adi,adv7533"; 13762306a36Sopenharmony_ci /* 13862306a36Sopenharmony_ci * The EDID page will be accessible on address 0x66 on the I2C 13962306a36Sopenharmony_ci * bus. All other maps continue to use their default addresses. 14062306a36Sopenharmony_ci */ 14162306a36Sopenharmony_ci reg = <0x39>, <0x66>; 14262306a36Sopenharmony_ci reg-names = "main", "edid"; 14362306a36Sopenharmony_ci interrupt-parent = <&gpio3>; 14462306a36Sopenharmony_ci interrupts = <29 IRQ_TYPE_EDGE_FALLING>; 14562306a36Sopenharmony_ci clocks = <&cec_clock>; 14662306a36Sopenharmony_ci clock-names = "cec"; 14762306a36Sopenharmony_ci adi,dsi-lanes = <4>; 14862306a36Sopenharmony_ci avdd-supply = <&v1v8>; 14962306a36Sopenharmony_ci dvdd-supply = <&v1v8>; 15062306a36Sopenharmony_ci pvdd-supply = <&v1v8>; 15162306a36Sopenharmony_ci a2vdd-supply = <&v1v8>; 15262306a36Sopenharmony_ci v3p3-supply = <&v3v3>; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci ports { 15562306a36Sopenharmony_ci #address-cells = <1>; 15662306a36Sopenharmony_ci #size-cells = <0>; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci port@0 { 15962306a36Sopenharmony_ci reg = <0>; 16062306a36Sopenharmony_ci adv7533_in: endpoint { 16162306a36Sopenharmony_ci remote-endpoint = <&dsi_out>; 16262306a36Sopenharmony_ci }; 16362306a36Sopenharmony_ci }; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci port@1 { 16662306a36Sopenharmony_ci reg = <1>; 16762306a36Sopenharmony_ci adv7533_out: endpoint { 16862306a36Sopenharmony_ci remote-endpoint = <&hdmi_connector_in>; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci }; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci port@2 { 17362306a36Sopenharmony_ci reg = <2>; 17462306a36Sopenharmony_ci codec_endpoint: endpoint { 17562306a36Sopenharmony_ci remote-endpoint = <&i2s0_cpu_endpoint>; 17662306a36Sopenharmony_ci }; 17762306a36Sopenharmony_ci }; 17862306a36Sopenharmony_ci }; 17962306a36Sopenharmony_ci }; 18062306a36Sopenharmony_ci }; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci... 183