1cfe34bb7SRicardo Cañuelo# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2cfe34bb7SRicardo Cañuelo%YAML 1.2 3cfe34bb7SRicardo Cañuelo--- 4cfe34bb7SRicardo Cañuelo$id: http://devicetree.org/schemas/display/bridge/adi,adv7533.yaml# 5cfe34bb7SRicardo Cañuelo$schema: http://devicetree.org/meta-schemas/core.yaml# 6cfe34bb7SRicardo Cañuelo 7cfe34bb7SRicardo Cañuelotitle: Analog Devices ADV7533/35 HDMI Encoders 8cfe34bb7SRicardo Cañuelo 9cfe34bb7SRicardo Cañuelomaintainers: 10cfe34bb7SRicardo Cañuelo - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 11cfe34bb7SRicardo Cañuelo 12cfe34bb7SRicardo Cañuelodescription: | 13cfe34bb7SRicardo Cañuelo The ADV7533 and ADV7535 are HDMI audio and video transmitters 14cfe34bb7SRicardo Cañuelo compatible with HDMI 1.4 and DVI 1.0. They support color space 15cfe34bb7SRicardo Cañuelo conversion, S/PDIF, CEC and HDCP. The transmitter input is MIPI DSI. 16cfe34bb7SRicardo Cañuelo 17cfe34bb7SRicardo Cañueloproperties: 18cfe34bb7SRicardo Cañuelo compatible: 19cfe34bb7SRicardo Cañuelo enum: 20cfe34bb7SRicardo Cañuelo - adi,adv7533 21cfe34bb7SRicardo Cañuelo - adi,adv7535 22cfe34bb7SRicardo Cañuelo 23cfe34bb7SRicardo Cañuelo reg: 24cfe34bb7SRicardo Cañuelo description: | 25cfe34bb7SRicardo Cañuelo I2C slave addresses. 26cfe34bb7SRicardo Cañuelo 27cfe34bb7SRicardo Cañuelo The ADV7533/35 internal registers are split into four pages 28cfe34bb7SRicardo Cañuelo exposed through different I2C addresses, creating four register 29cfe34bb7SRicardo Cañuelo maps. Each map has it own I2C address and acts as a standard slave 30cfe34bb7SRicardo Cañuelo device on the I2C bus. The main address is mandatory, others are 31cfe34bb7SRicardo Cañuelo optional and revert to defaults if not specified. 32cfe34bb7SRicardo Cañuelo minItems: 1 33cfe34bb7SRicardo Cañuelo maxItems: 4 34cfe34bb7SRicardo Cañuelo 35cfe34bb7SRicardo Cañuelo reg-names: 36cfe34bb7SRicardo Cañuelo description: 37cfe34bb7SRicardo Cañuelo Names of maps with programmable addresses. It can contain any map 38cfe34bb7SRicardo Cañuelo needing a non-default address. 39cfe34bb7SRicardo Cañuelo minItems: 1 40cfe34bb7SRicardo Cañuelo items: 41cfe34bb7SRicardo Cañuelo - const: main 42cfe34bb7SRicardo Cañuelo - const: edid 43cfe34bb7SRicardo Cañuelo - const: cec 44cfe34bb7SRicardo Cañuelo - const: packet 45cfe34bb7SRicardo Cañuelo 46cfe34bb7SRicardo Cañuelo clocks: 47cfe34bb7SRicardo Cañuelo description: Reference to the CEC clock. 48cfe34bb7SRicardo Cañuelo maxItems: 1 49cfe34bb7SRicardo Cañuelo 50cfe34bb7SRicardo Cañuelo clock-names: 51cfe34bb7SRicardo Cañuelo const: cec 52cfe34bb7SRicardo Cañuelo 53cfe34bb7SRicardo Cañuelo interrupts: 54cfe34bb7SRicardo Cañuelo maxItems: 1 55cfe34bb7SRicardo Cañuelo 56cfe34bb7SRicardo Cañuelo pd-gpios: 57cfe34bb7SRicardo Cañuelo description: GPIO connected to the power down signal. 58cfe34bb7SRicardo Cañuelo maxItems: 1 59cfe34bb7SRicardo Cañuelo 60cfe34bb7SRicardo Cañuelo avdd-supply: 61cfe34bb7SRicardo Cañuelo description: A 1.8V supply that powers up the AVDD pin. 62cfe34bb7SRicardo Cañuelo 63cfe34bb7SRicardo Cañuelo dvdd-supply: 64cfe34bb7SRicardo Cañuelo description: A 1.8V supply that powers up the DVDD pin. 65cfe34bb7SRicardo Cañuelo 66cfe34bb7SRicardo Cañuelo pvdd-supply: 67cfe34bb7SRicardo Cañuelo description: A 1.8V supply that powers up the PVDD pin. 68cfe34bb7SRicardo Cañuelo 69cfe34bb7SRicardo Cañuelo a2vdd-supply: 70cfe34bb7SRicardo Cañuelo description: A 1.8V supply that powers up the A2VDD pin. 71cfe34bb7SRicardo Cañuelo 72cfe34bb7SRicardo Cañuelo v3p3-supply: 73cfe34bb7SRicardo Cañuelo description: A 3.3V supply that powers up the V3P3 pin. 74cfe34bb7SRicardo Cañuelo 75cfe34bb7SRicardo Cañuelo v1p2-supply: 76cfe34bb7SRicardo Cañuelo description: 77cfe34bb7SRicardo Cañuelo A supply that powers up the V1P2 pin. It can be either 1.2V 78cfe34bb7SRicardo Cañuelo or 1.8V for ADV7533 but only 1.8V for ADV7535. 79cfe34bb7SRicardo Cañuelo 80cfe34bb7SRicardo Cañuelo adi,disable-timing-generator: 81cfe34bb7SRicardo Cañuelo description: 82cfe34bb7SRicardo Cañuelo Disables the internal timing generator. The chip will rely on the 83cfe34bb7SRicardo Cañuelo sync signals in the DSI data lanes, rather than generating its own 84cfe34bb7SRicardo Cañuelo timings for HDMI output. 85cfe34bb7SRicardo Cañuelo type: boolean 86cfe34bb7SRicardo Cañuelo 87cfe34bb7SRicardo Cañuelo adi,dsi-lanes: 88cfe34bb7SRicardo Cañuelo description: Number of DSI data lanes connected to the DSI host. 89cfe34bb7SRicardo Cañuelo $ref: /schemas/types.yaml#/definitions/uint32 90cfe34bb7SRicardo Cañuelo enum: [ 1, 2, 3, 4 ] 91cfe34bb7SRicardo Cañuelo 92cfe34bb7SRicardo Cañuelo ports: 93cfe34bb7SRicardo Cañuelo description: 94*b737da13SRob Herring The ADV7533/35 has two video ports and one audio port. 95*b737da13SRob Herring $ref: /schemas/graph.yaml#/properties/ports 96*b737da13SRob Herring 97cfe34bb7SRicardo Cañuelo properties: 98cfe34bb7SRicardo Cañuelo port@0: 99cfe34bb7SRicardo Cañuelo description: 100cfe34bb7SRicardo Cañuelo Video port for the DSI input. The remote endpoint phandle 101cfe34bb7SRicardo Cañuelo should be a reference to a valid mipi_dsi_host_device. 102*b737da13SRob Herring $ref: /schemas/graph.yaml#/properties/port 103cfe34bb7SRicardo Cañuelo 104cfe34bb7SRicardo Cañuelo port@1: 105cfe34bb7SRicardo Cañuelo description: Video port for the HDMI output. 106*b737da13SRob Herring $ref: /schemas/graph.yaml#/properties/port 107cfe34bb7SRicardo Cañuelo 108cfe34bb7SRicardo Cañuelo port@2: 109cfe34bb7SRicardo Cañuelo description: Audio port for the HDMI output. 110*b737da13SRob Herring $ref: /schemas/graph.yaml#/properties/port 111cfe34bb7SRicardo Cañuelo 112cfe34bb7SRicardo Cañuelorequired: 113cfe34bb7SRicardo Cañuelo - compatible 114cfe34bb7SRicardo Cañuelo - reg 115cfe34bb7SRicardo Cañuelo - ports 116cfe34bb7SRicardo Cañuelo - adi,dsi-lanes 117cfe34bb7SRicardo Cañuelo - avdd-supply 118cfe34bb7SRicardo Cañuelo - dvdd-supply 119cfe34bb7SRicardo Cañuelo - pvdd-supply 120cfe34bb7SRicardo Cañuelo - a2vdd-supply 121cfe34bb7SRicardo Cañuelo - v3p3-supply 122cfe34bb7SRicardo Cañuelo 123cfe34bb7SRicardo CañueloadditionalProperties: false 124cfe34bb7SRicardo Cañuelo 125cfe34bb7SRicardo Cañueloexamples: 126cfe34bb7SRicardo Cañuelo - | 127cfe34bb7SRicardo Cañuelo #include <dt-bindings/interrupt-controller/irq.h> 128cfe34bb7SRicardo Cañuelo 129cfe34bb7SRicardo Cañuelo i2c@e6500000 { 130cfe34bb7SRicardo Cañuelo #address-cells = <1>; 131cfe34bb7SRicardo Cañuelo #size-cells = <0>; 132cfe34bb7SRicardo Cañuelo 133cfe34bb7SRicardo Cañuelo reg = <0 0xe6500000>; 134cfe34bb7SRicardo Cañuelo 135cfe34bb7SRicardo Cañuelo adv7533: hdmi@39 { 136cfe34bb7SRicardo Cañuelo compatible = "adi,adv7533"; 137cfe34bb7SRicardo Cañuelo /* 138cfe34bb7SRicardo Cañuelo * The EDID page will be accessible on address 0x66 on the I2C 139cfe34bb7SRicardo Cañuelo * bus. All other maps continue to use their default addresses. 140cfe34bb7SRicardo Cañuelo */ 141cfe34bb7SRicardo Cañuelo reg = <0x39>, <0x66>; 142cfe34bb7SRicardo Cañuelo reg-names = "main", "edid"; 143cfe34bb7SRicardo Cañuelo interrupt-parent = <&gpio3>; 144cfe34bb7SRicardo Cañuelo interrupts = <29 IRQ_TYPE_EDGE_FALLING>; 145cfe34bb7SRicardo Cañuelo clocks = <&cec_clock>; 146cfe34bb7SRicardo Cañuelo clock-names = "cec"; 147cfe34bb7SRicardo Cañuelo adi,dsi-lanes = <4>; 148cfe34bb7SRicardo Cañuelo avdd-supply = <&v1v8>; 149cfe34bb7SRicardo Cañuelo dvdd-supply = <&v1v8>; 150cfe34bb7SRicardo Cañuelo pvdd-supply = <&v1v8>; 151cfe34bb7SRicardo Cañuelo a2vdd-supply = <&v1v8>; 152cfe34bb7SRicardo Cañuelo v3p3-supply = <&v3v3>; 153cfe34bb7SRicardo Cañuelo 154cfe34bb7SRicardo Cañuelo ports { 155cfe34bb7SRicardo Cañuelo #address-cells = <1>; 156cfe34bb7SRicardo Cañuelo #size-cells = <0>; 157cfe34bb7SRicardo Cañuelo 158cfe34bb7SRicardo Cañuelo port@0 { 159cfe34bb7SRicardo Cañuelo reg = <0>; 160cfe34bb7SRicardo Cañuelo adv7533_in: endpoint { 161cfe34bb7SRicardo Cañuelo remote-endpoint = <&dsi_out>; 162cfe34bb7SRicardo Cañuelo }; 163cfe34bb7SRicardo Cañuelo }; 164cfe34bb7SRicardo Cañuelo 165cfe34bb7SRicardo Cañuelo port@1 { 166cfe34bb7SRicardo Cañuelo reg = <1>; 167cfe34bb7SRicardo Cañuelo adv7533_out: endpoint { 168cfe34bb7SRicardo Cañuelo remote-endpoint = <&hdmi_connector_in>; 169cfe34bb7SRicardo Cañuelo }; 170cfe34bb7SRicardo Cañuelo }; 171cfe34bb7SRicardo Cañuelo 172cfe34bb7SRicardo Cañuelo port@2 { 173cfe34bb7SRicardo Cañuelo reg = <2>; 174cfe34bb7SRicardo Cañuelo codec_endpoint: endpoint { 175cfe34bb7SRicardo Cañuelo remote-endpoint = <&i2s0_cpu_endpoint>; 176cfe34bb7SRicardo Cañuelo }; 177cfe34bb7SRicardo Cañuelo }; 178cfe34bb7SRicardo Cañuelo }; 179cfe34bb7SRicardo Cañuelo }; 180cfe34bb7SRicardo Cañuelo }; 181cfe34bb7SRicardo Cañuelo 182cfe34bb7SRicardo Cañuelo... 183