1Renesas R-Car MIPI CSI-2
2------------------------
3
4The R-Car CSI-2 receiver device provides MIPI CSI-2 capabilities for the
5Renesas R-Car family of devices. It is used in conjunction with the
6R-Car VIN module, which provides the video capture capabilities.
7
8Mandatory properties
9--------------------
10 - compatible: Must be one or more of the following
11   - "renesas,r8a7795-csi2" for the R8A7795 device.
12   - "renesas,r8a7796-csi2" for the R8A7796 device.
13   - "renesas,r8a77965-csi2" for the R8A77965 device.
14   - "renesas,r8a77970-csi2" for the R8A77970 device.
15
16 - reg: the register base and size for the device registers
17 - interrupts: the interrupt for the device
18 - clocks: reference to the parent clock
19
20The device node shall contain two 'port' child nodes according to the
21bindings defined in Documentation/devicetree/bindings/media/
22video-interfaces.txt. port@0 shall connect to the CSI-2 source. port@1
23shall connect to all the R-Car VIN modules that have a hardware
24connection to the CSI-2 receiver.
25
26- port@0- Video source (mandatory)
27	- endpoint@0 - sub-node describing the endpoint that is the video source
28
29- port@1 - VIN instances (optional)
30	- One endpoint sub-node for every R-Car VIN instance which is connected
31	  to the R-Car CSI-2 receiver.
32
33Example:
34
35	csi20: csi2@fea80000 {
36		compatible = "renesas,r8a7796-csi2";
37		reg = <0 0xfea80000 0 0x10000>;
38		interrupts = <0 184 IRQ_TYPE_LEVEL_HIGH>;
39		clocks = <&cpg CPG_MOD 714>;
40		power-domains = <&sysc R8A7796_PD_ALWAYS_ON>;
41		resets = <&cpg 714>;
42
43		ports {
44			#address-cells = <1>;
45			#size-cells = <0>;
46
47			port@0 {
48				#address-cells = <1>;
49				#size-cells = <0>;
50
51				reg = <0>;
52
53				csi20_in: endpoint@0 {
54					reg = <0>;
55					clock-lanes = <0>;
56					data-lanes = <1>;
57					remote-endpoint = <&adv7482_txb>;
58				};
59			};
60
61			port@1 {
62				#address-cells = <1>;
63				#size-cells = <0>;
64
65				reg = <1>;
66
67				csi20vin0: endpoint@0 {
68					reg = <0>;
69					remote-endpoint = <&vin0csi20>;
70				};
71				csi20vin1: endpoint@1 {
72					reg = <1>;
73					remote-endpoint = <&vin1csi20>;
74				};
75				csi20vin2: endpoint@2 {
76					reg = <2>;
77					remote-endpoint = <&vin2csi20>;
78				};
79				csi20vin3: endpoint@3 {
80					reg = <3>;
81					remote-endpoint = <&vin3csi20>;
82				};
83				csi20vin4: endpoint@4 {
84					reg = <4>;
85					remote-endpoint = <&vin4csi20>;
86				};
87				csi20vin5: endpoint@5 {
88					reg = <5>;
89					remote-endpoint = <&vin5csi20>;
90				};
91				csi20vin6: endpoint@6 {
92					reg = <6>;
93					remote-endpoint = <&vin6csi20>;
94				};
95				csi20vin7: endpoint@7 {
96					reg = <7>;
97					remote-endpoint = <&vin7csi20>;
98				};
99			};
100		};
101	};
102