arch: arm64: boot: dts: VI mode updates
[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                 };
171
172                 /* E3322 camera board */
173                 fragment-e3322@0 {
174                         ids = "3322-1000-000";
175                         /* enable E3322 camera 0 */
176                         override@0 {
177                                 target = <&e3322_cam0>;
178                                 _overlay_ {
179                                         status = "okay";
180                                 };
181                         };
182                         override@1 {
183                                 target = <&cam_module0>;
184                                 _overlay_ {
185                                         status = "okay";
186                                         badge = "e3322_bottomleft_A815P2";
187                                         position = "bottomleft";
188                                         orientation = "1";
189                                 };
190                         };
191                         override@2 {
192                                 target = <&cam_module0_drivernode0>;
193                                 _overlay_ {
194                                         status = "okay";
195                                         pcl_id = "v4l2_sensor";
196                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@0/imx219_a@10";
197                                 };
198                         };
199                         /* enable E3322 camera 1 */
200                         override@3 {
201                                 target = <&e3322_cam1>;
202                                 _overlay_ {
203                                         status = "okay";
204                                 };
205                         };
206                         override@4 {
207                                 target = <&cam_module1>;
208                                 _overlay_ {
209                                         status = "okay";
210                                         badge = "e3322_centerleft_A815P2";
211                                         position = "centerleft";
212                                         orientation = "1";
213                                 };
214                         };
215                         override@5 {
216                                 target = <&cam_module1_drivernode0>;
217                                 _overlay_ {
218                                         status = "okay";
219                                         pcl_id = "v4l2_sensor";
220                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@1/imx219_b@10";
221                                 };
222                         };
223                         /* E3322 camera 2 */
224                         override@6 {
225                                 target = <&e3322_cam2>;
226                                 _overlay_ {
227                                         status = "okay";
228                                 };
229                         };
230                         override@7 {
231                                 target = <&cam_module2>;
232                                 _overlay_ {
233                                         status = "okay";
234                                         badge = "e3322_centerright_A815P2";
235                                         position = "centerright";
236                                         orientation = "1";
237                                 };
238                         };
239                         override@8 {
240                                 target = <&cam_module2_drivernode0>;
241                                 _overlay_ {
242                                         status = "okay";
243                                         pcl_id = "v4l2_sensor";
244                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@2/imx219_c@10";
245                                 };
246                         };
247                         /* E3322 camera 3 */
248                         override@9 {
249                                 target = <&e3322_cam3>;
250                                 _overlay_ {
251                                         status = "okay";
252                                 };
253                         };
254                         override@10 {
255                                 target = <&cam_module3>;
256                                 _overlay_ {
257                                         status = "okay";
258                                         badge = "e3322_topleft_A815P2";
259                                         position = "topleft";
260                                         orientation = "1";
261                                 };
262                         };
263                         override@11 {
264                                 target = <&cam_module3_drivernode0>;
265                                 _overlay_ {
266                                         status = "okay";
267                                         pcl_id = "v4l2_sensor";
268                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@3/imx219_d@10";
269                                 };
270                         };
271                         /* E3322 camera 4 */
272                         override@12 {
273                                 target = <&e3322_cam4>;
274                                 _overlay_ {
275                                         status = "okay";
276                                 };
277                         };
278                         override@13 {
279                                 target = <&cam_module4>;
280                                 _overlay_ {
281                                         status = "okay";
282                                         badge = "e3322_bottomright_A815P2";
283                                         position = "bottomright";
284                                         orientation = "1";
285                                 };
286                         };
287                         override@14 {
288                                 target = <&cam_module4_drivernode0>;
289                                 _overlay_ {
290                                         status = "okay";
291                                         pcl_id = "v4l2_sensor";
292                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@4/imx219_e@10";
293                                 };
294                         };
295                         /* E3322 camera 5 */
296                         override@15 {
297                                 target = <&e3322_cam5>;
298                                 _overlay_ {
299                                         status = "okay";
300                                 };
301                         };
302                         override@16 {
303                                 target = <&cam_module5>;
304                                 _overlay_ {
305                                         status = "okay";
306                                         badge = "e3322_topright_A815P2";
307                                         position = "topright";
308                                         orientation = "1";
309                                 };
310                         };
311                         override@17 {
312                                 target = <&cam_module5_drivernode0>;
313                                 _overlay_ {
314                                         status = "okay";
315                                         pcl_id = "v4l2_sensor";
316                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@5/imx219_f@10";
317                                 };
318                         };
319                         /* Enable VI ports */
320                         override@18 {
321                                 target = <&vi_base>;
322                                 _overlay_ {
323                                         num-channels=<6>;
324                                 };
325                         };
326                         override@19 {
327                                 target = <&vi_port0>;
328                                 _overlay_ {
329                                         status = "okay";
330                                 };
331                         };
332                         override@20 {
333                                 target = <&vi_in0>;
334                                 _overlay_ {
335                                         status = "okay";
336                                         csi-port = <0>;
337                                         bus-width = <2>;
338                                         remote-endpoint = <&imx219_out0>;
339                                 };
340                         };
341                         override@21 {
342                                 target = <&vi_port1>;
343                                 _overlay_ {
344                                         status = "okay";
345                                 };
346                         };
347                         override@22 {
348                                 target = <&vi_in1>;
349                                 _overlay_ {
350                                         status = "okay";
351                                         csi-port = <1>;
352                                         bus-width = <2>;
353                                         remote-endpoint = <&imx219_out1>;
354                                 };
355                         };
356                         override@23 {
357                                 target = <&vi_port2>;
358                                 _overlay_ {
359                                         status = "okay";
360                                 };
361                         };
362                         override@24 {
363                                 target = <&vi_in2>;
364                                 _overlay_ {
365                                         status = "okay";
366                                         csi-port = <2>;
367                                         bus-width = <2>;
368                                         remote-endpoint = <&imx219_out2>;
369                                 };
370                         };
371                         override@25 {
372                                 target = <&vi_port3>;
373                                 _overlay_ {
374                                         status = "okay";
375                                 };
376                         };
377                         override@26 {
378                                 target = <&vi_in3>;
379                                 _overlay_ {
380                                         status = "okay";
381                                         csi-port = <3>;
382                                         bus-width = <2>;
383                                         remote-endpoint = <&imx219_out3>;
384                                 };
385                         };
386                         override@27 {
387                                 target = <&vi_port4>;
388                                 _overlay_ {
389                                         status = "okay";
390                                 };
391                         };
392                         override@28 {
393                                 target = <&vi_in4>;
394                                 _overlay_ {
395                                         status = "okay";
396                                         csi-port = <4>;
397                                         bus-width = <2>;
398                                         remote-endpoint = <&imx219_out4>;
399                                 };
400                         };
401                         override@29 {
402                                 target = <&vi_port5>;
403                                 _overlay_ {
404                                         status = "okay";
405                                 };
406                         };
407                         override@30 {
408                                 target = <&vi_in5>;
409                                 _overlay_ {
410                                         status = "okay";
411                                         csi-port = <5>;
412                                         bus-width = <2>;
413                                         remote-endpoint = <&imx219_out5>;
414                                 };
415                         };
416                         /* Enable TCA6408 GPIO expander */
417                         override@31 {
418                                 target = <&cam_tca6408_21>;
419                                 _overlay_ {
420                                         status = "okay";
421                                 };
422                         };
423                         /* Enable TCA9548 I2C mux */
424                         override@32 {
425                                 target = <&cam_tca9548_77>;
426                                 _overlay_ {
427                                         status = "okay";
428                                 };
429                         };
430                         /* Disable E3326 camera board */
431                         override@33 {
432                                 target = <&e3326_cam0>;
433                                 _overlay_ {
434                                         status = "disabled";
435                                 };
436                         };
437                 };
438
439                 /* E3333 camera board */
440                 fragment-e3333@0 {
441                         ids = "3333-1000-000", "3333-1000-100";
442                         /* Enable E3333 camera 0 */
443                         override@0 {
444                                 target = <&e3333_cam0>;
445                                 _overlay_ {
446                                         status = "okay";
447                                 };
448                         };
449                         override@1 {
450                                 target = <&cam_module0>;
451                                 _overlay_ {
452                                         status = "okay";
453                                         badge = "e3333_bottomleft_P5V27C";
454                                         position = "bottomleft";
455                                         orientation = "1";
456                                 };
457                         };
458                         override@2 {
459                                 target = <&cam_module0_drivernode0>;
460                                 _overlay_ {
461                                         status = "okay";
462                                         pcl_id = "v4l2_sensor";
463                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@0/ov5693_a@36";
464                                 };
465                         };
466                         /* Enable E3333 camera 1 */
467                         override@3 {
468                                 target = <&e3333_cam1>;
469                                 _overlay_ {
470                                         status = "okay";
471                                 };
472                         };
473                         override@4 {
474                                 target = <&cam_module1>;
475                                 _overlay_ {
476                                         status = "okay";
477                                         badge = "e3333_centerleft_P5V27C";
478                                         position = "centerleft";
479                                         orientation = "1";
480                                 };
481                         };
482                         override@5 {
483                                 target = <&cam_module1_drivernode0>;
484                                 _overlay_ {
485                                         status = "okay";
486                                         pcl_id = "v4l2_sensor";
487                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@1/ov5693_b@36";
488                                 };
489                         };
490                         /* Enable E3333 camera 2 */
491                         override@6 {
492                                 target = <&e3333_cam2>;
493                                 _overlay_ {
494                                         status = "okay";
495                                 };
496                         };
497                         override@7 {
498                                 target = <&cam_module2>;
499                                 _overlay_ {
500                                         status = "okay";
501                                         badge = "e3333_centerright_P5V27C";
502                                         position = "centerright";
503                                         orientation = "1";
504                                 };
505                         };
506                         override@8 {
507                                 target = <&cam_module2_drivernode0>;
508                                 _overlay_ {
509                                         status = "okay";
510                                         pcl_id = "v4l2_sensor";
511                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@2/ov5693_c@36";
512                                 };
513                         };
514                         /* Enable E3333 camera 3 */
515                         override@9 {
516                                 target = <&e3333_cam3>;
517                                 _overlay_ {
518                                         status = "okay";
519                                 };
520                         };
521                         override@10 {
522                                 target = <&cam_module3>;
523                                 _overlay_ {
524                                         status = "okay";
525                                         badge = "e3333_topleft_P5V27C";
526                                         position = "topleft";
527                                         orientation = "1";
528                                 };
529                         };
530                         override@11 {
531                                 target = <&cam_module3_drivernode0>;
532                                 _overlay_ {
533                                         status = "okay";
534                                         pcl_id = "v4l2_sensor";
535                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@3/ov5693_d@36";
536                                 };
537                         };
538                         /* Enable E3333 camera 4 */
539                         override@12 {
540                                 target = <&e3333_cam4>;
541                                 _overlay_ {
542                                         status = "okay";
543                                 };
544                         };
545                         override@13 {
546                                 target = <&cam_module4>;
547                                 _overlay_ {
548                                         status = "okay";
549                                         badge = "e3333_bottomright_P5V27C";
550                                         position = "bottomright";
551                                         orientation = "1";
552                                 };
553                         };
554                         override@14 {
555                                 target = <&cam_module4_drivernode0>;
556                                 _overlay_ {
557                                         status = "okay";
558                                         pcl_id = "v4l2_sensor";
559                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@4/ov5693_e@36";
560                                 };
561                         };
562                         /* Enable E3333 camera 5 */
563                         override@15 {
564                                 target = <&e3333_cam5>;
565                                 _overlay_ {
566                                         status = "okay";
567                                 };
568                         };
569                         override@16 {
570                                 target = <&cam_module5>;
571                                 _overlay_ {
572                                         status = "okay";
573                                         badge = "e3333_topright_P5V27C";
574                                         position = "topright";
575                                         orientation = "1";
576                                 };
577                         };
578                         override@17 {
579                                 target = <&cam_module5_drivernode0>;
580                                 _overlay_ {
581                                         status = "okay";
582                                         pcl_id = "v4l2_sensor";
583                                         proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/tca9548@77/i2c@5/ov5693_f@36";
584                                 };
585                         };
586                         /* Enable VI ports */
587                         override@18 {
588                                 target = <&vi_base>;
589                                 _overlay_ {
590                                         num-channels=<6>;
591                                 };
592                         };
593                         override@19 {
594                                 target = <&vi_port0>;
595                                 _overlay_ {
596                                         status = "okay";
597                                 };
598                         };
599                         override@20 {
600                                 target = <&e3333_vi_in0>;
601                                 _overlay_ {
602                                         status = "okay";
603                                         csi-port = <0>;
604                                         bus-width = <2>;
605                                         remote-endpoint = <&e3333_ov5693_out0>;
606                                 };
607                         };
608                         override@21 {
609                                 target = <&vi_port1>;
610                                 _overlay_ {
611                                         status = "okay";
612                                 };
613                         };
614                         override@22 {
615                                 target = <&vi_in1>;
616                                 _overlay_ {
617                                         status = "okay";
618                                         csi-port = <1>;
619                                         bus-width = <2>;
620                                         remote-endpoint = <&e3333_ov5693_out1>;
621                                 };
622                         };
623                         override@23 {
624                                 target = <&vi_port2>;
625                                 _overlay_ {
626                                         status = "okay";
627                                 };
628                         };
629                         override@24 {
630                                 target = <&vi_in2>;
631                                 _overlay_ {
632                                         status = "okay";
633                                         csi-port = <2>;
634                                         bus-width = <2>;
635                                         remote-endpoint = <&e3333_ov5693_out2>;
636                                 };
637                         };
638                         override@25 {
639                                 target = <&vi_port3>;
640                                 _overlay_ {
641                                         status = "okay";
642                                 };
643                         };
644                         override@26 {
645                                 target = <&vi_in3>;
646                                 _overlay_ {
647                                         status = "okay";
648                                         csi-port = <3>;
649                                         bus-width = <2>;
650                                         remote-endpoint = <&e3333_ov5693_out3>;
651                                 };
652                         };
653                         override@27 {
654                                 target = <&vi_port4>;
655                                 _overlay_ {
656                                         status = "okay";
657                                 };
658                         };
659                         override@28 {
660                                 target = <&vi_in4>;
661                                 _overlay_ {
662                                         status = "okay";
663                                         csi-port = <4>;
664                                         bus-width = <2>;
665                                         remote-endpoint = <&e3333_ov5693_out4>;
666                                 };
667                         };
668                         override@29 {
669                                 target = <&vi_port5>;
670                                 _overlay_ {
671                                         status = "okay";
672                                 };
673                         };
674                         override@30 {
675                                 target = <&vi_in5>;
676                                 _overlay_ {
677                                         status = "okay";
678                                         csi-port = <5>;
679                                         bus-width = <2>;
680                                         remote-endpoint = <&e3333_ov5693_out5>;
681                                 };
682                         };
683                         /* Enable TCA6408 GPIO expander */
684                         override@31 {
685                                 target = <&cam_tca6408_21>;
686                                 _overlay_ {
687                                         status = "okay";
688                                 };
689                         };
690                         /* Enable TCA9548 I2C mux */
691                         override@32 {
692                                 target = <&cam_tca9548_77>;
693                                 _overlay_ {
694                                         status = "okay";
695                                 };
696                         };
697                         /* Disable E3326 camera board */
698                         override@33 {
699                                 target = <&e3326_cam0>;
700                                 _overlay_ {
701                                         status = "disabled";
702                                 };
703                         };
704                 };
705         };
706 };