/* * Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #define CAM0_RST_L TEGRA_GPIO(S, 4) #define CAM0_PWDN TEGRA_GPIO(S, 7) #define CAM1_RST_L TEGRA_GPIO(S, 5) #define CAM1_PWDN TEGRA_GPIO(T, 0) /* CAM2_RST TCA9539 - P10 */ /* CAM2_PWDN TCA9539 - P07 */ /* CAM_AF_PWDN TCA9539 - P13 */ /* camera control gpio definitions */ / { tegra-camera-platform { compatible = "nvidia, tegra-camera-platform"; /** * Physical settings to calculate max ISO BW * * num_csi_lanes = <>; * Total number of CSI lanes when all cameras are active * * max_lane_speed = <>; * Max lane speed in Kbit/s * * min_bits_per_pixel = <>; * Min bits per pixel * * vi_peak_byte_per_pixel = <>; * Max byte per pixel for the VI ISO case * * vi_bw_margin_pct = <>; * Vi bandwidth margin in percentage * * isp_peak_byte_per_pixel = <>; * Max byte per pixel for the ISP ISO case * * isp_bw_margin_pct = <>; * Isp bandwidth margin in percentage */ num_csi_lanes = <8>; max_lane_speed = <1500000>; min_bits_per_pixel = <10>; vi_peak_byte_per_pixel = <2>; vi_bw_margin_pct = <25>; max_pixel_rate = <600000>; isp_peak_byte_per_pixel = <3>; isp_bw_margin_pct = <25>; }; host1x { i2c@546c0000 { ov23850_a@48 { /* Define any required hw resources needed by driver */ /* ie. clocks, io pins, power sources */ mclk = "cam_mclk1"; reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>; //also for VCM_2V8 en pwdn-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>; vana-supply = <&en_vdd_cam_hv_2v8>; vdig-supply = <&en_vdd_cam_1v2>; vif-supply = <&en_vdd_cam>; vvcm-suply = <&en_vdd_vcm_2v8>; }; lc898212_1: lc898212@72 { vvcm-supply = <&en_vdd_vcm_2v8>; }; }; }; i2c@7000c000 { ov23850_c@48 { /* Define any required hw resources needed by driver */ /* ie. clocks, io pins, power sources */ mclk = "cam_mclk1"; reset-gpios = <&gpio CAM1_RST_L GPIO_ACTIVE_HIGH>; //also for VCM_2V8 en pwdn-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>; vana-supply = <&en_vdd_cam_hv_2v8>; vdig-supply = <&en_vdd_cam_1v2>; vif-supply = <&en_vdd_cam>; vvcm-suply = <&en_vdd_vcm_2v8>; }; lc898212_2: lc898212@72 { vvcm-supply = <&en_vdd_vcm_2v8>; }; }; gpio: gpio@6000d000 { camera-control { gpio-output-low = < CAM0_RST_L CAM0_PWDN CAM1_RST_L CAM1_PWDN >; }; }; };