15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 25956d97fSEmmanuel Vadot%YAML 1.2 35956d97fSEmmanuel Vadot--- 45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/display/bridge/adi,adv7511.yaml# 55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65956d97fSEmmanuel Vadot 75956d97fSEmmanuel Vadottitle: Analog Devices ADV7511/11W/13 HDMI Encoders 85956d97fSEmmanuel Vadot 95956d97fSEmmanuel Vadotmaintainers: 105956d97fSEmmanuel Vadot - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 115956d97fSEmmanuel Vadot 125956d97fSEmmanuel Vadotdescription: | 135956d97fSEmmanuel Vadot The ADV7511, ADV7511W and ADV7513 are HDMI audio and video 145956d97fSEmmanuel Vadot transmitters compatible with HDMI 1.4 and DVI 1.0. They support color 155956d97fSEmmanuel Vadot space conversion, S/PDIF, CEC and HDCP. The transmitter input is 165956d97fSEmmanuel Vadot parallel RGB or YUV data. 175956d97fSEmmanuel Vadot 185956d97fSEmmanuel Vadotproperties: 195956d97fSEmmanuel Vadot compatible: 205956d97fSEmmanuel Vadot enum: 215956d97fSEmmanuel Vadot - adi,adv7511 225956d97fSEmmanuel Vadot - adi,adv7511w 235956d97fSEmmanuel Vadot - adi,adv7513 245956d97fSEmmanuel Vadot 255956d97fSEmmanuel Vadot reg: 265956d97fSEmmanuel Vadot description: | 275956d97fSEmmanuel Vadot I2C slave addresses. 285956d97fSEmmanuel Vadot 295956d97fSEmmanuel Vadot The ADV7511/11W/13 internal registers are split into four pages 305956d97fSEmmanuel Vadot exposed through different I2C addresses, creating four register 315956d97fSEmmanuel Vadot maps. Each map has it own I2C address and acts as a standard slave 325956d97fSEmmanuel Vadot device on the I2C bus. The main address is mandatory, others are 335956d97fSEmmanuel Vadot optional and revert to defaults if not specified. 345956d97fSEmmanuel Vadot minItems: 1 355956d97fSEmmanuel Vadot maxItems: 4 365956d97fSEmmanuel Vadot 375956d97fSEmmanuel Vadot reg-names: 385956d97fSEmmanuel Vadot description: 395956d97fSEmmanuel Vadot Names of maps with programmable addresses. It can contain any map 405956d97fSEmmanuel Vadot needing a non-default address. 415956d97fSEmmanuel Vadot minItems: 1 425956d97fSEmmanuel Vadot items: 435956d97fSEmmanuel Vadot - const: main 445956d97fSEmmanuel Vadot - const: edid 455956d97fSEmmanuel Vadot - const: cec 465956d97fSEmmanuel Vadot - const: packet 475956d97fSEmmanuel Vadot 485956d97fSEmmanuel Vadot clocks: 495956d97fSEmmanuel Vadot description: Reference to the CEC clock. 505956d97fSEmmanuel Vadot maxItems: 1 515956d97fSEmmanuel Vadot 525956d97fSEmmanuel Vadot clock-names: 535956d97fSEmmanuel Vadot const: cec 545956d97fSEmmanuel Vadot 555956d97fSEmmanuel Vadot interrupts: 565956d97fSEmmanuel Vadot maxItems: 1 575956d97fSEmmanuel Vadot 585956d97fSEmmanuel Vadot pd-gpios: 595956d97fSEmmanuel Vadot description: GPIO connected to the power down signal. 605956d97fSEmmanuel Vadot maxItems: 1 615956d97fSEmmanuel Vadot 625956d97fSEmmanuel Vadot avdd-supply: 635956d97fSEmmanuel Vadot description: A 1.8V supply that powers up the AVDD pin. 645956d97fSEmmanuel Vadot 655956d97fSEmmanuel Vadot dvdd-supply: 665956d97fSEmmanuel Vadot description: A 1.8V supply that powers up the DVDD pin. 675956d97fSEmmanuel Vadot 685956d97fSEmmanuel Vadot pvdd-supply: 695956d97fSEmmanuel Vadot description: A 1.8V supply that powers up the PVDD pin. 705956d97fSEmmanuel Vadot 715956d97fSEmmanuel Vadot dvdd-3v-supply: 725956d97fSEmmanuel Vadot description: A 3.3V supply that powers up the DVDD_3V pin. 735956d97fSEmmanuel Vadot 745956d97fSEmmanuel Vadot bgvdd-supply: 755956d97fSEmmanuel Vadot description: A 1.8V supply that powers up the BGVDD pin. 765956d97fSEmmanuel Vadot 775956d97fSEmmanuel Vadot adi,input-depth: 785956d97fSEmmanuel Vadot description: Number of bits per color component at the input. 79c9ccf3a3SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 80c9ccf3a3SEmmanuel Vadot enum: [ 8, 10, 12 ] 815956d97fSEmmanuel Vadot 825956d97fSEmmanuel Vadot adi,input-colorspace: 835956d97fSEmmanuel Vadot description: Input color space. 845956d97fSEmmanuel Vadot enum: [ rgb, yuv422, yuv444 ] 855956d97fSEmmanuel Vadot 865956d97fSEmmanuel Vadot adi,input-clock: 875956d97fSEmmanuel Vadot description: | 885956d97fSEmmanuel Vadot Input clock type. 895956d97fSEmmanuel Vadot "1x": one clock cycle per pixel 905956d97fSEmmanuel Vadot "2x": two clock cycles per pixel 915956d97fSEmmanuel Vadot "dd": one clock cycle per pixel, data driven on both edges 925956d97fSEmmanuel Vadot enum: [ 1x, 2x, dd ] 935956d97fSEmmanuel Vadot 945956d97fSEmmanuel Vadot adi,clock-delay: 955956d97fSEmmanuel Vadot description: 965956d97fSEmmanuel Vadot Video data clock delay relative to the pixel clock, in ps 975956d97fSEmmanuel Vadot (-1200ps .. 1600 ps). 985956d97fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 995956d97fSEmmanuel Vadot default: 0 1005956d97fSEmmanuel Vadot 1015956d97fSEmmanuel Vadot adi,embedded-sync: 1025956d97fSEmmanuel Vadot description: 1035956d97fSEmmanuel Vadot If defined, the input uses synchronization signals embedded in the 1045956d97fSEmmanuel Vadot data stream (similar to BT.656). 1055956d97fSEmmanuel Vadot type: boolean 1065956d97fSEmmanuel Vadot 1075956d97fSEmmanuel Vadot adi,input-style: 1085956d97fSEmmanuel Vadot description: 1095956d97fSEmmanuel Vadot Input components arrangement variant as listed in the input 1105956d97fSEmmanuel Vadot format tables in the datasheet. 1115956d97fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 1125956d97fSEmmanuel Vadot enum: [ 1, 2, 3 ] 1135956d97fSEmmanuel Vadot 1145956d97fSEmmanuel Vadot adi,input-justification: 1155956d97fSEmmanuel Vadot description: Input bit justification. 1165956d97fSEmmanuel Vadot enum: [ left, evenly, right ] 1175956d97fSEmmanuel Vadot 1185956d97fSEmmanuel Vadot ports: 1195956d97fSEmmanuel Vadot description: 120*7ef62cebSEmmanuel Vadot The ADV7511(W)/13 has two video ports and one audio port. 121*7ef62cebSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 122*7ef62cebSEmmanuel Vadot 1235956d97fSEmmanuel Vadot properties: 1245956d97fSEmmanuel Vadot port@0: 1255956d97fSEmmanuel Vadot description: Video port for the RGB or YUV input. 126*7ef62cebSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 1275956d97fSEmmanuel Vadot 1285956d97fSEmmanuel Vadot port@1: 1295956d97fSEmmanuel Vadot description: Video port for the HDMI output. 130*7ef62cebSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 1315956d97fSEmmanuel Vadot 1325956d97fSEmmanuel Vadot port@2: 1335956d97fSEmmanuel Vadot description: Audio port for the HDMI output. 134*7ef62cebSEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 1355956d97fSEmmanuel Vadot 1365956d97fSEmmanuel Vadot# adi,input-colorspace and adi,input-clock are required except in 1375956d97fSEmmanuel Vadot# "rgb 1x" and "yuv444 1x" modes, in which case they must not be 1385956d97fSEmmanuel Vadot# specified. 1395956d97fSEmmanuel Vadotif: 1405956d97fSEmmanuel Vadot not: 1415956d97fSEmmanuel Vadot properties: 1425956d97fSEmmanuel Vadot adi,input-colorspace: 1435956d97fSEmmanuel Vadot contains: 1445956d97fSEmmanuel Vadot enum: [ rgb, yuv444 ] 1455956d97fSEmmanuel Vadot adi,input-clock: 1465956d97fSEmmanuel Vadot contains: 1475956d97fSEmmanuel Vadot const: 1x 1485956d97fSEmmanuel Vadot 1495956d97fSEmmanuel Vadotthen: 1505956d97fSEmmanuel Vadot required: 1515956d97fSEmmanuel Vadot - adi,input-style 1525956d97fSEmmanuel Vadot - adi,input-justification 1535956d97fSEmmanuel Vadot 1545956d97fSEmmanuel Vadotelse: 1555956d97fSEmmanuel Vadot properties: 1565956d97fSEmmanuel Vadot adi,input-style: false 1575956d97fSEmmanuel Vadot adi,input-justification: false 1585956d97fSEmmanuel Vadot 1595956d97fSEmmanuel Vadot 1605956d97fSEmmanuel Vadotrequired: 1615956d97fSEmmanuel Vadot - compatible 1625956d97fSEmmanuel Vadot - reg 1635956d97fSEmmanuel Vadot - ports 1645956d97fSEmmanuel Vadot - adi,input-depth 1655956d97fSEmmanuel Vadot - adi,input-colorspace 1665956d97fSEmmanuel Vadot - adi,input-clock 1675956d97fSEmmanuel Vadot - avdd-supply 1685956d97fSEmmanuel Vadot - dvdd-supply 1695956d97fSEmmanuel Vadot - pvdd-supply 1705956d97fSEmmanuel Vadot - dvdd-3v-supply 1715956d97fSEmmanuel Vadot - bgvdd-supply 1725956d97fSEmmanuel Vadot 1735956d97fSEmmanuel VadotadditionalProperties: false 1745956d97fSEmmanuel Vadot 1755956d97fSEmmanuel Vadotexamples: 1765956d97fSEmmanuel Vadot - | 1775956d97fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 1785956d97fSEmmanuel Vadot 1795956d97fSEmmanuel Vadot i2c@e6500000 { 1805956d97fSEmmanuel Vadot #address-cells = <1>; 1815956d97fSEmmanuel Vadot #size-cells = <0>; 1825956d97fSEmmanuel Vadot 1835956d97fSEmmanuel Vadot reg = <0 0xe6500000>; 1845956d97fSEmmanuel Vadot 1855956d97fSEmmanuel Vadot adv7511w: hdmi@39 { 1865956d97fSEmmanuel Vadot compatible = "adi,adv7511w"; 1875956d97fSEmmanuel Vadot /* 1885956d97fSEmmanuel Vadot * The EDID page will be accessible on address 0x66 on the I2C 1895956d97fSEmmanuel Vadot * bus. All other maps continue to use their default addresses. 1905956d97fSEmmanuel Vadot */ 1915956d97fSEmmanuel Vadot reg = <0x39>, <0x66>; 1925956d97fSEmmanuel Vadot reg-names = "main", "edid"; 1935956d97fSEmmanuel Vadot interrupt-parent = <&gpio3>; 1945956d97fSEmmanuel Vadot interrupts = <29 IRQ_TYPE_EDGE_FALLING>; 1955956d97fSEmmanuel Vadot clocks = <&cec_clock>; 1965956d97fSEmmanuel Vadot clock-names = "cec"; 1975956d97fSEmmanuel Vadot avdd-supply = <&v1v8>; 1985956d97fSEmmanuel Vadot dvdd-supply = <&v1v8>; 1995956d97fSEmmanuel Vadot pvdd-supply = <&v1v8>; 2005956d97fSEmmanuel Vadot dvdd-3v-supply = <&v3v3>; 2015956d97fSEmmanuel Vadot bgvdd-supply = <&v1v8>; 2025956d97fSEmmanuel Vadot 2035956d97fSEmmanuel Vadot adi,input-depth = <8>; 2045956d97fSEmmanuel Vadot adi,input-colorspace = "yuv422"; 2055956d97fSEmmanuel Vadot adi,input-clock = "1x"; 2065956d97fSEmmanuel Vadot 2075956d97fSEmmanuel Vadot adi,input-style = <3>; 2085956d97fSEmmanuel Vadot adi,input-justification = "right"; 2095956d97fSEmmanuel Vadot ports { 2105956d97fSEmmanuel Vadot #address-cells = <1>; 2115956d97fSEmmanuel Vadot #size-cells = <0>; 2125956d97fSEmmanuel Vadot 2135956d97fSEmmanuel Vadot port@0 { 2145956d97fSEmmanuel Vadot reg = <0>; 2155956d97fSEmmanuel Vadot adv7511w_in: endpoint { 2165956d97fSEmmanuel Vadot remote-endpoint = <&dpi_out>; 2175956d97fSEmmanuel Vadot }; 2185956d97fSEmmanuel Vadot }; 2195956d97fSEmmanuel Vadot 2205956d97fSEmmanuel Vadot port@1 { 2215956d97fSEmmanuel Vadot reg = <1>; 2225956d97fSEmmanuel Vadot adv7511_out: endpoint { 2235956d97fSEmmanuel Vadot remote-endpoint = <&hdmi_connector_in>; 2245956d97fSEmmanuel Vadot }; 2255956d97fSEmmanuel Vadot }; 2265956d97fSEmmanuel Vadot 2275956d97fSEmmanuel Vadot port@2 { 2285956d97fSEmmanuel Vadot reg = <2>; 2295956d97fSEmmanuel Vadot codec_endpoint: endpoint { 2305956d97fSEmmanuel Vadot remote-endpoint = <&i2s0_cpu_endpoint>; 2315956d97fSEmmanuel Vadot }; 2325956d97fSEmmanuel Vadot }; 2335956d97fSEmmanuel Vadot }; 2345956d97fSEmmanuel Vadot }; 2355956d97fSEmmanuel Vadot }; 2365956d97fSEmmanuel Vadot 2375956d97fSEmmanuel Vadot... 238