arch: arm64: boot: dts: add dts for TC348840
[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                         /* enable E3323 camera 0 */
23                         override@0 {
24                                 target = <&e3323_cam0>;
25                                 _overlay_ {
26                                         status = "okay";
27                                 };
28                         };
29                         override@1 {
30                                 target = <&cam_module0>;
31                                 _overlay_ {
32                                         status = "okay";
33                                         badge = "e3323_bottom_CH06P1";
34                                         position = "bottom";
35                                         orientation = "3";
36                                 };
37                         };
38                         override@2 {
39                                 target = <&cam_module0_drivernode0>;
40                                 _overlay_ {
41                                         status = "okay";
42                                         pcl_id = "v4l2_sensor";
43                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/ov23850_a@10";
44                                 };
45                         };
46                         /* enable E3323 camera 1 */
47                         override@5 {
48                                 target = <&e3323_cam1>;
49                                 _overlay_ {
50                                         status = "okay";
51                                 };
52                         };
53                         override@6 {
54                                 target = <&cam_module1>;
55                                 _overlay_ {
56                                         status = "okay";
57                                         badge = "e3323_top_CH06P1";
58                                         position = "top";
59                                         orientation = "3";
60                                 };
61                         };
62                         override@7 {
63                                 target = <&cam_module1_drivernode0>;
64                                 _overlay_ {
65                                         status = "okay";
66                                         pcl_id = "v4l2_sensor";
67                                         proc-device-tree = "/proc/device-tree/i2c@7000c000/ov23850_c@36";
68                                 };
69                         };
70                         /* enable E3323 focuser 0 */
71                         override@10 {
72                                 target = <&e3323_vcm0>;
73                                 _overlay_ {
74                                         status = "okay";
75                                 };
76                         };
77                         override@11 {
78                                 target = <&cam_module0_drivernode1>;
79                                 _overlay_ {
80                                         status = "okay";
81                                         pcl_id = "v4l2_focuser";
82                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/lc898212@72";
83                                 };
84                         };
85                         /* enable E3323 focuser 1 */
86                         override@14 {
87                                 target = <&e3323_vcm1>;
88                                 _overlay_ {
89                                         status = "okay";
90                                 };
91                         };
92                         override@15 {
93                                 target = <&cam_module1_drivernode1>;
94                                 _overlay_ {
95                                         status = "okay";
96                                         pcl_id = "v4l2_focuser";
97                                         proc-device-tree = "/proc/device-tree/i2c@7000c000/lc898212@72";
98                                 };
99                         };
100                         /* enable VI ports */
101                         override@18 {
102                                 target = <&vi_base>;
103                                 _overlay_ {
104                                         num-channels=<4>;
105                                 };
106                         };
107                         override@3 {
108                                 target = <&vi_port0>;
109                                 _overlay_ {
110                                         status = "okay";
111                                 };
112                         };
113                         override@4 {
114                                 target = <&vi_in0>;
115                                 _overlay_ {
116                                         status = "okay";
117                                         csi-port = <0>;
118                                         bus-width = <4>;
119                                         remote-endpoint = <&ov23850_out0>;
120                                 };
121                         };
122                         override@8 {
123                                 target = <&vi_port1>;
124                                 _overlay_ {
125                                         status = "okay";
126                                 };
127                         };
128                         override@9 {
129                                 target = <&vi_in1>;
130                                 _overlay_ {
131                                         status = "okay";
132                                         csi-port = <2>;
133                                         bus-width = <4>;
134                                         remote-endpoint = <&ov23850_out1>;
135                                 };
136                         };
137                         override@12 {
138                                 target = <&vi_port2>;
139                                 _overlay_ {
140                                         status = "okay";
141                                 };
142                         };
143                         override@13 {
144                                 target = <&vi_in2>;
145                                 _overlay_ {
146                                         status = "okay";
147                                         remote-endpoint = <&lc898212_out0>;
148                                 };
149                         };
150                         override@16 {
151                                 target = <&vi_port3>;
152                                 _overlay_ {
153                                         status = "okay";
154                                 };
155                         };
156                         override@17 {
157                                 target = <&vi_in3>;
158                                 _overlay_ {
159                                         status = "okay";
160                                         remote-endpoint = <&lc898212_out1>;
161                                 };
162                         };
163                         /* disable E3326 camera board*/
164                         override@19 {
165                                 target = <&e3326_cam0>;
166                                 _overlay_ {
167                                         status = "disabled";
168                                 };
169                         };
170                         override@20 {
171                                 target = <&default_cam1>;
172                                 _overlay_ {
173                                         status = "disabled";
174                                 };
175                         };
176                 };
177
178                 /* E3322 camera board */
179                 fragment-e3322@0 {
180                         ids = "3322-1000-000";
181                         /* enable E3322 camera 0 */
182                         override@0 {
183                                 target = <&e3322_cam0>;
184                                 _overlay_ {
185                                         status = "okay";
186                                 };
187                         };
188                         override@1 {
189                                 target = <&cam_module0>;
190                                 _overlay_ {
191                                         status = "okay";
192                                         badge = "e3322_bottomleft_A815P2";
193                                         position = "bottomleft";
194                                         orientation = "1";
195                                 };
196                         };
197                         override@2 {
198                                 target = <&cam_module0_drivernode0>;
199                                 _overlay_ {
200                                         status = "okay";
201                                         pcl_id = "v4l2_sensor";
202                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@0/imx219_a@10";
203                                 };
204                         };
205                         /* enable E3322 camera 1 */
206                         override@3 {
207                                 target = <&e3322_cam1>;
208                                 _overlay_ {
209                                         status = "okay";
210                                 };
211                         };
212                         override@4 {
213                                 target = <&cam_module1>;
214                                 _overlay_ {
215                                         status = "okay";
216                                         badge = "e3322_centerleft_A815P2";
217                                         position = "centerleft";
218                                         orientation = "1";
219                                 };
220                         };
221                         override@5 {
222                                 target = <&cam_module1_drivernode0>;
223                                 _overlay_ {
224                                         status = "okay";
225                                         pcl_id = "v4l2_sensor";
226                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@1/imx219_b@10";
227                                 };
228                         };
229                         /* E3322 camera 2 */
230                         override@6 {
231                                 target = <&e3322_cam2>;
232                                 _overlay_ {
233                                         status = "okay";
234                                 };
235                         };
236                         override@7 {
237                                 target = <&cam_module2>;
238                                 _overlay_ {
239                                         status = "okay";
240                                         badge = "e3322_centerright_A815P2";
241                                         position = "centerright";
242                                         orientation = "1";
243                                 };
244                         };
245                         override@8 {
246                                 target = <&cam_module2_drivernode0>;
247                                 _overlay_ {
248                                         status = "okay";
249                                         pcl_id = "v4l2_sensor";
250                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@2/imx219_c@10";
251                                 };
252                         };
253                         /* E3322 camera 3 */
254                         override@9 {
255                                 target = <&e3322_cam3>;
256                                 _overlay_ {
257                                         status = "okay";
258                                 };
259                         };
260                         override@10 {
261                                 target = <&cam_module3>;
262                                 _overlay_ {
263                                         status = "okay";
264                                         badge = "e3322_topleft_A815P2";
265                                         position = "topleft";
266                                         orientation = "1";
267                                 };
268                         };
269                         override@11 {
270                                 target = <&cam_module3_drivernode0>;
271                                 _overlay_ {
272                                         status = "okay";
273                                         pcl_id = "v4l2_sensor";
274                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@3/imx219_d@10";
275                                 };
276                         };
277                         /* E3322 camera 4 */
278                         override@12 {
279                                 target = <&e3322_cam4>;
280                                 _overlay_ {
281                                         status = "okay";
282                                 };
283                         };
284                         override@13 {
285                                 target = <&cam_module4>;
286                                 _overlay_ {
287                                         status = "okay";
288                                         badge = "e3322_bottomright_A815P2";
289                                         position = "bottomright";
290                                         orientation = "1";
291                                 };
292                         };
293                         override@14 {
294                                 target = <&cam_module4_drivernode0>;
295                                 _overlay_ {
296                                         status = "okay";
297                                         pcl_id = "v4l2_sensor";
298                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@4/imx219_e@10";
299                                 };
300                         };
301                         /* E3322 camera 5 */
302                         override@15 {
303                                 target = <&e3322_cam5>;
304                                 _overlay_ {
305                                         status = "okay";
306                                 };
307                         };
308                         override@16 {
309                                 target = <&cam_module5>;
310                                 _overlay_ {
311                                         status = "okay";
312                                         badge = "e3322_topright_A815P2";
313                                         position = "topright";
314                                         orientation = "1";
315                                 };
316                         };
317                         override@17 {
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                         /* Enable VI ports */
326                         override@18 {
327                                 target = <&vi_base>;
328                                 _overlay_ {
329                                         num-channels=<6>;
330                                 };
331                         };
332                         override@19 {
333                                 target = <&vi_port0>;
334                                 _overlay_ {
335                                         status = "okay";
336                                 };
337                         };
338                         override@20 {
339                                 target = <&vi_in0>;
340                                 _overlay_ {
341                                         status = "okay";
342                                         csi-port = <0>;
343                                         bus-width = <2>;
344                                         remote-endpoint = <&imx219_out0>;
345                                 };
346                         };
347                         override@21 {
348                                 target = <&vi_port1>;
349                                 _overlay_ {
350                                         status = "okay";
351                                 };
352                         };
353                         override@22 {
354                                 target = <&vi_in1>;
355                                 _overlay_ {
356                                         status = "okay";
357                                         csi-port = <1>;
358                                         bus-width = <2>;
359                                         remote-endpoint = <&imx219_out1>;
360                                 };
361                         };
362                         override@23 {
363                                 target = <&vi_port2>;
364                                 _overlay_ {
365                                         status = "okay";
366                                 };
367                         };
368                         override@24 {
369                                 target = <&vi_in2>;
370                                 _overlay_ {
371                                         status = "okay";
372                                         csi-port = <2>;
373                                         bus-width = <2>;
374                                         remote-endpoint = <&imx219_out2>;
375                                 };
376                         };
377                         override@25 {
378                                 target = <&vi_port3>;
379                                 _overlay_ {
380                                         status = "okay";
381                                 };
382                         };
383                         override@26 {
384                                 target = <&vi_in3>;
385                                 _overlay_ {
386                                         status = "okay";
387                                         csi-port = <3>;
388                                         bus-width = <2>;
389                                         remote-endpoint = <&imx219_out3>;
390                                 };
391                         };
392                         override@27 {
393                                 target = <&vi_port4>;
394                                 _overlay_ {
395                                         status = "okay";
396                                 };
397                         };
398                         override@28 {
399                                 target = <&vi_in4>;
400                                 _overlay_ {
401                                         status = "okay";
402                                         csi-port = <4>;
403                                         bus-width = <2>;
404                                         remote-endpoint = <&imx219_out4>;
405                                 };
406                         };
407                         override@29 {
408                                 target = <&vi_port5>;
409                                 _overlay_ {
410                                         status = "okay";
411                                 };
412                         };
413                         override@30 {
414                                 target = <&vi_in5>;
415                                 _overlay_ {
416                                         status = "okay";
417                                         csi-port = <5>;
418                                         bus-width = <2>;
419                                         remote-endpoint = <&imx219_out5>;
420                                 };
421                         };
422                         /* Enable TCA6408 GPIO expander */
423                         override@31 {
424                                 target = <&cam_tca6408_21>;
425                                 _overlay_ {
426                                         status = "okay";
427                                 };
428                         };
429                         /* Enable TCA9548 I2C mux */
430                         override@32 {
431                                 target = <&cam_tca9548_77>;
432                                 _overlay_ {
433                                         status = "okay";
434                                 };
435                         };
436                         /* Disable E3326 camera board */
437                         override@33 {
438                                 target = <&e3326_cam0>;
439                                 _overlay_ {
440                                         status = "disabled";
441                                 };
442                         };
443                         override@34 {
444                                 target = <&default_cam1>;
445                                 _overlay_ {
446                                         status = "disabled";
447                                 };
448                         };
449                 };
450
451                 /* E3333 camera board */
452                 fragment-e3333@0 {
453                         ids = "3333-1000-000", "3333-1000-100";
454                         /* Enable E3333 camera 0 */
455                         override@0 {
456                                 target = <&e3333_cam0>;
457                                 _overlay_ {
458                                         status = "okay";
459                                 };
460                         };
461                         override@1 {
462                                 target = <&cam_module0>;
463                                 _overlay_ {
464                                         status = "okay";
465                                         badge = "e3333_bottomleft_P5V27C";
466                                         position = "bottomleft";
467                                         orientation = "1";
468                                 };
469                         };
470                         override@2 {
471                                 target = <&cam_module0_drivernode0>;
472                                 _overlay_ {
473                                         status = "okay";
474                                         pcl_id = "v4l2_sensor";
475                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@0/ov5693_a@36";
476                                 };
477                         };
478                         /* Enable E3333 camera 1 */
479                         override@3 {
480                                 target = <&e3333_cam1>;
481                                 _overlay_ {
482                                         status = "okay";
483                                 };
484                         };
485                         override@4 {
486                                 target = <&cam_module1>;
487                                 _overlay_ {
488                                         status = "okay";
489                                         badge = "e3333_centerleft_P5V27C";
490                                         position = "centerleft";
491                                         orientation = "1";
492                                 };
493                         };
494                         override@5 {
495                                 target = <&cam_module1_drivernode0>;
496                                 _overlay_ {
497                                         status = "okay";
498                                         pcl_id = "v4l2_sensor";
499                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@1/ov5693_b@36";
500                                 };
501                         };
502                         /* Enable E3333 camera 2 */
503                         override@6 {
504                                 target = <&e3333_cam2>;
505                                 _overlay_ {
506                                         status = "okay";
507                                 };
508                         };
509                         override@7 {
510                                 target = <&cam_module2>;
511                                 _overlay_ {
512                                         status = "okay";
513                                         badge = "e3333_centerright_P5V27C";
514                                         position = "centerright";
515                                         orientation = "1";
516                                 };
517                         };
518                         override@8 {
519                                 target = <&cam_module2_drivernode0>;
520                                 _overlay_ {
521                                         status = "okay";
522                                         pcl_id = "v4l2_sensor";
523                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@2/ov5693_c@36";
524                                 };
525                         };
526                         /* Enable E3333 camera 3 */
527                         override@9 {
528                                 target = <&e3333_cam3>;
529                                 _overlay_ {
530                                         status = "okay";
531                                 };
532                         };
533                         override@10 {
534                                 target = <&cam_module3>;
535                                 _overlay_ {
536                                         status = "okay";
537                                         badge = "e3333_topleft_P5V27C";
538                                         position = "topleft";
539                                         orientation = "1";
540                                 };
541                         };
542                         override@11 {
543                                 target = <&cam_module3_drivernode0>;
544                                 _overlay_ {
545                                         status = "okay";
546                                         pcl_id = "v4l2_sensor";
547                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@3/ov5693_d@36";
548                                 };
549                         };
550                         /* Enable E3333 camera 4 */
551                         override@12 {
552                                 target = <&e3333_cam4>;
553                                 _overlay_ {
554                                         status = "okay";
555                                 };
556                         };
557                         override@13 {
558                                 target = <&cam_module4>;
559                                 _overlay_ {
560                                         status = "okay";
561                                         badge = "e3333_bottomright_P5V27C";
562                                         position = "bottomright";
563                                         orientation = "1";
564                                 };
565                         };
566                         override@14 {
567                                 target = <&cam_module4_drivernode0>;
568                                 _overlay_ {
569                                         status = "okay";
570                                         pcl_id = "v4l2_sensor";
571                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@4/ov5693_e@36";
572                                 };
573                         };
574                         /* Enable E3333 camera 5 */
575                         override@15 {
576                                 target = <&e3333_cam5>;
577                                 _overlay_ {
578                                         status = "okay";
579                                 };
580                         };
581                         override@16 {
582                                 target = <&cam_module5>;
583                                 _overlay_ {
584                                         status = "okay";
585                                         badge = "e3333_topright_P5V27C";
586                                         position = "topright";
587                                         orientation = "1";
588                                 };
589                         };
590                         override@17 {
591                                 target = <&cam_module5_drivernode0>;
592                                 _overlay_ {
593                                         status = "okay";
594                                         pcl_id = "v4l2_sensor";
595                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@5/ov5693_f@36";
596                                 };
597                         };
598                         /* Enable VI ports */
599                         override@18 {
600                                 target = <&vi_base>;
601                                 _overlay_ {
602                                         num-channels=<6>;
603                                 };
604                         };
605                         override@19 {
606                                 target = <&vi_port0>;
607                                 _overlay_ {
608                                         status = "okay";
609                                 };
610                         };
611                         override@20 {
612                                 target = <&e3333_vi_in0>;
613                                 _overlay_ {
614                                         status = "okay";
615                                         csi-port = <0>;
616                                         bus-width = <2>;
617                                         remote-endpoint = <&e3333_ov5693_out0>;
618                                 };
619                         };
620                         override@21 {
621                                 target = <&vi_port1>;
622                                 _overlay_ {
623                                         status = "okay";
624                                 };
625                         };
626                         override@22 {
627                                 target = <&vi_in1>;
628                                 _overlay_ {
629                                         status = "okay";
630                                         csi-port = <1>;
631                                         bus-width = <2>;
632                                         remote-endpoint = <&e3333_ov5693_out1>;
633                                 };
634                         };
635                         override@23 {
636                                 target = <&vi_port2>;
637                                 _overlay_ {
638                                         status = "okay";
639                                 };
640                         };
641                         override@24 {
642                                 target = <&vi_in2>;
643                                 _overlay_ {
644                                         status = "okay";
645                                         csi-port = <2>;
646                                         bus-width = <2>;
647                                         remote-endpoint = <&e3333_ov5693_out2>;
648                                 };
649                         };
650                         override@25 {
651                                 target = <&vi_port3>;
652                                 _overlay_ {
653                                         status = "okay";
654                                 };
655                         };
656                         override@26 {
657                                 target = <&vi_in3>;
658                                 _overlay_ {
659                                         status = "okay";
660                                         csi-port = <3>;
661                                         bus-width = <2>;
662                                         remote-endpoint = <&e3333_ov5693_out3>;
663                                 };
664                         };
665                         override@27 {
666                                 target = <&vi_port4>;
667                                 _overlay_ {
668                                         status = "okay";
669                                 };
670                         };
671                         override@28 {
672                                 target = <&vi_in4>;
673                                 _overlay_ {
674                                         status = "okay";
675                                         csi-port = <4>;
676                                         bus-width = <2>;
677                                         remote-endpoint = <&e3333_ov5693_out4>;
678                                 };
679                         };
680                         override@29 {
681                                 target = <&vi_port5>;
682                                 _overlay_ {
683                                         status = "okay";
684                                 };
685                         };
686                         override@30 {
687                                 target = <&vi_in5>;
688                                 _overlay_ {
689                                         status = "okay";
690                                         csi-port = <5>;
691                                         bus-width = <2>;
692                                         remote-endpoint = <&e3333_ov5693_out5>;
693                                 };
694                         };
695                         /* Enable TCA6408 GPIO expander */
696                         override@31 {
697                                 target = <&cam_tca6408_21>;
698                                 _overlay_ {
699                                         status = "okay";
700                                 };
701                         };
702                         /* Enable TCA9548 I2C mux */
703                         override@32 {
704                                 target = <&cam_tca9548_77>;
705                                 _overlay_ {
706                                         status = "okay";
707                                 };
708                         };
709                         /* Disable E3326 camera board */
710                         override@33 {
711                                 target = <&e3326_cam0>;
712                                 _overlay_ {
713                                         status = "disabled";
714                                 };
715                         };
716                         override@34 {
717                                 target = <&default_cam1>;
718                                 _overlay_ {
719                                         status = "disabled";
720                                 };
721                         };
722                 };
723         };
724 };