2 * Copyright (c) 2014-2016, NVIDIA CORPORATION. All rights reserved.
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; either version 2 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #include <dt-bindings/media/camera.h>
19 #include <dt-bindings/platform/t210/t210.h>
33 remote-endpoint = <&imx214_out0>;
39 remote-endpoint = <&ov5693_out0>;
50 compatible = "nvidia,imx214";
53 clocks = <&tegra_car TEGRA210_CLK_ID_CLK_OUT_3>;
55 clock-frequency = <24000000>;
57 /* Physical dimensions of sensor */
62 sensor_model ="imx214";
64 /* V4L2 device node location */
68 /* Defines number of frames to be dropped by driver internally after applying */
69 /* sensor crop settings. Some sensors send corrupt frames after applying */
70 /* crop co-ordinates */
71 post_crop_frame_drop = "1";
74 * Define any required hw resources needed by
77 /* ie. clocks, io pins, power sources */
79 reset-gpios = <&gpio TEGRA_GPIO(S, 7) 0>;
80 af-gpios = <&gpio TEGRA_GPIO(S, 5) 0>;
81 pwdn-gpios = <&gpio TEGRA_GPIO(S, 7) 0>;
82 vana-supply = <&max77620_ldo3>;
83 vdig-supply = <&vdd_sys_boost>;
84 vif-supply = <&en_vdd_cam>;
90 default-clk = <24000000>;
94 default-width = <4096>;
95 default-height = <3072>;
100 eeprom-blk-size = <256>;
103 * A modeX node is required to support v4l2
104 * driver implementation with NVIDIA camera
108 * Standard MIPI driving clock, typically 24MHz
111 * Number of lane channels sensor is programmed
114 * tegra_sinterface = "";
115 * The base tegra serial interface lanes are
118 * discontinuous_clk = "";
119 * The sensor is programmed to use a
120 * discontinuous clock on MIPI lanes
122 * cil_settletime = "";
123 * MIPI lane settle time value.
124 * A "0" value attempts to autocalibrate based
131 * Pixel active region width
134 * Pixel active region height
137 * The sensor readout pixel pattern
138 * For eg - 10 bit bayer having 'bggr' pixel pattern has value "bayer_bggr"
139 * 12 bit bayer having 'bggr' pixel pattern has value "bayer_bggr12"
140 * 14 bit bayer having 'bggr' pixel pattern has value "bayer_bggr14"
142 * readout_orientation = "0";
143 * Based on camera module orientation.
144 * Only change readout_orientation if you
145 * specifically program a different readout
146 * order for this mode
149 * Pixel line length (width) for sensor mode.
150 * This is used to calibrate features in our
153 * mclk_multiplier = "";
154 * Multiplier to MCLK to help time hardware
156 * TODO: Assign to PLL_Multiplier as well until
160 * Sensor pixel clock used for calculations
161 * like exposure and framerate
166 * inherent_gain = "";
167 * Gain obtained inherently from mode
168 * (ie. pixel binning)
170 * min_gain_val = ""; (floor to 6 decimal places)
171 * max_gain_val = ""; (floor to 6 decimal places)
172 * Gain limits for mode
174 * min_exp_time = ""; (ceil to integer)
175 * max_exp_time = ""; (ceil to integer)
176 * Exposure Time limits for mode (us)
178 * min_hdr_ratio = "";
179 * max_hdr_ratio = "";
180 * HDR Ratio limits for mode
182 * min_framerate = "";
183 * max_framerate = "";
184 * Framerate limits for mode (fps)
186 * embedded_metadata_height = "";
187 * Sensor embedded metadata height in units of rows.
188 * If sensor does not support embedded metadata value should be 0.
191 mode0 { // IMX214_MODE_4096X3072
194 tegra_sinterface = "serial_a";
195 discontinuous_clk = "yes";
196 cil_settletime = "0";
200 pixel_t = "bayer_rggb";
201 readout_orientation = "0";
202 line_length = "5008";
204 mclk_multiplier = "25";
205 pix_clk_hz = "480000000";
207 min_gain_val = "1.0";
208 max_gain_val = "16.0";
210 max_hdr_ratio = "64";
211 min_framerate = "1.462526";
212 max_framerate = "30";
214 max_exp_time = "683645";
215 embedded_metadata_height = "4";
218 mode1 { // IMX214_MODE_4096X2304
221 tegra_sinterface = "serial_a";
222 discontinuous_clk = "yes";
223 cil_settletime = "0";
227 pixel_t = "bayer_rggb";
228 readout_orientation = "0";
229 line_length = "5008";
231 mclk_multiplier = "25";
232 pix_clk_hz = "480000000";
234 min_gain_val = "1.0";
235 max_gain_val = "16.0";
237 max_hdr_ratio = "64";
238 min_framerate = "1.462526";
239 max_framerate = "30";
241 max_exp_time = "683645";
242 embedded_metadata_height = "4";
245 mode2 { //IMX214_MODE_3840X2160
248 tegra_sinterface = "serial_a";
249 discontinuous_clk = "yes";
250 cil_settletime = "0";
254 pixel_t = "bayer_rggb";
255 readout_orientation = "0";
256 line_length = "5008";
258 mclk_multiplier = "25";
259 pix_clk_hz = "480000000";
261 min_gain_val = "1.0";
262 max_gain_val = "16.0";
264 max_hdr_ratio = "64";
265 min_framerate = "1.462526";
266 max_framerate = "30";
268 max_exp_time = "683645";
269 embedded_metadata_height = "4";
272 mode3 { // IMX214_MODE_2048X1536
275 tegra_sinterface = "serial_a";
276 discontinuous_clk = "yes";
277 cil_settletime = "0";
281 pixel_t = "bayer_rggb";
282 readout_orientation = "0";
283 line_length = "5008";
285 mclk_multiplier = "25";
286 pix_clk_hz = "480000000";
288 min_gain_val = "1.0";
289 max_gain_val = "16.0";
291 max_hdr_ratio = "64";
292 min_framerate = "1.462526";
293 max_framerate = "30";
295 max_exp_time = "683645";
296 embedded_metadata_height = "4";
299 mode4 { // IMX214_MODE_2048X1152
302 tegra_sinterface = "serial_a";
303 discontinuous_clk = "yes";
304 cil_settletime = "0";
308 pixel_t = "bayer_rggb";
309 readout_orientation = "0";
310 line_length = "5008";
312 mclk_multiplier = "25";
313 pix_clk_hz = "480000000";
315 min_gain_val = "1.0";
316 max_gain_val = "16.0";
318 max_hdr_ratio = "64";
319 min_framerate = "1.462526";
320 max_framerate = "30";
322 max_exp_time = "683645";
323 embedded_metadata_height = "4";
326 mode5 { // IMX214_MODE_1920X1080
329 tegra_sinterface = "serial_a";
330 discontinuous_clk = "yes";
331 cil_settletime = "0";
335 pixel_t = "bayer_rggb";
336 readout_orientation = "0";
337 line_length = "5008";
339 mclk_multiplier = "25";
340 pix_clk_hz = "480000000";
342 min_gain_val = "1.0";
343 max_gain_val = "16.0";
345 max_hdr_ratio = "64";
346 min_framerate = "1.462526";
347 max_framerate = "30";
349 max_exp_time = "683645";
350 embedded_metadata_height = "4";
353 mode6 { // IMX214_MODE_1280X720_120FPS
356 tegra_sinterface = "serial_a";
357 discontinuous_clk = "yes";
358 cil_settletime = "0";
362 pixel_t = "bayer_rggb";
363 readout_orientation = "0";
364 line_length = "5008";
366 mclk_multiplier = "25";
367 pix_clk_hz = "480000000";
369 min_gain_val = "1.0";
370 max_gain_val = "16.0";
372 max_hdr_ratio = "64";
373 min_framerate = "1.462526";
374 max_framerate = "120";
376 max_exp_time = "683645";
377 embedded_metadata_height = "4";
380 #address-cells = <1>;
385 imx214_out0: endpoint {
388 remote-endpoint = <&vi_in0>;
395 compatible = "nvidia,ov5693";
396 /* I2C device address */
399 /* Physical dimensions of sensor */
400 physical_w = "3.674";
401 physical_h = "2.738";
404 sensor_model ="ov5693";
406 /* V4L2 device node location */
409 /* Define any required hw resources needed by driver */
410 /* ie. clocks, io pins, power sources */
411 /* mclk-index indicates the index of the */
412 /* mclk-name with in the clock-names array */
413 clocks = <&tegra_car TEGRA210_CLK_ID_CLK_OUT_3>;
414 clock-names = "mclk";
415 clock-frequency = <24000000>;
418 pwdn-gpios = <&gpio TEGRA_GPIO(T, 0) 0>;
421 vana-supply = <&max77620_ldo3>;
422 vif-supply = <&en_vdd_cam>;
424 /* Defines number of frames to be dropped by driver internally after applying */
425 /* sensor crop settings. Some sensors send corrupt frames after applying */
426 /* crop co-ordinates */
427 post_crop_frame_drop = "0";
429 mode0 { // OV5693_MODE_2592X1944
432 tegra_sinterface = "serial_c";
433 discontinuous_clk = "no";
434 dpcm_enable = "false";
435 cil_settletime = "0";
439 pixel_t = "bayer_bggr";
440 readout_orientation = "90";
441 line_length = "2688";
443 mclk_multiplier = "17.0";
444 pix_clk_hz = "160000000";
446 min_gain_val = "1.0";
449 max_hdr_ratio = "64";
450 min_framerate = "1.816577";
451 max_framerate = "30";
453 max_exp_time = "550385";
454 embedded_metadata_height = "0";
457 mode1 { //OV5693_MODE_2592X1458
460 tegra_sinterface = "serial_c";
461 discontinuous_clk = "no";
462 dpcm_enable = "false";
463 cil_settletime = "0";
467 pixel_t = "bayer_bggr";
468 readout_orientation = "90";
469 line_length = "2688";
471 mclk_multiplier = "17.0";
472 pix_clk_hz = "160000000";
474 min_gain_val = "1.0";
477 max_hdr_ratio = "64";
478 min_framerate = "1.816577";
479 max_framerate = "30";
481 max_exp_time = "550385";
482 embedded_metadata_height = "0";
485 mode2 { //OV5693_MODE_1280X720
488 tegra_sinterface = "serial_c";
489 discontinuous_clk = "no";
490 dpcm_enable = "false";
491 cil_settletime = "0";
495 pixel_t = "bayer_bggr";
496 readout_orientation = "90";
497 line_length = "1752";
499 mclk_multiplier = "17.0";
500 pix_clk_hz = "160000000";
502 min_gain_val = "1.0";
505 max_hdr_ratio = "64";
506 min_framerate = "2.787078";
507 max_framerate = "120";
509 max_exp_time = "358733";
510 embedded_metadata_height = "0";
514 mode3 { //OV5693_MODE_2592X1944_HDR
517 tegra_sinterface = "serial_c";
518 discontinuous_clk = "no";
519 dpcm_enable = "false";
520 cil_settletime = "0";
524 pixel_t = "hdr_bggr";
525 readout_orientation = "90";
526 line_length = "3696";
528 mclk_multiplier = "19.0";
529 pix_clk_hz = "176000000";
531 min_gain_val = "1.0";
534 max_hdr_ratio = "64";
535 min_framerate = "1.453262";
536 max_framerate = "24";
538 max_exp_time = "687981";
539 embedded_metadata_height = "0";
543 #address-cells = <1>;
547 ov5693_out0: endpoint {
550 remote-endpoint = <&vi_in1>;
559 compatible = "nvidia,dw9714";
560 vdd-supply = <&max77620_ldo3>;
561 vdd_i2c-supply = <&en_vdd_cam>;
563 dev_name = "focuser";
566 /* Copy pasted everything from camera-pcl node for now */
567 chipname = "pcl_DW9714";
571 busnum = <VI_I2C_BUS>;
574 pinmuxgrp = <0xFFFF>;
576 regulators = "vdd", "vdd_i2c";
577 drivername = "dw9714";
579 /* focuser capabilities */
580 settle-time = <30000>; /* uS */
581 slew-rate = <0x3a200c>; /* tunned slew mode */
582 macro-position = <450>;
583 infinity-position = <200>;
587 tegra-camera-platform {
588 compatible = "nvidia, tegra-camera-platform";
591 * The general guideline for naming badge_info contains 3 parts,
593 * The first part is the camera_board_id for the module
594 * if the module is in a FFD platform, then use platform name.
595 * The second part contains the position of the module
596 * ex. “rear” or “front”.
597 * The third part contains the last 6 characters of part number
598 * which is found in the module's specsheet from the vender.
602 badge = "e2249_rear_P13N05B";
607 * Declare PCL support driver
608 * (classically known as guid)
609 * Device tree hierarchy to driver
611 pcl_id = "v4l2_sensor";
612 proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/imx214@1a";
616 * Declare PCL support driver
617 * (classically known as guid)
619 pcl_id = "v4l2_focuser_stub";
623 * Declare PCL support driver
624 * (classically known as guid)
630 badge = "e2249_front_P5V27C";
634 pcl_id = "v4l2_sensor";
635 proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/ov5693_c@36";
639 * Declare PCL support driver
640 * (classically known as guid)
642 pcl_id = "v4l2_focuser_stub";
649 compatible = "nvidia,tegra210-camera", "simple-bus";
650 configuration = <0xAA55AA55>;
653 module1: module1@modules {
654 compatible = "sensor,rear";
655 badge_info = "e2249_rear_P13N05B";
658 profile = <&imx214_2>;
659 platformdata = "t210ref_imx214_pdata";
662 profile = <&dw9714_1>;
663 platformdata = "t210ref_dw9714_pdata";
666 profile = <&as3648_1>;
667 platformdata = "t210ref_as3648_pdata";
670 module2: module2@modules {
671 compatible = "sensor,front";
672 badge_info = "e2249_front_P5V27C";
675 profile = <&ov5693_1>;
676 platformdata = "t210ref_ov5693f_pdata";
679 module3: module3@modules {
680 compatible = "sensor,rear";
681 badge_info = "e2249_front_P5V27C";
684 profile = <&ov5693_A>;
685 platformdata = "t210ref_ov5693A_pdata";
688 module4: module4@modules {
689 compatible = "sensor,front";
690 badge_info = "e2249_front_P5V27C";
693 profile = <&ov5693_B>;
694 platformdata = "t210ref_ov5693B_pdata";
697 module5: module5@modules {
698 compatible = "sensor,front";
699 badge_info = "e2249_front_P5V27C";
702 profile = <&ov5693_C>;
703 platformdata = "t210ref_ov5693C_pdata";
706 module6: module6@modules {
707 compatible = "sensor,front";
708 badge_info = "e2249_front_P5V27C";
711 profile = <&ov5693_D>;
712 platformdata = "t210ref_ov5693D_pdata";
715 module7: module7@modules {
716 compatible = "sensor,front";
717 badge_info = "e2249_front_P5V27C";
720 profile = <&ov5693_E>;
721 platformdata = "t210ref_ov5693E_pdata";
724 module8: module8@modules {
725 compatible = "sensor,front";
726 badge_info = "e2249_front_P5V27C";
729 profile = <&ov5693_F>;
730 platformdata = "t210ref_ov5693F_pdata";
736 imx214_1: imx214-pcl@x_001a {
738 chipname = "pcl_IMX214";
743 busnum = <VI_I2C_BUS>;
746 pinmuxgrp = <0xFFFF>;
748 regulators = "vana", "vdig", "vif";
749 clocks = "cam_mclk1";
750 drivername = "imx214";
751 detect = <0x0002 0x0016 0xFFFF 0x0214>;
754 CAMERA_IND_CLK_SET(10000)
755 CAMERA_GPIO_CLR(TEGRA_GPIO(S, 7))
757 CAMERA_REGULATOR_ON(2)
758 CAMERA_REGULATOR_ON(1)
759 CAMERA_REGULATOR_ON(0)
761 CAMERA_GPIO_SET(TEGRA_GPIO(S, 7))
762 CAMERA_GPIO_SET(TEGRA_GPIO(S, 5))
768 CAMERA_GPIO_CLR(TEGRA_GPIO(S, 7))
770 CAMERA_REGULATOR_OFF(2)
771 CAMERA_REGULATOR_OFF(1)
772 CAMERA_REGULATOR_OFF(0)
776 dw9714_1: dw9714-pcl@x_000c {
778 chipname = "pcl_DW9714";
783 busnum = <VI_I2C_BUS>;
786 pinmuxgrp = <0xFFFF>;
788 regulators = "vdd", "vdd_i2c";
789 drivername = "dw9714";
790 detect = <0x0000 0x0000 0xFFFF 0x0000>;
793 CAMERA_REGULATOR_ON(1)
794 CAMERA_REGULATOR_ON(0)
796 CAMERA_GPIO_SET(TEGRA_GPIO(S, 5))
801 CAMERA_REGULATOR_OFF(0)
802 CAMERA_REGULATOR_OFF(1)
803 CAMERA_GPIO_CLR(TEGRA_GPIO(S, 5))
807 /* focuser capabilities */
808 settle-time = <30000>; /* uS */
809 slew-rate = <0x3a200c>; /* tunned slew mode */
810 macro-position = <450>;
811 infinity-position = <200>;
815 as3648_1: as3648-pcl@x_0030 {
817 chipname = "pcl_AS3648";
822 busnum = <VI_I2C_BUS>;
825 pinmuxgrp = <0xFFFF>;
827 regulators = "vi2c", "vin";
828 drivername = "as3648";
829 detect = <0x0001 0x0000 0x00F0 0x00b0>;
832 CAMERA_REGULATOR_ON(1)
833 CAMERA_REGULATOR_ON(0)
838 CAMERA_REGULATOR_OFF(0)
839 CAMERA_REGULATOR_OFF(1)
845 max-total-current = <1000>; /* mA */
846 max-peak-current = <600>; /* mA */
847 max-torch-current = <600>; /* mA */
848 vin-low-v-run = <3070>; /* mV */
850 ov5693_1: ov5693-pcl@x_0036 {
852 chipname = "pcl_OV5693f";
857 busnum = <VI_I2C_BUS>;
860 pinmuxgrp = <0xFFFF>;
862 regulators = "vana", "vif";
863 clocks = "cam_mclk1";
864 drivername = "ov5693.1";
865 detect = <0x0002 0x300A 0xFFFF 0x5690>;
868 CAMERA_IND_CLK_SET(10000)
869 CAMERA_GPIO_CLR(TEGRA_GPIO(T, 0))
871 CAMERA_REGULATOR_ON(0)
872 CAMERA_REGULATOR_ON(1)
874 CAMERA_GPIO_SET(TEGRA_GPIO(T, 0))
880 CAMERA_GPIO_CLR(TEGRA_GPIO(T, 0))
882 CAMERA_REGULATOR_OFF(1)
883 CAMERA_REGULATOR_OFF(0)
886 /* sensor capabilities */
887 cap-version = <0x34340002>;
888 cap-identifier = "OV5693.1";
889 cap-sensor_nvc_interface = <5>;
890 cap-pixel_types = <0x101>;
891 cap-orientation = <0>;
893 cap-initial_clock_rate_khz = <6000>;
894 cap-h_sync_edge = <0>;
895 cap-v_sync_edge = <0>;
896 cap-mclk_on_vgp0 = <0>;
898 cap-data_lanes = <2>;
899 cap-virtual_channel_id = <0>;
900 cap-discontinuous_clk_mode = <1>;
901 cap-cil_threshold_settle = <0>;
902 cap-min_blank_time_width = <16>;
903 cap-min_blank_time_height = <16>;
904 cap-preferred_mode_index = <0>;
905 cap-external_clock_khz_0 = <24000>;
906 cap-clock_multiplier_0 = <8000000>;
907 cap-external_clock_khz_1 = <0>;
908 cap-clock_multiplier_1 = <0>;
911 imx214_2: imx214-pcl@v_001a {
913 chipname = "v4l2_IMX214";
918 busnum = <VI_I2C_BUS>;
921 pinmuxgrp = <0xFFFF>;
923 regulators = "vana", "vdig", "vif";
924 clocks = "cam_mclk1";
925 drivername = "imx214";
927 skip_camera_install = <1>;
929 ov5693_A: ov5693-pcl@a_0036 {
931 chipname = "pcl_OV5693A";
936 busnum = <T210_CAMERA_I2C_MUX_BUS(3)>;
939 pinmuxgrp = <0xFFFF>;
941 regulators = "vana", "vif";
942 clocks = "cam_mclk1";
943 drivername = "ov5693";
944 detect = <0x0002 0x300A 0xFFFF 0x5690>;
947 CAMERA_IND_CLK_SET(10000)
948 CAMERA_GPIO_CLR(TEGRA_GPIO(S, 7))
950 CAMERA_REGULATOR_ON(0)
951 CAMERA_REGULATOR_ON(1)
953 CAMERA_GPIO_SET(TEGRA_GPIO(S, 7))
959 CAMERA_GPIO_CLR(TEGRA_GPIO(S, 7))
961 CAMERA_REGULATOR_OFF(1)
962 CAMERA_REGULATOR_OFF(0)
965 /* sensor capabilities */
966 cap-cap-version = <0x34340002>;
967 cap-identifier = "OV5693_A";
968 cap-sensor_nvc_interface = <3>;
969 cap-pixel_types = <0x101>;
970 cap-orientation = <0>;
972 cap-initial_clock_rate_khz = <6000>;
973 cap-h_sync_edge = <0>;
974 cap-v_sync_edge = <0>;
975 cap-mclk_on_vgp0 = <0>;
977 cap-data_lanes = <2>;
978 cap-virtual_channel_id = <0>;
979 cap-discontinuous_clk_mode = <1>;
980 cap-cil_threshold_settle = <0>;
981 cap-min_blank_time_width = <16>;
982 cap-min_blank_time_height = <16>;
983 cap-preferred_mode_index = <0>;
984 cap-external_clock_khz_0 = <24000>;
985 cap-clock_multiplier_0 = <8000000>;
986 cap-external_clock_khz_1 = <0>;
987 cap-clock_multiplier_1 = <0>;
990 ov5693_B: ov5693-pcl@b_0036 {
992 chipname = "pcl_OV5693B";
997 busnum = <T210_CAMERA_I2C_MUX_BUS(2)>;
1000 pinmuxgrp = <0xFFFF>;
1002 regulators = "vana", "vif";
1003 clocks = "cam_mclk1";
1004 drivername = "ov5693";
1005 detect = <0x0002 0x300A 0xFFFF 0x5690>;
1008 CAMERA_IND_CLK_SET(10000)
1009 CAMERA_GPIO_CLR(TEGRA_GPIO(T, 0))
1011 CAMERA_REGULATOR_ON(0)
1012 CAMERA_REGULATOR_ON(1)
1014 CAMERA_GPIO_SET(TEGRA_GPIO(T, 0))
1020 CAMERA_GPIO_CLR(TEGRA_GPIO(T, 0))
1022 CAMERA_REGULATOR_OFF(1)
1023 CAMERA_REGULATOR_OFF(0)
1026 /* sensor capabilities */
1027 cap-cap-version = <0x34340002>;
1028 cap-identifier = "OV5693_B";
1029 cap-sensor_nvc_interface = <5>;
1030 cap-pixel_types = <0x101>;
1031 cap-orientation = <0>;
1032 cap-direction = <0>;
1033 cap-initial_clock_rate_khz = <6000>;
1034 cap-h_sync_edge = <0>;
1035 cap-v_sync_edge = <0>;
1036 cap-mclk_on_vgp0 = <0>;
1038 cap-data_lanes = <2>;
1039 cap-virtual_channel_id = <0>;
1040 cap-discontinuous_clk_mode = <1>;
1041 cap-cil_threshold_settle = <0>;
1042 cap-min_blank_time_width = <16>;
1043 cap-min_blank_time_height = <16>;
1044 cap-preferred_mode_index = <0>;
1045 cap-external_clock_khz_0 = <24000>;
1046 cap-clock_multiplier_0 = <8000000>;
1047 cap-external_clock_khz_1 = <0>;
1048 cap-clock_multiplier_1 = <0>;
1051 ov5693_C: ov5693-pcl@c_0036 {
1053 chipname = "pcl_OV5693C";
1058 busnum = <T210_CAMERA_I2C_MUX_BUS(0)>;
1061 pinmuxgrp = <0xFFFF>;
1063 regulators = "vana", "vif";
1064 clocks = "cam_mclk1";
1065 drivername = "ov5693";
1066 detect = <0x0002 0x300A 0xFFFF 0x5690>;
1069 CAMERA_IND_CLK_SET(10000)
1070 CAMERA_GPIO_CLR(TEGRA_GPIO(T, 0))
1072 CAMERA_REGULATOR_ON(0)
1073 CAMERA_REGULATOR_ON(1)
1075 CAMERA_GPIO_SET(TEGRA_GPIO(T, 0))
1081 CAMERA_GPIO_CLR(TEGRA_GPIO(T, 0))
1083 CAMERA_REGULATOR_OFF(1)
1084 CAMERA_REGULATOR_OFF(0)
1087 /* sensor capabilities */
1088 cap-cap-version = <0x34340002>;
1089 cap-identifier = "OV5693_C";
1090 cap-sensor_nvc_interface = <6>;
1091 cap-pixel_types = <0x101>;
1092 cap-orientation = <0>;
1093 cap-direction = <0>;
1094 cap-initial_clock_rate_khz = <6000>;
1095 cap-h_sync_edge = <0>;
1096 cap-v_sync_edge = <0>;
1097 cap-mclk_on_vgp0 = <0>;
1099 cap-data_lanes = <2>;
1100 cap-virtual_channel_id = <0>;
1101 cap-discontinuous_clk_mode = <1>;
1102 cap-cil_threshold_settle = <0>;
1103 cap-min_blank_time_width = <16>;
1104 cap-min_blank_time_height = <16>;
1105 cap-preferred_mode_index = <0>;
1106 cap-external_clock_khz_0 = <24000>;
1107 cap-clock_multiplier_0 = <8000000>;
1108 cap-external_clock_khz_1 = <0>;
1109 cap-clock_multiplier_1 = <0>;
1112 ov5693_D: ov5693-pcl@d_0036 {
1114 chipname = "pcl_OV5693D";
1119 busnum = <T210_CAMERA_I2C_MUX_BUS(1)>;
1122 pinmuxgrp = <0xFFFF>;
1124 regulators = "vana", "vif";
1125 clocks = "cam_mclk1";
1126 drivername = "ov5693";
1127 detect = <0x0002 0x300A 0xFFFF 0x5690>;
1130 CAMERA_IND_CLK_SET(10000)
1131 CAMERA_GPIO_CLR(TEGRA_GPIO(S, 7))
1133 CAMERA_REGULATOR_ON(0)
1134 CAMERA_REGULATOR_ON(1)
1136 CAMERA_GPIO_SET(TEGRA_GPIO(S, 7))
1142 CAMERA_GPIO_CLR(TEGRA_GPIO(S, 7))
1144 CAMERA_REGULATOR_OFF(1)
1145 CAMERA_REGULATOR_OFF(0)
1148 /* sensor capabilities */
1149 cap-cap-version = <0x34340002>;
1150 cap-identifier = "OV5693_D";
1151 cap-sensor_nvc_interface = <4>;
1152 cap-pixel_types = <0x101>;
1153 cap-orientation = <0>;
1154 cap-direction = <0>;
1155 cap-initial_clock_rate_khz = <6000>;
1156 cap-h_sync_edge = <0>;
1157 cap-v_sync_edge = <0>;
1158 cap-mclk_on_vgp0 = <0>;
1160 cap-data_lanes = <2>;
1161 cap-virtual_channel_id = <0>;
1162 cap-discontinuous_clk_mode = <1>;
1163 cap-cil_threshold_settle = <0>;
1164 cap-min_blank_time_width = <16>;
1165 cap-min_blank_time_height = <16>;
1166 cap-preferred_mode_index = <0>;
1167 cap-external_clock_khz_0 = <24000>;
1168 cap-clock_multiplier_0 = <8000000>;
1169 cap-external_clock_khz_1 = <0>;
1170 cap-clock_multiplier_1 = <0>;
1173 ov5693_E: ov5693-pcl@e_0036 {
1175 chipname = "pcl_OV5693E";
1180 busnum = <T210_CAMERA_I2C_MUX_BUS(5)>;
1183 pinmuxgrp = <0xFFFF>;
1185 regulators = "vana", "vif";
1186 clocks = "cam_mclk3";
1187 drivername = "ov5693";
1188 detect = <0x0002 0x300A 0xFFFF 0x5690>;
1191 CAMERA_IND_CLK_SET(10000)
1192 CAMERA_GPIO_CLR(TEGRA_GPIO(Z, 3))
1194 CAMERA_REGULATOR_ON(0)
1195 CAMERA_REGULATOR_ON(1)
1197 CAMERA_GPIO_SET(TEGRA_GPIO(Z, 3))
1203 CAMERA_GPIO_CLR(TEGRA_GPIO(Z, 3))
1205 CAMERA_REGULATOR_OFF(1)
1206 CAMERA_REGULATOR_OFF(0)
1209 /* sensor capabilities */
1210 cap-cap-version = <0x34340002>;
1211 cap-identifier = "OV5693_E";
1212 cap-sensor_nvc_interface = <7>;
1213 cap-pixel_types = <0x101>;
1214 cap-orientation = <0>;
1215 cap-direction = <0>;
1216 cap-initial_clock_rate_khz = <6000>;
1217 cap-h_sync_edge = <0>;
1218 cap-v_sync_edge = <0>;
1219 cap-mclk_on_vgp0 = <0>;
1221 cap-data_lanes = <2>;
1222 cap-virtual_channel_id = <0>;
1223 cap-discontinuous_clk_mode = <1>;
1224 cap-cil_threshold_settle = <0>;
1225 cap-min_blank_time_width = <16>;
1226 cap-min_blank_time_height = <16>;
1227 cap-preferred_mode_index = <0>;
1228 cap-external_clock_khz_0 = <24000>;
1229 cap-clock_multiplier_0 = <8000000>;
1230 cap-external_clock_khz_1 = <0>;
1231 cap-clock_multiplier_1 = <0>;
1234 ov5693_F: ov5693-pcl@f_0036 {
1236 chipname = "pcl_OV5693F";
1241 busnum = <T210_CAMERA_I2C_MUX_BUS(4)>;
1244 pinmuxgrp = <0xFFFF>;
1246 regulators = "vana", "vif";
1247 clocks = "cam_mclk3";
1248 drivername = "ov5693";
1249 detect = <0x0002 0x300A 0xFFFF 0x5690>;
1252 CAMERA_IND_CLK_SET(10000)
1253 CAMERA_GPIO_CLR(TEGRA_GPIO(T, 1))
1255 CAMERA_REGULATOR_ON(0)
1256 CAMERA_REGULATOR_ON(1)
1258 CAMERA_GPIO_SET(TEGRA_GPIO(T, 1))
1264 CAMERA_GPIO_CLR(TEGRA_GPIO(T, 1))
1266 CAMERA_REGULATOR_OFF(1)
1267 CAMERA_REGULATOR_OFF(0)
1270 /* sensor capabilities */
1271 cap-cap-version = <0x34340002>;
1272 cap-identifier = "OV5693_F";
1273 cap-sensor_nvc_interface = <8>;
1274 cap-pixel_types = <0x101>;
1275 cap-orientation = <0>;
1276 cap-direction = <0>;
1277 cap-initial_clock_rate_khz = <6000>;
1278 cap-h_sync_edge = <0>;
1279 cap-v_sync_edge = <0>;
1280 cap-mclk_on_vgp0 = <0>;
1282 cap-data_lanes = <2>;
1283 cap-virtual_channel_id = <0>;
1284 cap-discontinuous_clk_mode = <1>;
1285 cap-cil_threshold_settle = <0>;
1286 cap-min_blank_time_width = <16>;
1287 cap-min_blank_time_height = <16>;
1288 cap-preferred_mode_index = <0>;
1289 cap-external_clock_khz_0 = <24000>;
1290 cap-clock_multiplier_0 = <8000000>;
1291 cap-external_clock_khz_1 = <0>;
1292 cap-clock_multiplier_1 = <0>;