1*c66ec88fSEmmanuel VadotAnalog Devices ADV7511(W)/13/33/35 HDMI Encoders 2*c66ec88fSEmmanuel Vadot------------------------------------------------ 3*c66ec88fSEmmanuel Vadot 4*c66ec88fSEmmanuel VadotThe ADV7511, ADV7511W, ADV7513, ADV7533 and ADV7535 are HDMI audio and video 5*c66ec88fSEmmanuel Vadottransmitters compatible with HDMI 1.4 and DVI 1.0. They support color space 6*c66ec88fSEmmanuel Vadotconversion, S/PDIF, CEC and HDCP. ADV7533/5 supports the DSI interface for input 7*c66ec88fSEmmanuel Vadotpixels, while the others support RGB interface. 8*c66ec88fSEmmanuel Vadot 9*c66ec88fSEmmanuel VadotRequired properties: 10*c66ec88fSEmmanuel Vadot 11*c66ec88fSEmmanuel Vadot- compatible: Should be one of: 12*c66ec88fSEmmanuel Vadot "adi,adv7511" 13*c66ec88fSEmmanuel Vadot "adi,adv7511w" 14*c66ec88fSEmmanuel Vadot "adi,adv7513" 15*c66ec88fSEmmanuel Vadot "adi,adv7533" 16*c66ec88fSEmmanuel Vadot "adi,adv7535" 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel Vadot- reg: I2C slave addresses 19*c66ec88fSEmmanuel Vadot The ADV7511 internal registers are split into four pages exposed through 20*c66ec88fSEmmanuel Vadot different I2C addresses, creating four register maps. Each map has it own 21*c66ec88fSEmmanuel Vadot I2C address and acts as a standard slave device on the I2C bus. The main 22*c66ec88fSEmmanuel Vadot address is mandatory, others are optional and revert to defaults if not 23*c66ec88fSEmmanuel Vadot specified. 24*c66ec88fSEmmanuel Vadot 25*c66ec88fSEmmanuel Vadot 26*c66ec88fSEmmanuel VadotThe ADV7511 supports a large number of input data formats that differ by their 27*c66ec88fSEmmanuel Vadotcolor depth, color format, clock mode, bit justification and random 28*c66ec88fSEmmanuel Vadotarrangement of components on the data bus. The combination of the following 29*c66ec88fSEmmanuel Vadotproperties describe the input and map directly to the video input tables of the 30*c66ec88fSEmmanuel VadotADV7511 datasheet that document all the supported combinations. 31*c66ec88fSEmmanuel Vadot 32*c66ec88fSEmmanuel Vadot- adi,input-depth: Number of bits per color component at the input (8, 10 or 33*c66ec88fSEmmanuel Vadot 12). 34*c66ec88fSEmmanuel Vadot- adi,input-colorspace: The input color space, one of "rgb", "yuv422" or 35*c66ec88fSEmmanuel Vadot "yuv444". 36*c66ec88fSEmmanuel Vadot- adi,input-clock: The input clock type, one of "1x" (one clock cycle per 37*c66ec88fSEmmanuel Vadot pixel), "2x" (two clock cycles per pixel), "ddr" (one clock cycle per pixel, 38*c66ec88fSEmmanuel Vadot data driven on both edges). 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel VadotThe following input format properties are required except in "rgb 1x" and 41*c66ec88fSEmmanuel Vadot"yuv444 1x" modes, in which case they must not be specified. 42*c66ec88fSEmmanuel Vadot 43*c66ec88fSEmmanuel Vadot- adi,input-style: The input components arrangement variant (1, 2 or 3), as 44*c66ec88fSEmmanuel Vadot listed in the input format tables in the datasheet. 45*c66ec88fSEmmanuel Vadot- adi,input-justification: The input bit justification ("left", "evenly", 46*c66ec88fSEmmanuel Vadot "right"). 47*c66ec88fSEmmanuel Vadot 48*c66ec88fSEmmanuel Vadot- avdd-supply: A 1.8V supply that powers up the AVDD pin on the chip. 49*c66ec88fSEmmanuel Vadot- dvdd-supply: A 1.8V supply that powers up the DVDD pin on the chip. 50*c66ec88fSEmmanuel Vadot- pvdd-supply: A 1.8V supply that powers up the PVDD pin on the chip. 51*c66ec88fSEmmanuel Vadot- dvdd-3v-supply: A 3.3V supply that powers up the pin called DVDD_3V 52*c66ec88fSEmmanuel Vadot on the chip. 53*c66ec88fSEmmanuel Vadot- bgvdd-supply: A 1.8V supply that powers up the BGVDD pin. This is 54*c66ec88fSEmmanuel Vadot needed only for ADV7511. 55*c66ec88fSEmmanuel Vadot 56*c66ec88fSEmmanuel VadotThe following properties are required for ADV7533 and ADV7535: 57*c66ec88fSEmmanuel Vadot 58*c66ec88fSEmmanuel Vadot- adi,dsi-lanes: Number of DSI data lanes connected to the DSI host. It should 59*c66ec88fSEmmanuel Vadot be one of 1, 2, 3 or 4. 60*c66ec88fSEmmanuel Vadot- a2vdd-supply: 1.8V supply that powers up the A2VDD pin on the chip. 61*c66ec88fSEmmanuel Vadot- v3p3-supply: A 3.3V supply that powers up the V3P3 pin on the chip. 62*c66ec88fSEmmanuel Vadot- v1p2-supply: A supply that powers up the V1P2 pin on the chip. It can be 63*c66ec88fSEmmanuel Vadot either 1.2V or 1.8V for ADV7533 but only 1.8V for ADV7535. 64*c66ec88fSEmmanuel Vadot 65*c66ec88fSEmmanuel VadotOptional properties: 66*c66ec88fSEmmanuel Vadot 67*c66ec88fSEmmanuel Vadot- interrupts: Specifier for the ADV7511 interrupt 68*c66ec88fSEmmanuel Vadot- pd-gpios: Specifier for the GPIO connected to the power down signal 69*c66ec88fSEmmanuel Vadot 70*c66ec88fSEmmanuel Vadot- adi,clock-delay: Video data clock delay relative to the pixel clock, in ps 71*c66ec88fSEmmanuel Vadot (-1200 ps .. 1600 ps). Defaults to no delay. 72*c66ec88fSEmmanuel Vadot- adi,embedded-sync: The input uses synchronization signals embedded in the 73*c66ec88fSEmmanuel Vadot data stream (similar to BT.656). Defaults to separate H/V synchronization 74*c66ec88fSEmmanuel Vadot signals. 75*c66ec88fSEmmanuel Vadot- adi,disable-timing-generator: Only for ADV7533 and ADV7535. Disables the 76*c66ec88fSEmmanuel Vadot internal timing generator. The chip will rely on the sync signals in the 77*c66ec88fSEmmanuel Vadot DSI data lanes, rather than generate its own timings for HDMI output. 78*c66ec88fSEmmanuel Vadot- clocks: from common clock binding: reference to the CEC clock. 79*c66ec88fSEmmanuel Vadot- clock-names: from common clock binding: must be "cec". 80*c66ec88fSEmmanuel Vadot- reg-names : Names of maps with programmable addresses. 81*c66ec88fSEmmanuel Vadot It can contain any map needing a non-default address. 82*c66ec88fSEmmanuel Vadot Possible maps names are : "main", "edid", "cec", "packet" 83*c66ec88fSEmmanuel Vadot 84*c66ec88fSEmmanuel VadotRequired nodes: 85*c66ec88fSEmmanuel Vadot 86*c66ec88fSEmmanuel VadotThe ADV7511 has two video ports. Their connections are modelled using the OF 87*c66ec88fSEmmanuel Vadotgraph bindings specified in Documentation/devicetree/bindings/graph.txt. 88*c66ec88fSEmmanuel Vadot 89*c66ec88fSEmmanuel Vadot- Video port 0 for the RGB, YUV or DSI input. In the case of ADV7533/5, the 90*c66ec88fSEmmanuel Vadot remote endpoint phandle should be a reference to a valid mipi_dsi_host device 91*c66ec88fSEmmanuel Vadot node. 92*c66ec88fSEmmanuel Vadot- Video port 1 for the HDMI output 93*c66ec88fSEmmanuel Vadot- Audio port 2 for the HDMI audio input 94*c66ec88fSEmmanuel Vadot 95*c66ec88fSEmmanuel Vadot 96*c66ec88fSEmmanuel VadotExample 97*c66ec88fSEmmanuel Vadot------- 98*c66ec88fSEmmanuel Vadot 99*c66ec88fSEmmanuel Vadot adv7511w: hdmi@39 { 100*c66ec88fSEmmanuel Vadot compatible = "adi,adv7511w"; 101*c66ec88fSEmmanuel Vadot /* 102*c66ec88fSEmmanuel Vadot * The EDID page will be accessible on address 0x66 on the I2C 103*c66ec88fSEmmanuel Vadot * bus. All other maps continue to use their default addresses. 104*c66ec88fSEmmanuel Vadot */ 105*c66ec88fSEmmanuel Vadot reg = <0x39>, <0x66>; 106*c66ec88fSEmmanuel Vadot reg-names = "main", "edid"; 107*c66ec88fSEmmanuel Vadot interrupt-parent = <&gpio3>; 108*c66ec88fSEmmanuel Vadot interrupts = <29 IRQ_TYPE_EDGE_FALLING>; 109*c66ec88fSEmmanuel Vadot clocks = <&cec_clock>; 110*c66ec88fSEmmanuel Vadot clock-names = "cec"; 111*c66ec88fSEmmanuel Vadot 112*c66ec88fSEmmanuel Vadot adi,input-depth = <8>; 113*c66ec88fSEmmanuel Vadot adi,input-colorspace = "rgb"; 114*c66ec88fSEmmanuel Vadot adi,input-clock = "1x"; 115*c66ec88fSEmmanuel Vadot adi,input-style = <1>; 116*c66ec88fSEmmanuel Vadot adi,input-justification = "evenly"; 117*c66ec88fSEmmanuel Vadot 118*c66ec88fSEmmanuel Vadot ports { 119*c66ec88fSEmmanuel Vadot #address-cells = <1>; 120*c66ec88fSEmmanuel Vadot #size-cells = <0>; 121*c66ec88fSEmmanuel Vadot 122*c66ec88fSEmmanuel Vadot port@0 { 123*c66ec88fSEmmanuel Vadot reg = <0>; 124*c66ec88fSEmmanuel Vadot adv7511w_in: endpoint { 125*c66ec88fSEmmanuel Vadot remote-endpoint = <&dpi_out>; 126*c66ec88fSEmmanuel Vadot }; 127*c66ec88fSEmmanuel Vadot }; 128*c66ec88fSEmmanuel Vadot 129*c66ec88fSEmmanuel Vadot port@1 { 130*c66ec88fSEmmanuel Vadot reg = <1>; 131*c66ec88fSEmmanuel Vadot adv7511_out: endpoint { 132*c66ec88fSEmmanuel Vadot remote-endpoint = <&hdmi_connector_in>; 133*c66ec88fSEmmanuel Vadot }; 134*c66ec88fSEmmanuel Vadot }; 135*c66ec88fSEmmanuel Vadot 136*c66ec88fSEmmanuel Vadot port@2 { 137*c66ec88fSEmmanuel Vadot reg = <2>; 138*c66ec88fSEmmanuel Vadot codec_endpoint: endpoint { 139*c66ec88fSEmmanuel Vadot remote-endpoint = <&i2s0_cpu_endpoint>; 140*c66ec88fSEmmanuel Vadot }; 141*c66ec88fSEmmanuel Vadot }; 142*c66ec88fSEmmanuel Vadot }; 143*c66ec88fSEmmanuel Vadot }; 144