Merge tag 'modules-for-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / media / i2c / adv748x.txt
1 * Analog Devices ADV748X video decoder with HDMI receiver
2
3 The ADV7481 and ADV7482 are multi format video decoders with an integrated
4 HDMI receiver. They can output CSI-2 on two independent outputs TXA and TXB
5 from three input sources HDMI, analog and TTL.
6
7 Required Properties:
8
9   - compatible: Must contain one of the following
10     - "adi,adv7481" for the ADV7481
11     - "adi,adv7482" for the ADV7482
12
13   - reg: I2C slave address
14
15 Optional Properties:
16
17   - interrupt-names: Should specify the interrupts as "intrq1", "intrq2" and/or
18                      "intrq3". All interrupts are optional. The "intrq3" interrupt
19                      is only available on the adv7481
20   - interrupts: Specify the interrupt lines for the ADV748x
21
22 The device node must contain one 'port' child node per device input and output
23 port, in accordance with the video interface bindings defined in
24 Documentation/devicetree/bindings/media/video-interfaces.txt. The port nodes
25 are numbered as follows.
26
27           Name          Type            Port
28         ---------------------------------------
29           AIN0          sink            0
30           AIN1          sink            1
31           AIN2          sink            2
32           AIN3          sink            3
33           AIN4          sink            4
34           AIN5          sink            5
35           AIN6          sink            6
36           AIN7          sink            7
37           HDMI          sink            8
38           TTL           sink            9
39           TXA           source          10
40           TXB           source          11
41
42 The digital output port nodes must contain at least one endpoint.
43
44 Ports are optional if they are not connected to anything at the hardware level.
45
46 Example:
47
48         video-receiver@70 {
49                 compatible = "adi,adv7482";
50                 reg = <0x70>;
51
52                 #address-cells = <1>;
53                 #size-cells = <0>;
54
55                 interrupt-parent = <&gpio6>;
56                 interrupt-names = "intrq1", "intrq2";
57                 interrupts = <30 IRQ_TYPE_LEVEL_LOW>,
58                              <31 IRQ_TYPE_LEVEL_LOW>;
59
60                 port@7 {
61                         reg = <7>;
62
63                         adv7482_ain7: endpoint {
64                                 remote-endpoint = <&cvbs_in>;
65                         };
66                 };
67
68                 port@8 {
69                         reg = <8>;
70
71                         adv7482_hdmi: endpoint {
72                                 remote-endpoint = <&hdmi_in>;
73                         };
74                 };
75
76                 port@10 {
77                         reg = <10>;
78
79                         adv7482_txa: endpoint {
80                                 clock-lanes = <0>;
81                                 data-lanes = <1 2 3 4>;
82                                 remote-endpoint = <&csi40_in>;
83                         };
84                 };
85
86                 port@11 {
87                         reg = <11>;
88
89                         adv7482_txb: endpoint {
90                                 clock-lanes = <0>;
91                                 data-lanes = <1>;
92                                 remote-endpoint = <&csi20_in>;
93                         };
94                 };
95         };