Linux 6.9-rc1
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / renesas / r8a779a0-falcon-csi-dsi.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree Source for the Falcon CSI/DSI sub-board
4  *
5  * Copyright (C) 2021 Glider bv
6  */
7
8 #include <dt-bindings/media/video-interfaces.h>
9
10 &csi40 {
11         status = "okay";
12
13         ports {
14                 #address-cells = <1>;
15                 #size-cells = <0>;
16
17                 port@0 {
18                         reg = <0>;
19
20                         csi40_in: endpoint {
21                                 clock-lanes = <0>;
22                                 data-lanes = <1 2 3 4>;
23                                 remote-endpoint = <&max96712_out0>;
24                         };
25                 };
26         };
27 };
28
29 &csi42 {
30         status = "okay";
31
32         ports {
33                 #address-cells = <1>;
34                 #size-cells = <0>;
35
36                 port@0 {
37                         reg = <0>;
38
39                         csi42_in: endpoint {
40                                 clock-lanes = <0>;
41                                 data-lanes = <1 2 3 4>;
42                                 remote-endpoint = <&max96712_out1>;
43                         };
44                 };
45         };
46 };
47
48 &csi43 {
49         status = "okay";
50
51         ports {
52                 #address-cells = <1>;
53                 #size-cells = <0>;
54
55                 port@0 {
56                         reg = <0>;
57
58                         csi43_in: endpoint {
59                                 clock-lanes = <0>;
60                                 data-lanes = <1 2 3 4>;
61                                 remote-endpoint = <&max96712_out2>;
62                         };
63                 };
64         };
65 };
66
67 &i2c0 {
68         pca9654_a: gpio@21 {
69                 compatible = "onnn,pca9654";
70                 reg = <0x21>;
71                 gpio-controller;
72                 #gpio-cells = <2>;
73         };
74
75         pca9654_b: gpio@22 {
76                 compatible = "onnn,pca9654";
77                 reg = <0x22>;
78                 gpio-controller;
79                 #gpio-cells = <2>;
80         };
81
82         pca9654_c: gpio@23 {
83                 compatible = "onnn,pca9654";
84                 reg = <0x23>;
85                 gpio-controller;
86                 #gpio-cells = <2>;
87         };
88
89         eeprom@52 {
90                 compatible = "rohm,br24g01", "atmel,24c01";
91                 label = "csi-dsi-sub-board-id";
92                 reg = <0x52>;
93                 pagesize = <8>;
94         };
95 };
96
97 &i2c1 {
98         gmsl0: gmsl-deserializer@49 {
99                 compatible = "maxim,max96712";
100                 reg = <0x49>;
101                 enable-gpios = <&pca9654_a 0 GPIO_ACTIVE_HIGH>;
102
103                 ports {
104                         #address-cells = <1>;
105                         #size-cells = <0>;
106
107                         port@4 {
108                                 reg = <4>;
109                                 max96712_out0: endpoint {
110                                         bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
111                                         clock-lanes = <0>;
112                                         data-lanes = <1 2 3 4>;
113                                         remote-endpoint = <&csi40_in>;
114                                 };
115                         };
116                 };
117         };
118
119         gmsl1: gmsl-deserializer@4b {
120                 compatible = "maxim,max96712";
121                 reg = <0x4b>;
122                 enable-gpios = <&pca9654_b 0 GPIO_ACTIVE_HIGH>;
123
124                 ports {
125                         #address-cells = <1>;
126                         #size-cells = <0>;
127
128                         port@4 {
129                                 reg = <4>;
130                                 max96712_out1: endpoint {
131                                         bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
132                                         clock-lanes = <0>;
133                                         data-lanes = <1 2 3 4>;
134                                         lane-polarities = <0 0 0 0 1>;
135                                         remote-endpoint = <&csi42_in>;
136                                 };
137                         };
138                 };
139         };
140
141         gmsl2: gmsl-deserializer@6b {
142                 compatible = "maxim,max96712";
143                 reg = <0x6b>;
144                 enable-gpios = <&pca9654_c 0 GPIO_ACTIVE_HIGH>;
145
146                 ports {
147                         #address-cells = <1>;
148                         #size-cells = <0>;
149
150                         port@4 {
151                                 reg = <4>;
152                                 max96712_out2: endpoint {
153                                         bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
154                                         clock-lanes = <0>;
155                                         data-lanes = <1 2 3 4>;
156                                         lane-polarities = <0 0 0 0 1>;
157                                         remote-endpoint = <&csi43_in>;
158                                 };
159                         };
160                 };
161         };
162 };
163
164 &isp0 {
165         status = "okay";
166 };
167
168 &isp2 {
169         status = "okay";
170 };
171
172 &isp3 {
173         status = "okay";
174 };
175
176 &vin00 {
177         status = "okay";
178 };
179
180 &vin01 {
181         status = "okay";
182 };
183
184 &vin02 {
185         status = "okay";
186 };
187
188 &vin03 {
189         status = "okay";
190 };
191
192 &vin04 {
193         status = "okay";
194 };
195
196 &vin05 {
197         status = "okay";
198 };
199
200 &vin06 {
201         status = "okay";
202 };
203
204 &vin07 {
205         status = "okay";
206 };
207
208 &vin16 {
209         status = "okay";
210 };
211
212 &vin17 {
213         status = "okay";
214 };
215
216 &vin18 {
217         status = "okay";
218 };
219
220 &vin19 {
221         status = "okay";
222 };
223
224 &vin20 {
225         status = "okay";
226 };
227
228 &vin21 {
229         status = "okay";
230 };
231
232 &vin22 {
233         status = "okay";
234 };
235
236 &vin23 {
237         status = "okay";
238 };
239
240 &vin24 {
241         status = "okay";
242 };
243
244 &vin25 {
245         status = "okay";
246 };
247
248 &vin26 {
249         status = "okay";
250 };
251
252 &vin27 {
253         status = "okay";
254 };
255
256 &vin28 {
257         status = "okay";
258 };
259
260 &vin29 {
261         status = "okay";
262 };
263
264 &vin30 {
265         status = "okay";
266 };
267
268 &vin31 {
269         status = "okay";
270 };