xref: /freebsd/sys/contrib/device-tree/Bindings/display/bridge/adi,adv7511.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
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