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