summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/media/i2c/adv748x.txt
blob: 21ffb5ed818302ff4fb709a213aebfc1d4980b1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
* Analog Devices ADV748X video decoder with HDMI receiver

The ADV7481 and ADV7482 are multi format video decoders with an integrated
HDMI receiver. They can output CSI-2 on two independent outputs TXA and TXB
from three input sources HDMI, analog and TTL.

Required Properties:

  - compatible: Must contain one of the following
    - "adi,adv7481" for the ADV7481
    - "adi,adv7482" for the ADV7482

  - reg: I2C slave address

Optional Properties:

  - interrupt-names: Should specify the interrupts as "intrq1", "intrq2" and/or
		     "intrq3". All interrupts are optional. The "intrq3" interrupt
		     is only available on the adv7481
  - interrupts: Specify the interrupt lines for the ADV748x

The device node must contain one 'port' child node per device input and output
port, in accordance with the video interface bindings defined in
Documentation/devicetree/bindings/media/video-interfaces.txt. The port nodes
are numbered as follows.

	  Name		Type		Port
	---------------------------------------
	  AIN0		sink		0
	  AIN1		sink		1
	  AIN2		sink		2
	  AIN3		sink		3
	  AIN4		sink		4
	  AIN5		sink		5
	  AIN6		sink		6
	  AIN7		sink		7
	  HDMI		sink		8
	  TTL		sink		9
	  TXA		source		10
	  TXB		source		11

The digital output port nodes must contain at least one endpoint.

Ports are optional if they are not connected to anything at the hardware level.

Example:

	video-receiver@70 {
		compatible = "adi,adv7482";
		reg = <0x70>;

		#address-cells = <1>;
		#size-cells = <0>;

		interrupt-parent = <&gpio6>;
		interrupt-names = "intrq1", "intrq2";
		interrupts = <30 IRQ_TYPE_LEVEL_LOW>,
			     <31 IRQ_TYPE_LEVEL_LOW>;

		port@7 {
			reg = <7>;

			adv7482_ain7: endpoint {
				remote-endpoint = <&cvbs_in>;
			};
		};

		port@8 {
			reg = <8>;

			adv7482_hdmi: endpoint {
				remote-endpoint = <&hdmi_in>;
			};
		};

		port@10 {
			reg = <10>;

			adv7482_txa: endpoint {
				clock-lanes = <0>;
				data-lanes = <1 2 3 4>;
				remote-endpoint = <&csi40_in>;
			};
		};

		port@11 {
			reg = <11>;

			adv7482_txb: endpoint {
				clock-lanes = <0>;
				data-lanes = <1>;
				remote-endpoint = <&csi20_in>;
			};
		};
	};