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