Merge tag 'kvm-ppc-next-4.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[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
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
20 The device node shall contain two 'port' child nodes according to the
21 bindings defined in Documentation/devicetree/bindings/media/
22 video-interfaces.txt. port@0 shall connect to the CSI-2 source. port@1
23 shall connect to all the R-Car VIN modules that have a hardware
24 connection 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
33 Example:
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         };