ARM64: DT: Add auto detect support for E3322 board
[linux-3.10.git] / arch / arm64 / boot / dts / tegra210-plugin-manager / tegra210-jetson-cv-camera-plugin-manager.dtsi
1 /*
2  * Copyright (c) 2016, NVIDIA CORPORATION.  All rights reserved.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; version 2 of the License.
7  *
8  * This program is distributed in the hope that it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
11  * more details.
12  *
13  */
14 / {
15         /* camera plugin-manager */
16         plugin-manager {
17                 /* E3326 camera board is enabled by default */
18
19                 /* E3323 camera board */
20                 fragment-e3323@0 {
21                         ids = "3323-1000-A00", "3323-1000-A01", "3323-1000-100";
22                         override@0 {
23                                 target = <&e3323_cam0>;
24                                 _overlay_ {
25                                         status = "okay";
26                                 };
27                         };
28                         override@1 {
29                                 target = <&cam_module0>;
30                                 _overlay_ {
31                                         status = "okay";
32                                         badge = "e3323_bottom_CH06P1";
33                                         position = "bottom";
34                                         orientation = "3";
35                                 };
36                         };
37                         override@2 {
38                                 target = <&cam_module0_drivernode0>;
39                                 _overlay_ {
40                                         status = "okay";
41                                         pcl_id = "v4l2_sensor";
42                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/ov23850_a@10";
43                                 };
44                         };
45                         override@3 {
46                                 target = <&e3323_cam0_csia_in0>;
47                                 _overlay_ {
48                                         status = "okay";
49                                         bus-width = <4>;
50                                         remote-endpoint = <&ov23850_out0>;
51                                 };
52                         };
53                         override@4 {
54                                 target = <&e3323_cam1>;
55                                 _overlay_ {
56                                         status = "okay";
57                                 };
58                         };
59                         override@5 {
60                                 target = <&cam_module1>;
61                                 _overlay_ {
62                                         status = "okay";
63                                         badge = "e3323_top_CH06P1";
64                                         position = "top";
65                                         orientation = "3";
66                                 };
67                         };
68                         override@6 {
69                                 target = <&cam_module1_drivernode0>;
70                                 _overlay_ {
71                                         status = "okay";
72                                         pcl_id = "v4l2_sensor";
73                                         proc-device-tree = "/proc/device-tree/i2c@7000c000/ov23850_c@36";
74                                 };
75                         };
76                         override@7 {
77                                 target = <&e3323_cam1_csic_in0>;
78                                 _overlay_ {
79                                         status = "okay";
80                                         bus-width = <4>;
81                                         remote-endpoint = <&ov23850_out2>;
82                                 };
83                         };
84                         override@8 {
85                                 target = <&vi_port6>;
86                                 _overlay_ {
87                                         status = "okay";
88                                 };
89                         };
90                         override@9 {
91                                 target = <&vi_in6>;
92                                 _overlay_ {
93                                         status = "okay";
94                                 };
95                         };
96                         override@10 {
97                                 target = <&e3323_vcm0>;
98                                 _overlay_ {
99                                         status = "okay";
100                                 };
101                         };
102                         override@11 {
103                                 target = <&cam_module0_drivernode1>;
104                                 _overlay_ {
105                                         status = "okay";
106                                         pcl_id = "v4l2_focuser";
107                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/lc898212@72";
108                                 };
109                         };
110                         override@12 {
111                                 target = <&vi_port7>;
112                                 _overlay_ {
113                                         status = "okay";
114                                 };
115                         };
116                         override@13 {
117                                 target = <&vi_in7>;
118                                 _overlay_ {
119                                         status = "okay";
120                                 };
121                         };
122                         override@14 {
123                                 target = <&e3323_vcm1>;
124                                 _overlay_ {
125                                         status = "okay";
126                                 };
127                         };
128                         override@15 {
129                                 target = <&cam_module1_drivernode1>;
130                                 _overlay_ {
131                                         status = "okay";
132                                         pcl_id = "v4l2_focuser";
133                                         proc-device-tree = "/proc/device-tree/i2c@7000c000/lc898212@72";
134                                 };
135                         };
136                         override@16 {
137                                 target = <&e3326_cam0>;
138                                 _overlay_ {
139                                         status = "disabled";
140                                 };
141                         };
142                 };
143
144                 /* E3322 camera board */
145                 fragment-e3322@0 {
146                         ids = "3322-1000-000";
147                         override@0 {
148                                 target = <&e3322_cam0>;
149                                 _overlay_ {
150                                         status = "okay";
151                                 };
152                         };
153                         override@1 {
154                                 target = <&cam_module0>;
155                                 _overlay_ {
156                                         status = "okay";
157                                         badge = "e3322_bottomleft_A815P2";
158                                         position = "bottomleft";
159                                         orientation = "1";
160                                 };
161                         };
162                         override@2 {
163                                 target = <&cam_module0_drivernode0>;
164                                 _overlay_ {
165                                         status = "okay";
166                                         pcl_id = "v4l2_sensor";
167                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@0/imx219_a@10";
168                                 };
169                         };
170                         override@3 {
171                                 target = <&e3322_cam0_csia_in0>;
172                                 _overlay_ {
173                                         status = "okay";
174                                         bus-width = <2>;
175                                         remote-endpoint = <&imx219_out0>;
176                                 };
177                         };
178                         override@4 {
179                                 target = <&e3322_cam1>;
180                                 _overlay_ {
181                                         status = "okay";
182                                 };
183                         };
184                         override@5 {
185                                 target = <&cam_module1>;
186                                 _overlay_ {
187                                         status = "okay";
188                                         badge = "e3322_centerleft_A815P2";
189                                         position = "centerleft";
190                                         orientation = "1";
191                                 };
192                         };
193                         override@6 {
194                                 target = <&cam_module1_drivernode0>;
195                                 _overlay_ {
196                                         status = "okay";
197                                         pcl_id = "v4l2_sensor";
198                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@1/imx219_b@10";
199                                 };
200                         };
201                         override@7 {
202                                 target = <&e3322_cam1_csia_in1>;
203                                 _overlay_ {
204                                         status = "okay";
205                                         bus-width = <2>;
206                                         remote-endpoint = <&imx219_out1>;
207                                 };
208                         };
209                         override@8 {
210                                 target = <&e3322_cam2>;
211                                 _overlay_ {
212                                         status = "okay";
213                                 };
214                         };
215                         override@9 {
216                                 target = <&cam_module2>;
217                                 _overlay_ {
218                                         status = "okay";
219                                         badge = "e3322_centerright_A815P2";
220                                         position = "centerright";
221                                         orientation = "1";
222                                 };
223                         };
224                         override@10 {
225                                 target = <&cam_module2_drivernode0>;
226                                 _overlay_ {
227                                         status = "okay";
228                                         pcl_id = "v4l2_sensor";
229                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@2/imx219_c@10";
230                                 };
231                         };
232                         override@11 {
233                                 target = <&e3322_cam2_csic_in0>;
234                                 _overlay_ {
235                                         status = "okay";
236                                         bus-width = <2>;
237                                         remote-endpoint = <&imx219_out2>;
238                                 };
239                         };
240                         override@12 {
241                                 target = <&e3322_cam3>;
242                                 _overlay_ {
243                                         status = "okay";
244                                 };
245                         };
246                         override@13 {
247                                 target = <&cam_module3>;
248                                 _overlay_ {
249                                         status = "okay";
250                                         badge = "e3322_topleft_A815P2";
251                                         position = "topleft";
252                                         orientation = "1";
253                                 };
254                         };
255                         override@14 {
256                                 target = <&cam_module3_drivernode0>;
257                                 _overlay_ {
258                                         status = "okay";
259                                         pcl_id = "v4l2_sensor";
260                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@3/imx219_d@10";
261                                 };
262                         };
263                         override@15 {
264                                 target = <&e3322_cam3_csic_in1>;
265                                 _overlay_ {
266                                         status = "okay";
267                                         bus-width = <2>;
268                                         remote-endpoint = <&imx219_out3>;
269                                 };
270                         };
271                         override@16 {
272                                 target = <&e3322_cam4>;
273                                 _overlay_ {
274                                         status = "okay";
275                                 };
276                         };
277                         override@17 {
278                                 target = <&cam_module4>;
279                                 _overlay_ {
280                                         status = "okay";
281                                         badge = "e3322_bottomright_A815P2";
282                                         position = "bottomright";
283                                         orientation = "1";
284                                 };
285                         };
286                         override@18 {
287                                 target = <&cam_module4_drivernode0>;
288                                 _overlay_ {
289                                         status = "okay";
290                                         pcl_id = "v4l2_sensor";
291                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@4/imx219_e@10";
292                                 };
293                         };
294                         override@19 {
295                                 target = <&e3322_cam4_csie_in0>;
296                                 _overlay_ {
297                                         status = "okay";
298                                         bus-width = <2>;
299                                         remote-endpoint = <&imx219_out4>;
300                                 };
301                         };
302                         override@20 {
303                                 target = <&e3322_cam5>;
304                                 _overlay_ {
305                                         status = "okay";
306                                 };
307                         };
308                         override@21 {
309                                 target = <&cam_module5>;
310                                 _overlay_ {
311                                         status = "okay";
312                                         badge = "e3322_topright_A815P2";
313                                         position = "topright";
314                                         orientation = "1";
315                                 };
316                         };
317                         override@22 {
318                                 target = <&cam_module5_drivernode0>;
319                                 _overlay_ {
320                                         status = "okay";
321                                         pcl_id = "v4l2_sensor";
322                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@5/imx219_f@10";
323                                 };
324                         };
325                         override@23 {
326                                 target = <&e3322_cam5_csie_in1>;
327                                 _overlay_ {
328                                         status = "okay";
329                                         bus-width = <2>;
330                                         remote-endpoint = <&imx219_out5>;
331                                 };
332                         };
333                         override@24 {
334                                 target = <&e3326_cam0>;
335                                 _overlay_ {
336                                         status = "disabled";
337                                 };
338                         };
339                         override@25 {
340                                 target = <&cam_tca6408_21>;
341                                 _overlay_ {
342                                         status = "okay";
343                                 };
344                         };
345                         override@26 {
346                                 target = <&cam_tca9548_77>;
347                                 _overlay_ {
348                                         status = "okay";
349                                 };
350                         };
351                 };
352         };
353 };