/* * 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 #include / { host1x { vi { num-channels = <1>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; g2_vi_in0: endpoint { csi-port = <2>; bus-width = <4>; remote-endpoint = <&g2_out0>; }; }; }; }; i2c@546c0000 { status = "okay"; #address-cells = <1>; #size-cells = <0>; g2_e@10 { compatible = "nvidia,galileo2"; /* I2C device address */ reg = <0x10>; /* Physical dimensions of sensor */ physical_w = "3.674"; physical_h = "2.738"; /* Sensor Model */ sensor_model ="galileo2"; /* Define any required hw resources needed by driver */ /* ie. clocks, io pins, power sources */ avdd-reg = "vana"; iovdd-reg = "vif"; /* Defines number of frames to be dropped by driver internally after applying */ /* sensor crop settings. Some sensors send corrupt frames after applying */ /* crop co-ordinates */ post_crop_frame_drop = "0"; mode0 { mclk_khz = "24000"; num_lanes = "4"; tegra_sinterface = "serial_e"; discontinuous_clk = "no"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "2592"; active_h = "1944"; pixel_t = "bayer_bggr"; readout_orientation = "180"; line_length = "2688"; inherent_gain = "1"; mclk_multiplier = "17.0"; pix_clk_hz = "160000000"; min_gain_val = "1.0"; max_gain_val = "16"; min_hdr_ratio = "1"; max_hdr_ratio = "64"; min_framerate = "1.816577"; max_framerate = "30"; min_exp_time = "34"; max_exp_time = "550385"; embedded_metadata_height = "4"; }; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; g2_out0: endpoint { csi-port = <2>; bus-width = <4>; remote-endpoint = <&g2_vi_in0>; }; }; }; }; }; }; tegra-camera-platform { compatible = "nvidia, tegra-camera-platform"; /** * The general guideline for naming badge_info contains 3 parts, and is as follows, * The first part is the camera_board_id for the module; if the module is in a FFD * platform, then use the platform name for this part. * The second part contains the position of the module, ex. “rear” or “front”. * The third part contains the last 6 characters of a part number which is found * in the module's specsheet from the vender. */ modules { module0 { badge = "g2_front_P5V27C"; position = "rear"; orientation = "1"; drivernode0 { /* Declare PCL support driver (classically known as guid) */ pcl_id = "v4l2_sensor"; /* Driver's v4l2 device name */ devname = "g2 6-0010"; /* Declare the device-tree hierarchy to driver instance */ proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/g2_e@10"; }; drivernode1 { /* Declare PCL support driver (classically known as guid) */ pcl_id = "v4l2_focuser_stub"; }; }; }; }; };