summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/media/i2c/adv748x.txt
blob: 4f91686e54a6b939fc1b430f146149b125db173c (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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
* 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 addresses
    The ADV748x has up to twelve 256-byte maps that can be accessed via the
    main I2C ports. Each map has it own I2C address and acts as a standard
    slave device on the I2C bus. The main address is mandatory, others are
    optional and remain at default values if not specified.

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
  - reg-names : Names of maps with programmable addresses.
		It shall contain all maps needing a non-default address.
		Possible map names are:
		  "main", "dpll", "cp", "hdmi", "edid", "repeater",
		  "infoframe", "cbus", "cec", "sdp", "txa", "txb"

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, when present, shall contain at least one
endpoint. Each of those endpoints shall contain the data-lanes property as
described in video-interfaces.txt.

Required source endpoint properties:
  - data-lanes: an array of physical data lane indexes
    The accepted value(s) for this property depends on which of the two
    sources are described. For TXA 1, 2 or 4 data lanes can be described
    while for TXB only 1 data lane is valid. See video-interfaces.txt
    for detailed description.

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

Example:

	video-receiver@70 {
		compatible = "adi,adv7482";
		reg = <0x70 0x71 0x72 0x73 0x74 0x75
		       0x60 0x61 0x62 0x63 0x64 0x65>;
		reg-names = "main", "dpll", "cp", "hdmi", "edid", "repeater",
			    "infoframe", "cbus", "cec", "sdp", "txa", "txb";

		#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@a {
			reg = <10>;

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

		port@b {
			reg = <11>;

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