Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
공백 변경 숨기기
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
텍스트 스타일
모양 변경
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Diff_dronecore
생성일
4년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
46 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
886 행
복사
46 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
887 행
복사
/*
/*
* Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.
* Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved.
*
*
* This program is free software; you can redistribute it and/or modify
* 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
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
* more details.
*
*
* You should have received a copy of the GNU General Public License
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
*/
#include <dt-bindings/media/camera.h>
#include <dt-bindings/media/camera.h>
/ {
/ {
host1x {
host1x {
vi@15c10000 {
vi@15c10000 {
num-channels = <6>;
num-channels = <6>;
ports {
ports {
status="okay";
status="okay";
#address-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
#size-cells = <0>;
vi_port0: port@0 {
vi_port0: port@0 {
status="okay";
status="okay";
reg = <0>;
reg = <0>;
rbpcv2_imx219_vi_in0: endpoint {
rbpcv2_imx219_vi_in0: endpoint {
status="okay";
status="okay";
port-index = <0>;
port-index = <0>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_csi_out0>;
remote-endpoint = <&rbpcv2_imx219_csi_out0>;
};
};
};
};
vi_port1: port@1 {
vi_port1: port@1 {
status="okay";
status="okay";
reg = <1>;
reg = <1>;
rbpcv2_imx219_vi_in1: endpoint {
rbpcv2_imx219_vi_in1: endpoint {
status="okay";
status="okay";
port-index = <2>;
port-index = <2>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_csi_out1>;
remote-endpoint = <&rbpcv2_imx219_csi_out1>;
};
};
};
};
vi_port2: port@2 {
vi_port2: port@2 {
status="okay";
status="okay";
reg = <2>;
reg = <2>;
rbpcv2_imx219_vi_in2: endpoint {
rbpcv2_imx219_vi_in2: endpoint {
status="okay";
status="okay";
복사
복사됨
복사
복사됨
port-index = <
3
>;
port-index = <
4
>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_csi_out2>;
remote-endpoint = <&rbpcv2_imx219_csi_out2>;
};
};
};
};
vi_port3: port@3 {
vi_port3: port@3 {
status="okay";
status="okay";
reg = <3>;
reg = <3>;
rbpcv2_imx219_vi_in3: endpoint {
rbpcv2_imx219_vi_in3: endpoint {
status="okay";
status="okay";
복사
복사됨
복사
복사됨
port-index = <
4
>;
port-index = <
3
>;
bus-width = <
2
>;
bus-width = <
4
>;
remote-endpoint = <&rbpcv2_imx219_csi_out3>;
remote-endpoint = <&rbpcv2_imx219_csi_out3>;
};
};
};
};
vi_port4: port@4 {
vi_port4: port@4 {
status="okay";
status="okay";
reg = <4>;
reg = <4>;
rbpcv2_imx219_vi_in4: endpoint {
rbpcv2_imx219_vi_in4: endpoint {
status="okay";
status="okay";
port-index = <1>;
port-index = <1>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_csi_out4>;
remote-endpoint = <&rbpcv2_imx219_csi_out4>;
};
};
};
};
vi_port5: port@5 {
vi_port5: port@5 {
status="okay";
status="okay";
reg = <5>;
reg = <5>;
rbpcv2_imx219_vi_in5: endpoint {
rbpcv2_imx219_vi_in5: endpoint {
status="okay";
status="okay";
port-index = <6>;
port-index = <6>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_csi_out5>;
remote-endpoint = <&rbpcv2_imx219_csi_out5>;
};
};
};
};
};
};
};
};
nvcsi@15a00000 {
nvcsi@15a00000 {
num-channels = <6>;
num-channels = <6>;
#address-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
#size-cells = <0>;
status="okay";
status="okay";
csi_chan0: channel@0 {
csi_chan0: channel@0 {
reg = <0>;
reg = <0>;
status="okay";
status="okay";
ports {
ports {
#address-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
#size-cells = <0>;
status="okay";
status="okay";
csi_chan0_port0: port@0 {
csi_chan0_port0: port@0 {
reg = <0>;
reg = <0>;
status="okay";
status="okay";
rbpcv2_imx219_csi_in0: endpoint@0 {
rbpcv2_imx219_csi_in0: endpoint@0 {
status="okay";
status="okay";
port-index = <0>;
port-index = <0>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_out0>;
remote-endpoint = <&rbpcv2_imx219_out0>;
};
};
};
};
csi_chan0_port1: port@1 {
csi_chan0_port1: port@1 {
reg = <1>;
reg = <1>;
status="okay";
status="okay";
rbpcv2_imx219_csi_out0: endpoint@1 {
rbpcv2_imx219_csi_out0: endpoint@1 {
status="okay";
status="okay";
remote-endpoint = <&rbpcv2_imx219_vi_in0>;
remote-endpoint = <&rbpcv2_imx219_vi_in0>;
};
};
};
};
};
};
};
};
csi_chan1: channel@1 {
csi_chan1: channel@1 {
reg = <1>;
reg = <1>;
status="okay";
status="okay";
ports {
ports {
#address-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
#size-cells = <0>;
status="okay";
status="okay";
csi_chan1_port0: port@0 {
csi_chan1_port0: port@0 {
status="okay";
status="okay";
reg = <0>;
reg = <0>;
rbpcv2_imx219_csi_in1: endpoint@2 {
rbpcv2_imx219_csi_in1: endpoint@2 {
status="okay";
status="okay";
port-index = <2>;
port-index = <2>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_out1>;
remote-endpoint = <&rbpcv2_imx219_out1>;
};
};
};
};
csi_chan1_port1: port@1 {
csi_chan1_port1: port@1 {
reg = <1>;
reg = <1>;
status="okay";
status="okay";
rbpcv2_imx219_csi_out1: endpoint@3 {
rbpcv2_imx219_csi_out1: endpoint@3 {
status="okay";
status="okay";
remote-endpoint = <&rbpcv2_imx219_vi_in1>;
remote-endpoint = <&rbpcv2_imx219_vi_in1>;
};
};
};
};
};
};
};
};
csi_chan2: channel@2 {
csi_chan2: channel@2 {
reg = <2>;
reg = <2>;
status="okay";
status="okay";
ports {
ports {
#address-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
#size-cells = <0>;
status="okay";
status="okay";
csi_chan2_port0: port@0 {
csi_chan2_port0: port@0 {
status="okay";
status="okay";
reg = <0>;
reg = <0>;
rbpcv2_imx219_csi_in2: endpoint@4 {
rbpcv2_imx219_csi_in2: endpoint@4 {
status="okay";
status="okay";
복사
복사됨
복사
복사됨
port-index = <
3
>;
port-index = <
4
>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_out2>;
remote-endpoint = <&rbpcv2_imx219_out2>;
};
};
};
};
csi_chan2_port1: port@1 {
csi_chan2_port1: port@1 {
status="okay";
status="okay";
reg = <1>;
reg = <1>;
rbpcv2_imx219_csi_out2: endpoint@5 {
rbpcv2_imx219_csi_out2: endpoint@5 {
status="okay";
status="okay";
remote-endpoint = <&rbpcv2_imx219_vi_in2>;
remote-endpoint = <&rbpcv2_imx219_vi_in2>;
};
};
};
};
};
};
};
};
csi_chan3: channel@3 {
csi_chan3: channel@3 {
reg = <3>;
reg = <3>;
status="okay";
status="okay";
ports {
ports {
#address-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
#size-cells = <0>;
status="okay";
status="okay";
csi_chan3_port0: port@0 {
csi_chan3_port0: port@0 {
status="okay";
status="okay";
reg = <0>;
reg = <0>;
rbpcv2_imx219_csi_in3: endpoint@6 {
rbpcv2_imx219_csi_in3: endpoint@6 {
status="okay";
status="okay";
복사
복사됨
복사
복사됨
port-index = <
4
>;
port-index = <
3
>;
bus-width = <
2
>;
bus-width = <
4
>;
remote-endpoint = <&rbpcv2_imx219_out3>;
remote-endpoint = <&rbpcv2_imx219_out3>;
};
};
};
};
csi_chan3_port1: port@1 {
csi_chan3_port1: port@1 {
status="okay";
status="okay";
reg = <1>;
reg = <1>;
rbpcv2_imx219_csi_out3: endpoint@7 {
rbpcv2_imx219_csi_out3: endpoint@7 {
status="okay";
status="okay";
remote-endpoint = <&rbpcv2_imx219_vi_in3>;
remote-endpoint = <&rbpcv2_imx219_vi_in3>;
};
};
};
};
};
};
};
};
csi_chan4: channel@4 {
csi_chan4: channel@4 {
reg = <4>;
reg = <4>;
status="okay";
status="okay";
ports {
ports {
#address-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
#size-cells = <0>;
status="okay";
status="okay";
csi_chan4_port0: port@0 {
csi_chan4_port0: port@0 {
status="okay";
status="okay";
reg = <0>;
reg = <0>;
rbpcv2_imx219_csi_in4: endpoint@8 {
rbpcv2_imx219_csi_in4: endpoint@8 {
status="okay";
status="okay";
port-index = <1>;
port-index = <1>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_out4>;
remote-endpoint = <&rbpcv2_imx219_out4>;
};
};
};
};
csi_chan4_port1: port@1 {
csi_chan4_port1: port@1 {
status="okay";
status="okay";
reg = <1>;
reg = <1>;
rbpcv2_imx219_csi_out4: endpoint@9 {
rbpcv2_imx219_csi_out4: endpoint@9 {
status="okay";
status="okay";
remote-endpoint = <&rbpcv2_imx219_vi_in4>;
remote-endpoint = <&rbpcv2_imx219_vi_in4>;
};
};
};
};
};
};
};
};
csi_chan5: channel@5 {
csi_chan5: channel@5 {
reg = <5>;
reg = <5>;
status="okay";
status="okay";
ports {
ports {
#address-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
#size-cells = <0>;
status="okay";
status="okay";
csi_chan5_port0: port@0 {
csi_chan5_port0: port@0 {
status="okay";
status="okay";
reg = <0>;
reg = <0>;
rbpcv2_imx219_csi_in5: endpoint@10 {
rbpcv2_imx219_csi_in5: endpoint@10 {
status="okay";
status="okay";
port-index = <6>;
port-index = <6>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_out5>;
remote-endpoint = <&rbpcv2_imx219_out5>;
};
};
};
};
csi_chan5_port1: port@1 {
csi_chan5_port1: port@1 {
status="okay";
status="okay";
reg = <1>;
reg = <1>;
rbpcv2_imx219_csi_out5: endpoint@11 {
rbpcv2_imx219_csi_out5: endpoint@11 {
status="okay";
status="okay";
remote-endpoint = <&rbpcv2_imx219_vi_in5>;
remote-endpoint = <&rbpcv2_imx219_vi_in5>;
};
};
};
};
};
};
};
};
};
};
};
};
i2c@3180000{
i2c@3180000{
tca9548@70 {
tca9548@70 {
i2c_0: i2c@0 {
i2c_0: i2c@0 {
imx219_cam0: rbpcv2_imx219_a@10 {
imx219_cam0: rbpcv2_imx219_a@10 {
status="okay";
status="okay";
compatible = "nvidia,imx219";
compatible = "nvidia,imx219";
/* I2C device address */
/* I2C device address */
reg = <0x10>;
reg = <0x10>;
/* V4L2 device node location */
/* V4L2 device node location */
devnode = "video0";
devnode = "video0";
/* Physical dimensions of sensor */
/* Physical dimensions of sensor */
physical_w = "3.680";
physical_w = "3.680";
physical_h = "2.760";
physical_h = "2.760";
sensor_model = "imx219";
sensor_model = "imx219";
use_sensor_mode_id = "true";
use_sensor_mode_id = "true";
/**
/**
* ==== Modes ====
* ==== Modes ====
* A modeX node is required to support v4l2 driver
* A modeX node is required to support v4l2 driver
* implementation with NVIDIA camera software stack
* implementation with NVIDIA camera software stack
*
*
* == Signal properties ==
* == Signal properties ==
*
*
* phy_mode = "";
* phy_mode = "";
* PHY mode used by the MIPI lanes for this device
* PHY mode used by the MIPI lanes for this device
*
*
* tegra_sinterface = "";
* tegra_sinterface = "";
* CSI Serial interface connected to tegra
* CSI Serial interface connected to tegra
* Incase of virtual HW devices, use virtual
* Incase of virtual HW devices, use virtual
* For SW emulated devices, use host
* For SW emulated devices, use host
*
*
* pix_clk_hz = "";
* pix_clk_hz = "";
* Sensor pixel clock used for calculations like exposure and framerate
* Sensor pixel clock used for calculations like exposure and framerate
*
*
* readout_orientation = "0";
* readout_orientation = "0";
* Based on camera module orientation.
* Based on camera module orientation.
* Only change readout_orientation if you specifically
* Only change readout_orientation if you specifically
* Program a different readout order for this mode
* Program a different readout order for this mode
*
*
* == Image format Properties ==
* == Image format Properties ==
*
*
* active_w = "";
* active_w = "";
* Pixel active region width
* Pixel active region width
*
*
* active_h = "";
* active_h = "";
* Pixel active region height
* Pixel active region height
*
*
* pixel_t = "";
* pixel_t = "";
* The sensor readout pixel pattern
* The sensor readout pixel pattern
*
*
* line_length = "";
* line_length = "";
* Pixel line length (width) for sensor mode.
* Pixel line length (width) for sensor mode.
*
*
* == Source Control Settings ==
* == Source Control Settings ==
*
*
* Gain factor used to convert fixed point integer to float
* Gain factor used to convert fixed point integer to float
* Gain range [min_gain/gain_factor, max_gain/gain_factor]
* Gain range [min_gain/gain_factor, max_gain/gain_factor]
* Gain step [step_gain/gain_factor is the smallest step that can be configured]
* Gain step [step_gain/gain_factor is the smallest step that can be configured]
* Default gain [Default gain to be initialized for the control.
* Default gain [Default gain to be initialized for the control.
* use min_gain_val as default for optimal results]
* use min_gain_val as default for optimal results]
* Framerate factor used to convert fixed point integer to float
* Framerate factor used to convert fixed point integer to float
* Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
* Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
* Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
* Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
* Default Framerate [Default framerate to be initialized for the control.
* Default Framerate [Default framerate to be initialized for the control.
* use max_framerate to get required performance]
* use max_framerate to get required performance]
* Exposure factor used to convert fixed point integer to float
* Exposure factor used to convert fixed point integer to float
* For convenience use 1 sec = 1000000us as conversion factor
* For convenience use 1 sec = 1000000us as conversion factor
* Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
* Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
* Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
* Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
* Default Exposure Time [Default exposure to be initialized for the control.
* Default Exposure Time [Default exposure to be initialized for the control.
* Set default exposure based on the default_framerate for optimal exposure settings]
* Set default exposure based on the default_framerate for optimal exposure settings]
*
*
* gain_factor = ""; (integer factor used for floating to fixed point conversion)
* gain_factor = ""; (integer factor used for floating to fixed point conversion)
* min_gain_val = ""; (ceil to integer)
* min_gain_val = ""; (ceil to integer)
* max_gain_val = ""; (ceil to integer)
* max_gain_val = ""; (ceil to integer)
* step_gain_val = ""; (ceil to integer)
* step_gain_val = ""; (ceil to integer)
* default_gain = ""; (ceil to integer)
* default_gain = ""; (ceil to integer)
* Gain limits for mode
* Gain limits for mode
*
*
* exposure_factor = ""; (integer factor used for floating to fixed point conversion)
* exposure_factor = ""; (integer factor used for floating to fixed point conversion)
* min_exp_time = ""; (ceil to integer)
* min_exp_time = ""; (ceil to integer)
* max_exp_time = ""; (ceil to integer)
* max_exp_time = ""; (ceil to integer)
* step_exp_time = ""; (ceil to integer)
* step_exp_time = ""; (ceil to integer)
* default_exp_time = ""; (ceil to integer)
* default_exp_time = ""; (ceil to integer)
* Exposure Time limits for mode (sec)
* Exposure Time limits for mode (sec)
*
*
* framerate_factor = ""; (integer factor used for floating to fixed point conversion)
* framerate_factor = ""; (integer factor used for floating to fixed point conversion)
* min_framerate = ""; (ceil to integer)
* min_framerate = ""; (ceil to integer)
* max_framerate = ""; (ceil to integer)
* max_framerate = ""; (ceil to integer)
* step_framerate = ""; (ceil to integer)
* step_framerate = ""; (ceil to integer)
* default_framerate = ""; (ceil to integer)
* default_framerate = ""; (ceil to integer)
* Framerate limits for mode (fps)
* Framerate limits for mode (fps)
*
*
* embedded_metadata_height = "";
* embedded_metadata_height = "";
* Sensor embedded metadata height in units of rows.
* Sensor embedded metadata height in units of rows.
* If sensor does not support embedded metadata value should be 0.
* If sensor does not support embedded metadata value should be 0.
*/
*/
mode0 { /* IMX219_MODE_3264x2464_21FPS */
mode0 { /* IMX219_MODE_3264x2464_21FPS */
mclk_khz = "24000";
mclk_khz = "24000";
num_lanes = "2";
num_lanes = "2";
tegra_sinterface = "serial_a";
tegra_sinterface = "serial_a";
phy_mode = "DPHY";
phy_mode = "DPHY";
discontinuous_clk = "yes";
discontinuous_clk = "yes";
dpcm_enable = "false";
dpcm_enable = "false";
cil_settletime = "0";
cil_settletime = "0";
active_w = "3264";
active_w = "3264";
active_h = "2464";
active_h = "2464";
pixel_t = "bayer_rggb";
pixel_t = "bayer_rggb";
readout_orientation = "90";
readout_orientation = "90";
line_length = "3448";
line_length = "3448";
inherent_gain = "1";
inherent_gain = "1";
mclk_multiplier = "9.33";
mclk_multiplier = "9.33";
pix_clk_hz = "182400000";
pix_clk_hz = "182400000";
gain_factor = "16";
gain_factor = "16";
framerate_factor = "1000000";
framerate_factor = "1000000";
exposure_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "21000000"; /* 21.0 fps */
max_framerate = "21000000"; /* 21.0 fps */
step_framerate = "1";
step_framerate = "1";
default_framerate = "21000000"; /* 21.0 fps */
default_framerate = "21000000"; /* 21.0 fps */
min_exp_time = "13"; /* us */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
step_exp_time = "1";
default_exp_time = "2495"; /* us */
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
embedded_metadata_height = "2";
};
};
mode1 { /* IMX219_MODE_3264x1848_28FPS */
mode1 { /* IMX219_MODE_3264x1848_28FPS */
mclk_khz = "24000";
mclk_khz = "24000";
num_lanes = "2";
num_lanes = "2";
tegra_sinterface = "serial_a";
tegra_sinterface = "serial_a";
phy_mode = "DPHY";
phy_mode = "DPHY";
discontinuous_clk = "yes";
discontinuous_clk = "yes";
dpcm_enable = "false";
dpcm_enable = "false";
cil_settletime = "0";
cil_settletime = "0";
active_w = "3264";
active_w = "3264";
active_h = "1848";
active_h = "1848";
pixel_t = "bayer_rggb";
pixel_t = "bayer_rggb";
readout_orientation = "90";
readout_orientation = "90";
line_length = "3448";
line_length = "3448";
inherent_gain = "1";
inherent_gain = "1";
mclk_multiplier = "9.33";
mclk_multiplier = "9.33";
pix_clk_hz = "182400000";
pix_clk_hz = "182400000";
gain_factor = "16";
gain_factor = "16";
framerate_factor = "1000000";
framerate_factor = "1000000";
exposure_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "28000000"; /* 28.0 fps */
max_framerate = "28000000"; /* 28.0 fps */
step_framerate = "1";
step_framerate = "1";
default_framerate = "28000000"; /* 28.0 fps */
default_framerate = "28000000"; /* 28.0 fps */
min_exp_time = "13"; /* us */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
step_exp_time = "1";
default_exp_time = "2495"; /* us */
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
embedded_metadata_height = "2";
};
};
mode2 { /* IMX219_MODE_1920x1080_30FPS */
mode2 { /* IMX219_MODE_1920x1080_30FPS */
mclk_khz = "24000";
mclk_khz = "24000";
num_lanes = "2";
num_lanes = "2";
tegra_sinterface = "serial_a";
tegra_sinterface = "serial_a";
phy_mode = "DPHY";
phy_mode = "DPHY";
discontinuous_clk = "yes";
discontinuous_clk = "yes";
dpcm_enable = "false";
dpcm_enable = "false";
cil_settletime = "0";
cil_settletime = "0";
active_w = "1920";
active_w = "1920";
active_h = "1080";
active_h = "1080";
pixel_t = "bayer_rggb";
pixel_t = "bayer_rggb";
readout_orientation = "90";
readout_orientation = "90";
line_length = "3448";
line_length = "3448";
inherent_gain = "1";
inherent_gain = "1";
mclk_multiplier = "9.33";
mclk_multiplier = "9.33";
pix_clk_hz = "182400000";
pix_clk_hz = "182400000";
gain_factor = "16";
gain_factor = "16";
framerate_factor = "1000000";
framerate_factor = "1000000";
exposure_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "30000000"; /* 30.0 fps */
max_framerate = "30000000"; /* 30.0 fps */
step_framerate = "1";
step_framerate = "1";
default_framerate = "30000000"; /* 30.0 fps */
default_framerate = "30000000"; /* 30.0 fps */
min_exp_time = "13"; /* us */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
step_exp_time = "1";
default_exp_time = "2495"; /* us */
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
embedded_metadata_height = "2";
};
};
mode3 { /* IMX219_MODE_1280x720_60FPS */
mode3 { /* IMX219_MODE_1280x720_60FPS */
mclk_khz = "24000";
mclk_khz = "24000";
num_lanes = "2";
num_lanes = "2";
tegra_sinterface = "serial_a";
tegra_sinterface = "serial_a";
phy_mode = "DPHY";
phy_mode = "DPHY";
discontinuous_clk = "yes";
discontinuous_clk = "yes";
dpcm_enable = "false";
dpcm_enable = "false";
cil_settletime = "0";
cil_settletime = "0";
active_w = "1280";
active_w = "1280";
active_h = "720";
active_h = "720";
pixel_t = "bayer_rggb";
pixel_t = "bayer_rggb";
readout_orientation = "90";
readout_orientation = "90";
line_length = "3448";
line_length = "3448";
inherent_gain = "1";
inherent_gain = "1";
mclk_multiplier = "9.33";
mclk_multiplier = "9.33";
pix_clk_hz = "182400000";
pix_clk_hz = "182400000";
gain_factor = "16";
gain_factor = "16";
framerate_factor = "1000000";
framerate_factor = "1000000";
exposure_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "60000000"; /* 60.0 fps */
max_framerate = "60000000"; /* 60.0 fps */
step_framerate = "1";
step_framerate = "1";
default_framerate = "60000000"; /* 60.0 fps */
default_framerate = "60000000"; /* 60.0 fps */
min_exp_time = "13"; /* us */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
step_exp_time = "1";
default_exp_time = "2495"; /* us */
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
embedded_metadata_height = "2";
};
};
mode4 { /* IMX219_MODE_1280x720_120FPS */
mode4 { /* IMX219_MODE_1280x720_120FPS */
mclk_khz = "24000";
mclk_khz = "24000";
num_lanes = "2";
num_lanes = "2";
tegra_sinterface = "serial_a";
tegra_sinterface = "serial_a";
phy_mode = "DPHY";
phy_mode = "DPHY";
discontinuous_clk = "yes";
discontinuous_clk = "yes";
dpcm_enable = "false";
dpcm_enable = "false";
cil_settletime = "0";
cil_settletime = "0";
active_w = "1280";
active_w = "1280";
active_h = "720";
active_h = "720";
pixel_t = "bayer_rggb";
pixel_t = "bayer_rggb";
readout_orientation = "90";
readout_orientation = "90";
line_length = "3448";
line_length = "3448";
inherent_gain = "1";
inherent_gain = "1";
mclk_multiplier = "9.33";
mclk_multiplier = "9.33";
pix_clk_hz = "169600000";
pix_clk_hz = "169600000";
gain_factor = "16";
gain_factor = "16";
framerate_factor = "1000000";
framerate_factor = "1000000";
exposure_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "120000000"; /* 120.0 fps */
max_framerate = "120000000"; /* 120.0 fps */
step_framerate = "1";
step_framerate = "1";
default_framerate = "120000000"; /* 120.0 fps */
default_framerate = "120000000"; /* 120.0 fps */
min_exp_time = "13"; /* us */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
step_exp_time = "1";
default_exp_time = "2495"; /* us */
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
embedded_metadata_height = "2";
};
};
ports {
ports {
#address-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
#size-cells = <0>;
status="okay";
status="okay";
port@0 {
port@0 {
reg = <0>;
reg = <0>;
status="okay";
status="okay";
rbpcv2_imx219_out0: endpoint {
rbpcv2_imx219_out0: endpoint {
status="okay";
status="okay";
port-index = <0>;
port-index = <0>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_csi_in0>;
remote-endpoint = <&rbpcv2_imx219_csi_in0>;
};
};
};
};
};
};
};
};
};
};
i2c_1: i2c@1 {
i2c_1: i2c@1 {
imx219_cam1: rbpcv2_imx219_c@10 {
imx219_cam1: rbpcv2_imx219_c@10 {
status="okay";
status="okay";
compatible = "nvidia,imx219";
compatible = "nvidia,imx219";
/* I2C device address */
/* I2C device address */
reg = <0x10>;
reg = <0x10>;
/* V4L2 device node location */
/* V4L2 device node location */
devnode = "video1";
devnode = "video1";
/* Physical dimensions of sensor */
/* Physical dimensions of sensor */
physical_w = "3.680";
physical_w = "3.680";
physical_h = "2.760";
physical_h = "2.760";
sensor_model = "imx219";
sensor_model = "imx219";
use_sensor_mode_id = "true";
use_sensor_mode_id = "true";
mode0 { /* IMX219_MODE_3264x2464_21FPS */
mode0 { /* IMX219_MODE_3264x2464_21FPS */
mclk_khz = "24000";
mclk_khz = "24000";
num_lanes = "2";
num_lanes = "2";
tegra_sinterface = "serial_c";
tegra_sinterface = "serial_c";
phy_mode = "DPHY";
phy_mode = "DPHY";
discontinuous_clk = "yes";
discontinuous_clk = "yes";
dpcm_enable = "false";
dpcm_enable = "false";
cil_settletime = "0";
cil_settletime = "0";
active_w = "3264";
active_w = "3264";
active_h = "2464";
active_h = "2464";
pixel_t = "bayer_rggb";
pixel_t = "bayer_rggb";
readout_orientation = "90";
readout_orientation = "90";
line_length = "3448";
line_length = "3448";
inherent_gain = "1";
inherent_gain = "1";
mclk_multiplier = "9.33";
mclk_multiplier = "9.33";
pix_clk_hz = "182400000";
pix_clk_hz = "182400000";
gain_factor = "16";
gain_factor = "16";
framerate_factor = "1000000";
framerate_factor = "1000000";
exposure_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "21000000"; /* 21.0 fps */
max_framerate = "21000000"; /* 21.0 fps */
step_framerate = "1";
step_framerate = "1";
default_framerate = "21000000"; /* 21.0 fps */
default_framerate = "21000000"; /* 21.0 fps */
min_exp_time = "13"; /* us */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
step_exp_time = "1";
default_exp_time = "2495"; /* us */
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
embedded_metadata_height = "2";
};
};
mode1 { /* IMX219_MODE_3264x1848_28FPS */
mode1 { /* IMX219_MODE_3264x1848_28FPS */
mclk_khz = "24000";
mclk_khz = "24000";
num_lanes = "2";
num_lanes = "2";
tegra_sinterface = "serial_c";
tegra_sinterface = "serial_c";
phy_mode = "DPHY";
phy_mode = "DPHY";
discontinuous_clk = "yes";
discontinuous_clk = "yes";
dpcm_enable = "false";
dpcm_enable = "false";
cil_settletime = "0";
cil_settletime = "0";
active_w = "3264";
active_w = "3264";
active_h = "1848";
active_h = "1848";
pixel_t = "bayer_rggb";
pixel_t = "bayer_rggb";
readout_orientation = "90";
readout_orientation = "90";
line_length = "3448";
line_length = "3448";
inherent_gain = "1";
inherent_gain = "1";
mclk_multiplier = "9.33";
mclk_multiplier = "9.33";
pix_clk_hz = "182400000";
pix_clk_hz = "182400000";
gain_factor = "16";
gain_factor = "16";
framerate_factor = "1000000";
framerate_factor = "1000000";
exposure_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "28000000"; /* 28.0 fps */
max_framerate = "28000000"; /* 28.0 fps */
step_framerate = "1";
step_framerate = "1";
default_framerate = "28000000"; /* 28.0 fps */
default_framerate = "28000000"; /* 28.0 fps */
min_exp_time = "13"; /* us */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
step_exp_time = "1";
default_exp_time = "2495"; /* us */
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
embedded_metadata_height = "2";
};
};
mode2 { /* IMX219_MODE_1920x1080_30FPS */
mode2 { /* IMX219_MODE_1920x1080_30FPS */
mclk_khz = "24000";
mclk_khz = "24000";
num_lanes = "2";
num_lanes = "2";
tegra_sinterface = "serial_c";
tegra_sinterface = "serial_c";
phy_mode = "DPHY";
phy_mode = "DPHY";
discontinuous_clk = "yes";
discontinuous_clk = "yes";
dpcm_enable = "false";
dpcm_enable = "false";
cil_settletime = "0";
cil_settletime = "0";
active_w = "1920";
active_w = "1920";
active_h = "1080";
active_h = "1080";
pixel_t = "bayer_rggb";
pixel_t = "bayer_rggb";
readout_orientation = "90";
readout_orientation = "90";
line_length = "3448";
line_length = "3448";
inherent_gain = "1";
inherent_gain = "1";
mclk_multiplier = "9.33";
mclk_multiplier = "9.33";
pix_clk_hz = "182400000";
pix_clk_hz = "182400000";
gain_factor = "16";
gain_factor = "16";
framerate_factor = "1000000";
framerate_factor = "1000000";
exposure_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "30000000"; /* 30.0 fps */
max_framerate = "30000000"; /* 30.0 fps */
step_framerate = "1";
step_framerate = "1";
default_framerate = "30000000"; /* 30.0 fps */
default_framerate = "30000000"; /* 30.0 fps */
min_exp_time = "13"; /* us */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
step_exp_time = "1";
default_exp_time = "2495"; /* us */
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
embedded_metadata_height = "2";
};
};
mode3 { /* IMX219_MODE_1280x720_60FPS */
mode3 { /* IMX219_MODE_1280x720_60FPS */
mclk_khz = "24000";
mclk_khz = "24000";
num_lanes = "2";
num_lanes = "2";
tegra_sinterface = "serial_c";
tegra_sinterface = "serial_c";
phy_mode = "DPHY";
phy_mode = "DPHY";
discontinuous_clk = "yes";
discontinuous_clk = "yes";
dpcm_enable = "false";
dpcm_enable = "false";
cil_settletime = "0";
cil_settletime = "0";
active_w = "1280";
active_w = "1280";
active_h = "720";
active_h = "720";
pixel_t = "bayer_rggb";
pixel_t = "bayer_rggb";
readout_orientation = "90";
readout_orientation = "90";
line_length = "3448";
line_length = "3448";
inherent_gain = "1";
inherent_gain = "1";
mclk_multiplier = "9.33";
mclk_multiplier = "9.33";
pix_clk_hz = "182400000";
pix_clk_hz = "182400000";
gain_factor = "16";
gain_factor = "16";
framerate_factor = "1000000";
framerate_factor = "1000000";
exposure_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "60000000"; /* 60.0 fps */
max_framerate = "60000000"; /* 60.0 fps */
step_framerate = "1";
step_framerate = "1";
default_framerate = "60000000"; /* 60.0 fps */
default_framerate = "60000000"; /* 60.0 fps */
min_exp_time = "13"; /* us */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
step_exp_time = "1";
default_exp_time = "2495"; /* us */
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
embedded_metadata_height = "2";
};
};
mode4 { /* IMX219_MODE_1280x720_120FPS */
mode4 { /* IMX219_MODE_1280x720_120FPS */
mclk_khz = "24000";
mclk_khz = "24000";
num_lanes = "2";
num_lanes = "2";
tegra_sinterface = "serial_c";
tegra_sinterface = "serial_c";
phy_mode = "DPHY";
phy_mode = "DPHY";
discontinuous_clk = "yes";
discontinuous_clk = "yes";
dpcm_enable = "false";
dpcm_enable = "false";
cil_settletime = "0";
cil_settletime = "0";
active_w = "1280";
active_w = "1280";
active_h = "720";
active_h = "720";
pixel_t = "bayer_rggb";
pixel_t = "bayer_rggb";
readout_orientation = "90";
readout_orientation = "90";
line_length = "3448";
line_length = "3448";
inherent_gain = "1";
inherent_gain = "1";
mclk_multiplier = "9.33";
mclk_multiplier = "9.33";
pix_clk_hz = "169600000";
pix_clk_hz = "169600000";
gain_factor = "16";
gain_factor = "16";
framerate_factor = "1000000";
framerate_factor = "1000000";
exposure_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "120000000"; /* 120.0 fps */
max_framerate = "120000000"; /* 120.0 fps */
step_framerate = "1";
step_framerate = "1";
default_framerate = "120000000"; /* 120.0 fps */
default_framerate = "120000000"; /* 120.0 fps */
min_exp_time = "13"; /* us */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
step_exp_time = "1";
default_exp_time = "2495"; /* us */
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
embedded_metadata_height = "2";
};
};
복사
복사됨
복사
복사됨
mode5 { /* IMX219_MODE_640x480_200FPS */
mclk_khz = "24000";
num_lanes = "2";
tegra_sinterface = "serial_c";
phy_mode = "DPHY";
discontinuous_clk = "yes";
dpcm_enable = "false";
cil_settletime = "0";
active_w = "640";
active_h = "480";
Text moved with changes from lines 865-886 (96.1% similarity)
mode_type = "bayer";
pixel_phase = "rggb";
csi_pixel_bit_depth = "10";
readout_orientation = "90";
line_length = "3448";
inherent_gain = "1";
mclk_multiplier = "9.33";
pix_clk_hz = "348800000";
gain_factor = "16";
framerate_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "200000000"; /* 200.0 fps */
step_framerate = "1";
default_framerate = "200000000"; /* 200.0 fps */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
};
ports {
ports {
#address-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
#size-cells = <0>;
status="okay";
status="okay";
port@0 {
port@0 {
reg = <0>;
reg = <0>;
status="okay";
status="okay";
rbpcv2_imx219_out1: endpoint {
rbpcv2_imx219_out1: endpoint {
status="okay";
status="okay";
port-index = <2>;
port-index = <2>;
bus-width = <2>;
bus-width = <2>;
remote-endpoint = <&rbpcv2_imx219_csi_in1>;
remote-endpoint = <&rbpcv2_imx219_csi_in1>;
};
};
};
};
};
};
};
};
};
};
i2c_2: i2c@2 {
i2c_2: i2c@2 {
imx219_cam2: rbpcv2_imx219_d@10 {
imx219_cam2: rbpcv2_imx219_d@10 {
status="okay";
status="okay";
compatible = "nvidia,imx219";
compatible = "nvidia,imx219";
/* I2C device address */
/* I2C device address */
reg = <0x10>;
reg = <0x10>;
/* V4L2 device node location */
/* V4L2 device node location */
devnode = "video2";
devnode = "video2";
/* Physical dimensions of sensor */
/* Physical dimensions of sensor */
physical_w = "3.680";
physical_w = "3.680";
physical_h = "2.760";
physical_h = "2.760";
sensor_model = "imx219";
sensor_model = "imx219";
use_sensor_mode_id = "true";
use_sensor_mode_id = "true";
mode0 { /* IMX219_MODE_3264x2464_21FPS */
mode0 { /* IMX219_MODE_3264x2464_21FPS */
mclk_khz = "24000";
mclk_khz = "24000";
num_lanes = "2";
num_lanes = "2";
tegra_sinterface = "serial_d";
tegra_sinterface = "serial_d";
phy_mode = "DPHY";
phy_mode = "DPHY";
discontinuous_clk = "yes";
discontinuous_clk = "yes";
dpcm_enable = "false";
dpcm_enable = "false";
cil_settletime = "0";
cil_settletime = "0";
active_w = "3264";
active_w = "3264";
active_h = "2464";
active_h = "2464";
pixel_t = "bayer_rggb";
pixel_t = "bayer_rggb";
readout_orientation = "90";
readout_orientation = "90";
line_length = "3448";
line_length = "3448";
inherent_gain = "1";
inherent_gain = "1";
mclk_multiplier = "9.33";
mclk_multiplier = "9.33";
pix_clk_hz = "182400000";
pix_clk_hz = "182400000";
gain_factor = "16";
gain_factor = "16";
framerate_factor = "1000000";
framerate_factor = "1000000";
exposure_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
min_hdr_ratio = "1";
max_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "21000000"; /* 21.0 fps */
max_framerate = "21000000"; /* 21.0 fps */
복사
복사됨
복사
복사됨
step_framerate = "1";
default_framerate = "21000000"; /* 21.0 fps */
min_exp_time = "13"; /* us */
max_exp_time = "683709"; /* us */
step_exp_time = "1";
default_exp_time = "2495"; /* us */
embedded_metadata_height = "2";
};
mode1 { /* IMX219_MODE_3264x1848_28FPS */
mclk_khz = "24000";
num_lanes = "2";
tegra_sinterface = "serial_d";
phy_mode = "DPHY";
discontinuous_clk = "yes";
dpcm_enable = "false";
cil_settletime = "0";
Text moved with changes to lines 791-812 (96.1% similarity)
active_w = "3264";
active_h = "1848";
pixel_t = "bayer_rggb";
readout_orientation = "90";
line_length = "3448";
inherent_gain = "1";
mclk_multiplier = "9.33";
pix_clk_hz = "182400000";
gain_factor = "16";
framerate_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
max_gain_val = "170"; /* 10.66x */
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "2000000"; /* 2.0 fps */
max_framerate = "28000000"; /* 28.0 fps */
step_framerate = "1";
default_framerate = "28000000"; /*
저장된 비교 결과
원본
파일 열기
/* * Copyright (c) 2015-2019, 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 <http://www.gnu.org/licenses/>. */ #include <dt-bindings/media/camera.h> / { host1x { vi@15c10000 { num-channels = <6>; ports { status="okay"; #address-cells = <1>; #size-cells = <0>; vi_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_vi_in0: endpoint { status="okay"; port-index = <0>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_out0>; }; }; vi_port1: port@1 { status="okay"; reg = <1>; rbpcv2_imx219_vi_in1: endpoint { status="okay"; port-index = <2>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_out1>; }; }; vi_port2: port@2 { status="okay"; reg = <2>; rbpcv2_imx219_vi_in2: endpoint { status="okay"; port-index = <3>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_out2>; }; }; vi_port3: port@3 { status="okay"; reg = <3>; rbpcv2_imx219_vi_in3: endpoint { status="okay"; port-index = <4>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_out3>; }; }; vi_port4: port@4 { status="okay"; reg = <4>; rbpcv2_imx219_vi_in4: endpoint { status="okay"; port-index = <1>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_out4>; }; }; vi_port5: port@5 { status="okay"; reg = <5>; rbpcv2_imx219_vi_in5: endpoint { status="okay"; port-index = <6>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_out5>; }; }; }; }; nvcsi@15a00000 { num-channels = <6>; #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan0: channel@0 { reg = <0>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan0_port0: port@0 { reg = <0>; status="okay"; rbpcv2_imx219_csi_in0: endpoint@0 { status="okay"; port-index = <0>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_out0>; }; }; csi_chan0_port1: port@1 { reg = <1>; status="okay"; rbpcv2_imx219_csi_out0: endpoint@1 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in0>; }; }; }; }; csi_chan1: channel@1 { reg = <1>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan1_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_csi_in1: endpoint@2 { status="okay"; port-index = <2>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_out1>; }; }; csi_chan1_port1: port@1 { reg = <1>; status="okay"; rbpcv2_imx219_csi_out1: endpoint@3 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in1>; }; }; }; }; csi_chan2: channel@2 { reg = <2>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan2_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_csi_in2: endpoint@4 { status="okay"; port-index = <3>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_out2>; }; }; csi_chan2_port1: port@1 { status="okay"; reg = <1>; rbpcv2_imx219_csi_out2: endpoint@5 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in2>; }; }; }; }; csi_chan3: channel@3 { reg = <3>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan3_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_csi_in3: endpoint@6 { status="okay"; port-index = <4>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_out3>; }; }; csi_chan3_port1: port@1 { status="okay"; reg = <1>; rbpcv2_imx219_csi_out3: endpoint@7 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in3>; }; }; }; }; csi_chan4: channel@4 { reg = <4>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan4_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_csi_in4: endpoint@8 { status="okay"; port-index = <1>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_out4>; }; }; csi_chan4_port1: port@1 { status="okay"; reg = <1>; rbpcv2_imx219_csi_out4: endpoint@9 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in4>; }; }; }; }; csi_chan5: channel@5 { reg = <5>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan5_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_csi_in5: endpoint@10 { status="okay"; port-index = <6>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_out5>; }; }; csi_chan5_port1: port@1 { status="okay"; reg = <1>; rbpcv2_imx219_csi_out5: endpoint@11 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in5>; }; }; }; }; }; }; i2c@3180000{ tca9548@70 { i2c_0: i2c@0 { imx219_cam0: rbpcv2_imx219_a@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video0"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; /** * ==== Modes ==== * A modeX node is required to support v4l2 driver * implementation with NVIDIA camera software stack * * == Signal properties == * * phy_mode = ""; * PHY mode used by the MIPI lanes for this device * * tegra_sinterface = ""; * CSI Serial interface connected to tegra * Incase of virtual HW devices, use virtual * For SW emulated devices, use host * * pix_clk_hz = ""; * Sensor pixel clock used for calculations like exposure and framerate * * readout_orientation = "0"; * Based on camera module orientation. * Only change readout_orientation if you specifically * Program a different readout order for this mode * * == Image format Properties == * * active_w = ""; * Pixel active region width * * active_h = ""; * Pixel active region height * * pixel_t = ""; * The sensor readout pixel pattern * * line_length = ""; * Pixel line length (width) for sensor mode. * * == Source Control Settings == * * Gain factor used to convert fixed point integer to float * Gain range [min_gain/gain_factor, max_gain/gain_factor] * Gain step [step_gain/gain_factor is the smallest step that can be configured] * Default gain [Default gain to be initialized for the control. * use min_gain_val as default for optimal results] * Framerate factor used to convert fixed point integer to float * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor] * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured] * Default Framerate [Default framerate to be initialized for the control. * use max_framerate to get required performance] * Exposure factor used to convert fixed point integer to float * For convenience use 1 sec = 1000000us as conversion factor * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor] * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured] * Default Exposure Time [Default exposure to be initialized for the control. * Set default exposure based on the default_framerate for optimal exposure settings] * * gain_factor = ""; (integer factor used for floating to fixed point conversion) * min_gain_val = ""; (ceil to integer) * max_gain_val = ""; (ceil to integer) * step_gain_val = ""; (ceil to integer) * default_gain = ""; (ceil to integer) * Gain limits for mode * * exposure_factor = ""; (integer factor used for floating to fixed point conversion) * min_exp_time = ""; (ceil to integer) * max_exp_time = ""; (ceil to integer) * step_exp_time = ""; (ceil to integer) * default_exp_time = ""; (ceil to integer) * Exposure Time limits for mode (sec) * * framerate_factor = ""; (integer factor used for floating to fixed point conversion) * min_framerate = ""; (ceil to integer) * max_framerate = ""; (ceil to integer) * step_framerate = ""; (ceil to integer) * default_framerate = ""; (ceil to integer) * Framerate limits for mode (fps) * * embedded_metadata_height = ""; * Sensor embedded metadata height in units of rows. * If sensor does not support embedded metadata value should be 0. */ mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode3 { /* IMX219_MODE_1280x720_60FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "60000000"; /* 60.0 fps */ step_framerate = "1"; default_framerate = "60000000"; /* 60.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode4 { /* IMX219_MODE_1280x720_120FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "169600000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "120000000"; /* 120.0 fps */ step_framerate = "1"; default_framerate = "120000000"; /* 120.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { reg = <0>; status="okay"; rbpcv2_imx219_out0: endpoint { status="okay"; port-index = <0>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_in0>; }; }; }; }; }; i2c_1: i2c@1 { imx219_cam1: rbpcv2_imx219_c@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video1"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_c"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_c"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_c"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode3 { /* IMX219_MODE_1280x720_60FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_c"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "60000000"; /* 60.0 fps */ step_framerate = "1"; default_framerate = "60000000"; /* 60.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode4 { /* IMX219_MODE_1280x720_120FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_c"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "169600000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "120000000"; /* 120.0 fps */ step_framerate = "1"; default_framerate = "120000000"; /* 120.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { reg = <0>; status="okay"; rbpcv2_imx219_out1: endpoint { status="okay"; port-index = <2>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_in1>; }; }; }; }; }; i2c_2: i2c@2 { imx219_cam2: rbpcv2_imx219_d@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video2"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_d"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_d"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_d"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode3 { /* IMX219_MODE_1280x720_60FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_d"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "60000000"; /* 60.0 fps */ step_framerate = "1"; default_framerate = "60000000"; /* 60.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode4 { /* IMX219_MODE_1280x720_120FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_d"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "169600000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "120000000"; /* 120.0 fps */ step_framerate = "1"; default_framerate = "120000000"; /* 120.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { status="okay"; reg = <0>; rbpcv2_imx219_out2: endpoint { status="okay"; port-index = <3>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_in2>; }; }; }; }; }; i2c_3: i2c@3 { imx219_cam3: rbpcv2_imx219_e@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video3"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_e"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_e"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_e"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode3 { /* IMX219_MODE_1280x720_60FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_e"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "60000000"; /* 60.0 fps */ step_framerate = "1"; default_framerate = "60000000"; /* 60.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode4 { /* IMX219_MODE_1280x720_120FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_e"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "169600000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "120000000"; /* 120.0 fps */ step_framerate = "1"; default_framerate = "120000000"; /* 120.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { status="okay"; reg = <0>; rbpcv2_imx219_out3: endpoint { status="okay"; port-index = <4>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_in3>; }; }; }; }; }; i2c_4: i2c@4 { imx219_cam4: rbpcv2_imx219_b@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video4"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; /** * ==== Modes ==== * A modeX node is required to support v4l2 driver * implementation with NVIDIA camera software stack * * == Signal properties == * * phy_mode = ""; * PHY mode used by the MIPI lanes for this device * * tegra_sinterface = ""; * CSI Serial interface connected to tegra * Incase of virtual HW devices, use virtual * For SW emulated devices, use host * * pix_clk_hz = ""; * Sensor pixel clock used for calculations like exposure and framerate * * readout_orientation = "0"; * Based on camera module orientation. * Only change readout_orientation if you specifically * Program a different readout order for this mode * * == Image format Properties == * * active_w = ""; * Pixel active region width * * active_h = ""; * Pixel active region height * * pixel_t = ""; * The sensor readout pixel pattern * * line_length = ""; * Pixel line length (width) for sensor mode. * * == Source Control Settings == * * Gain factor used to convert fixed point integer to float * Gain range [min_gain/gain_factor, max_gain/gain_factor] * Gain step [step_gain/gain_factor is the smallest step that can be configured] * Default gain [Default gain to be initialized for the control. * use min_gain_val as default for optimal results] * Framerate factor used to convert fixed point integer to float * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor] * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured] * Default Framerate [Default framerate to be initialized for the control. * use max_framerate to get required performance] * Exposure factor used to convert fixed point integer to float * For convenience use 1 sec = 1000000us as conversion factor * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor] * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured] * Default Exposure Time [Default exposure to be initialized for the control. * Set default exposure based on the default_framerate for optimal exposure settings] * * gain_factor = ""; (integer factor used for floating to fixed point conversion) * min_gain_val = ""; (ceil to integer) * max_gain_val = ""; (ceil to integer) * step_gain_val = ""; (ceil to integer) * default_gain = ""; (ceil to integer) * Gain limits for mode * * exposure_factor = ""; (integer factor used for floating to fixed point conversion) * min_exp_time = ""; (ceil to integer) * max_exp_time = ""; (ceil to integer) * step_exp_time = ""; (ceil to integer) * default_exp_time = ""; (ceil to integer) * Exposure Time limits for mode (sec) * * framerate_factor = ""; (integer factor used for floating to fixed point conversion) * min_framerate = ""; (ceil to integer) * max_framerate = ""; (ceil to integer) * step_framerate = ""; (ceil to integer) * default_framerate = ""; (ceil to integer) * Framerate limits for mode (fps) * * embedded_metadata_height = ""; * Sensor embedded metadata height in units of rows. * If sensor does not support embedded metadata value should be 0. */ mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_b"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_b"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_b"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode3 { /* IMX219_MODE_1280x720_60FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_b"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "60000000"; /* 60.0 fps */ step_framerate = "1"; default_framerate = "60000000"; /* 60.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode4 { /* IMX219_MODE_1280x720_120FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_b"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "169600000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "120000000"; /* 120.0 fps */ step_framerate = "1"; default_framerate = "120000000"; /* 120.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { reg = <0>; status="okay"; rbpcv2_imx219_out4: endpoint { status="okay"; port-index = <1>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_in4>; }; }; }; }; }; i2c_5: i2c@5 { imx219_cam5: rbpcv2_imx219_g@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video5"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; /** * ==== Modes ==== * A modeX node is required to support v4l2 driver * implementation with NVIDIA camera software stack * * == Signal properties == * * phy_mode = ""; * PHY mode used by the MIPI lanes for this device * * tegra_sinterface = ""; * CSI Serial interface connected to tegra * Incase of virtual HW devices, use virtual * For SW emulated devices, use host * * pix_clk_hz = ""; * Sensor pixel clock used for calculations like exposure and framerate * * readout_orientation = "0"; * Based on camera module orientation. * Only change readout_orientation if you specifically * Program a different readout order for this mode * * == Image format Properties == * * active_w = ""; * Pixel active region width * * active_h = ""; * Pixel active region height * * pixel_t = ""; * The sensor readout pixel pattern * * line_length = ""; * Pixel line length (width) for sensor mode. * * == Source Control Settings == * * Gain factor used to convert fixed point integer to float * Gain range [min_gain/gain_factor, max_gain/gain_factor] * Gain step [step_gain/gain_factor is the smallest step that can be configured] * Default gain [Default gain to be initialized for the control. * use min_gain_val as default for optimal results] * Framerate factor used to convert fixed point integer to float * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor] * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured] * Default Framerate [Default framerate to be initialized for the control. * use max_framerate to get required performance] * Exposure factor used to convert fixed point integer to float * For convenience use 1 sec = 1000000us as conversion factor * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor] * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured] * Default Exposure Time [Default exposure to be initialized for the control. * Set default exposure based on the default_framerate for optimal exposure settings] * * gain_factor = ""; (integer factor used for floating to fixed point conversion) * min_gain_val = ""; (ceil to integer) * max_gain_val = ""; (ceil to integer) * step_gain_val = ""; (ceil to integer) * default_gain = ""; (ceil to integer) * Gain limits for mode * * exposure_factor = ""; (integer factor used for floating to fixed point conversion) * min_exp_time = ""; (ceil to integer) * max_exp_time = ""; (ceil to integer) * step_exp_time = ""; (ceil to integer) * default_exp_time = ""; (ceil to integer) * Exposure Time limits for mode (sec) * * framerate_factor = ""; (integer factor used for floating to fixed point conversion) * min_framerate = ""; (ceil to integer) * max_framerate = ""; (ceil to integer) * step_framerate = ""; (ceil to integer) * default_framerate = ""; (ceil to integer) * Framerate limits for mode (fps) * * embedded_metadata_height = ""; * Sensor embedded metadata height in units of rows. * If sensor does not support embedded metadata value should be 0. */ mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_g"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_g"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_g"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode3 { /* IMX219_MODE_1280x720_60FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_g"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "60000000"; /* 60.0 fps */ step_framerate = "1"; default_framerate = "60000000"; /* 60.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode4 { /* IMX219_MODE_1280x720_120FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_g"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "169600000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "120000000"; /* 120.0 fps */ step_framerate = "1"; default_framerate = "120000000"; /* 120.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { reg = <0>; status="okay"; rbpcv2_imx219_out5: endpoint { status="okay"; port-index = <6>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_in5>; }; }; }; }; }; }; }; lens_imx219@RBPCV2 { status="okay"; min_focus_distance = "0.0"; hyper_focal = "0.0"; focal_length = "3.04"; f_number = "2.0"; aperture = "0.0"; }; }; / { tcp: 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 * * max_pixel_rate = <>; * Max pixel rate in Kpixel/s for the ISP ISO case * Set this to the highest pix_clk_hz out of all available modes. * * 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 = <12>; max_lane_speed = <1500000>; min_bits_per_pixel = <10>; vi_peak_byte_per_pixel = <2>; vi_bw_margin_pct = <25>; max_pixel_rate = <240000>; isp_peak_byte_per_pixel = <5>; isp_bw_margin_pct = <25>; /** * 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 { status="okay"; cam_module0: module0 { badge = "jakku_bottomright_RBP194"; position = "bottomright"; orientation = "1"; status="okay"; cam_module0_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 30-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@0/rbpcv2_imx219_a@10"; }; cam_module0_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; cam_module1: module1 { badge = "jakku_centerright_RBP194"; position = "centerright"; orientation = "1"; status="okay"; cam_module1_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 31-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@1/rbpcv2_imx219_c@10"; }; cam_module1_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; cam_module2: module2 { badge = "jakku_bottomleft_RBP194"; position = "bottomleft"; orientation = "1"; status="okay"; cam_module2_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 32-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@2/rbpcv2_imx219_d@10"; }; cam_module2_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; cam_module3: module3 { badge = "jakku_centerleft_RBP194"; position = "centerleft"; orientation = "1"; status="okay"; cam_module3_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 33-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@3/rbpcv2_imx219_e@10"; }; cam_module3_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; cam_module4: module4 { badge = "jakku_topright_RBP194"; position = "centerleft"; orientation = "1"; status="okay"; cam_module4_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 34-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@4/rbpcv2_imx219_b@10"; }; cam_module4_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; cam_module5: module5 { badge = "jakku_topleft_RBP194"; position = "centerleft"; orientation = "1"; status="okay"; cam_module5_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 35-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@5/rbpcv2_imx219_g@10"; }; cam_module5_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; }; }; };
수정본
파일 열기
/* * Copyright (c) 2015-2019, 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 <http://www.gnu.org/licenses/>. */ #include <dt-bindings/media/camera.h> / { host1x { vi@15c10000 { num-channels = <6>; ports { status="okay"; #address-cells = <1>; #size-cells = <0>; vi_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_vi_in0: endpoint { status="okay"; port-index = <0>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_out0>; }; }; vi_port1: port@1 { status="okay"; reg = <1>; rbpcv2_imx219_vi_in1: endpoint { status="okay"; port-index = <2>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_out1>; }; }; vi_port2: port@2 { status="okay"; reg = <2>; rbpcv2_imx219_vi_in2: endpoint { status="okay"; port-index = <4>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_out2>; }; }; vi_port3: port@3 { status="okay"; reg = <3>; rbpcv2_imx219_vi_in3: endpoint { status="okay"; port-index = <3>; bus-width = <4>; remote-endpoint = <&rbpcv2_imx219_csi_out3>; }; }; vi_port4: port@4 { status="okay"; reg = <4>; rbpcv2_imx219_vi_in4: endpoint { status="okay"; port-index = <1>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_out4>; }; }; vi_port5: port@5 { status="okay"; reg = <5>; rbpcv2_imx219_vi_in5: endpoint { status="okay"; port-index = <6>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_out5>; }; }; }; }; nvcsi@15a00000 { num-channels = <6>; #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan0: channel@0 { reg = <0>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan0_port0: port@0 { reg = <0>; status="okay"; rbpcv2_imx219_csi_in0: endpoint@0 { status="okay"; port-index = <0>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_out0>; }; }; csi_chan0_port1: port@1 { reg = <1>; status="okay"; rbpcv2_imx219_csi_out0: endpoint@1 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in0>; }; }; }; }; csi_chan1: channel@1 { reg = <1>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan1_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_csi_in1: endpoint@2 { status="okay"; port-index = <2>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_out1>; }; }; csi_chan1_port1: port@1 { reg = <1>; status="okay"; rbpcv2_imx219_csi_out1: endpoint@3 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in1>; }; }; }; }; csi_chan2: channel@2 { reg = <2>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan2_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_csi_in2: endpoint@4 { status="okay"; port-index = <4>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_out2>; }; }; csi_chan2_port1: port@1 { status="okay"; reg = <1>; rbpcv2_imx219_csi_out2: endpoint@5 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in2>; }; }; }; }; csi_chan3: channel@3 { reg = <3>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan3_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_csi_in3: endpoint@6 { status="okay"; port-index = <3>; bus-width = <4>; remote-endpoint = <&rbpcv2_imx219_out3>; }; }; csi_chan3_port1: port@1 { status="okay"; reg = <1>; rbpcv2_imx219_csi_out3: endpoint@7 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in3>; }; }; }; }; csi_chan4: channel@4 { reg = <4>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan4_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_csi_in4: endpoint@8 { status="okay"; port-index = <1>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_out4>; }; }; csi_chan4_port1: port@1 { status="okay"; reg = <1>; rbpcv2_imx219_csi_out4: endpoint@9 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in4>; }; }; }; }; csi_chan5: channel@5 { reg = <5>; status="okay"; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; csi_chan5_port0: port@0 { status="okay"; reg = <0>; rbpcv2_imx219_csi_in5: endpoint@10 { status="okay"; port-index = <6>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_out5>; }; }; csi_chan5_port1: port@1 { status="okay"; reg = <1>; rbpcv2_imx219_csi_out5: endpoint@11 { status="okay"; remote-endpoint = <&rbpcv2_imx219_vi_in5>; }; }; }; }; }; }; i2c@3180000{ tca9548@70 { i2c_0: i2c@0 { imx219_cam0: rbpcv2_imx219_a@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video0"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; /** * ==== Modes ==== * A modeX node is required to support v4l2 driver * implementation with NVIDIA camera software stack * * == Signal properties == * * phy_mode = ""; * PHY mode used by the MIPI lanes for this device * * tegra_sinterface = ""; * CSI Serial interface connected to tegra * Incase of virtual HW devices, use virtual * For SW emulated devices, use host * * pix_clk_hz = ""; * Sensor pixel clock used for calculations like exposure and framerate * * readout_orientation = "0"; * Based on camera module orientation. * Only change readout_orientation if you specifically * Program a different readout order for this mode * * == Image format Properties == * * active_w = ""; * Pixel active region width * * active_h = ""; * Pixel active region height * * pixel_t = ""; * The sensor readout pixel pattern * * line_length = ""; * Pixel line length (width) for sensor mode. * * == Source Control Settings == * * Gain factor used to convert fixed point integer to float * Gain range [min_gain/gain_factor, max_gain/gain_factor] * Gain step [step_gain/gain_factor is the smallest step that can be configured] * Default gain [Default gain to be initialized for the control. * use min_gain_val as default for optimal results] * Framerate factor used to convert fixed point integer to float * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor] * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured] * Default Framerate [Default framerate to be initialized for the control. * use max_framerate to get required performance] * Exposure factor used to convert fixed point integer to float * For convenience use 1 sec = 1000000us as conversion factor * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor] * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured] * Default Exposure Time [Default exposure to be initialized for the control. * Set default exposure based on the default_framerate for optimal exposure settings] * * gain_factor = ""; (integer factor used for floating to fixed point conversion) * min_gain_val = ""; (ceil to integer) * max_gain_val = ""; (ceil to integer) * step_gain_val = ""; (ceil to integer) * default_gain = ""; (ceil to integer) * Gain limits for mode * * exposure_factor = ""; (integer factor used for floating to fixed point conversion) * min_exp_time = ""; (ceil to integer) * max_exp_time = ""; (ceil to integer) * step_exp_time = ""; (ceil to integer) * default_exp_time = ""; (ceil to integer) * Exposure Time limits for mode (sec) * * framerate_factor = ""; (integer factor used for floating to fixed point conversion) * min_framerate = ""; (ceil to integer) * max_framerate = ""; (ceil to integer) * step_framerate = ""; (ceil to integer) * default_framerate = ""; (ceil to integer) * Framerate limits for mode (fps) * * embedded_metadata_height = ""; * Sensor embedded metadata height in units of rows. * If sensor does not support embedded metadata value should be 0. */ mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode3 { /* IMX219_MODE_1280x720_60FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "60000000"; /* 60.0 fps */ step_framerate = "1"; default_framerate = "60000000"; /* 60.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode4 { /* IMX219_MODE_1280x720_120FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_a"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "169600000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "120000000"; /* 120.0 fps */ step_framerate = "1"; default_framerate = "120000000"; /* 120.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { reg = <0>; status="okay"; rbpcv2_imx219_out0: endpoint { status="okay"; port-index = <0>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_in0>; }; }; }; }; }; i2c_1: i2c@1 { imx219_cam1: rbpcv2_imx219_c@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video1"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_c"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_c"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_c"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode3 { /* IMX219_MODE_1280x720_60FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_c"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "60000000"; /* 60.0 fps */ step_framerate = "1"; default_framerate = "60000000"; /* 60.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode4 { /* IMX219_MODE_1280x720_120FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_c"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "169600000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "120000000"; /* 120.0 fps */ step_framerate = "1"; default_framerate = "120000000"; /* 120.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode5 { /* IMX219_MODE_640x480_200FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_c"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "640"; active_h = "480"; mode_type = "bayer"; pixel_phase = "rggb"; csi_pixel_bit_depth = "10"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "348800000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "200000000"; /* 200.0 fps */ step_framerate = "1"; default_framerate = "200000000"; /* 200.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { reg = <0>; status="okay"; rbpcv2_imx219_out1: endpoint { status="okay"; port-index = <2>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_in1>; }; }; }; }; }; i2c_2: i2c@2 { imx219_cam2: rbpcv2_imx219_d@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video2"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_d"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_d"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_d"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode3 { /* IMX219_MODE_1280x720_60FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_d"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "60000000"; /* 60.0 fps */ step_framerate = "1"; default_framerate = "60000000"; /* 60.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode4 { /* IMX219_MODE_1280x720_120FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_d"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "169600000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "120000000"; /* 120.0 fps */ step_framerate = "1"; default_framerate = "120000000"; /* 120.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { status="okay"; reg = <0>; rbpcv2_imx219_out2: endpoint { status="okay"; port-index = <4>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_in2>; }; }; }; }; }; i2c_3: i2c@3 { imx219_cam3: rbpcv2_imx219_e@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video3"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_e"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_e"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_e"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; // mode3 { /* IMX219_MODE_1280x720_60FPS */ // mclk_khz = "24000"; // num_lanes = "2"; // tegra_sinterface = "serial_e"; // phy_mode = "DPHY"; // discontinuous_clk = "yes"; // dpcm_enable = "false"; // cil_settletime = "0"; // active_w = "1280"; // active_h = "720"; // pixel_t = "bayer_rggb"; // readout_orientation = "90"; // line_length = "3448"; // inherent_gain = "1"; // mclk_multiplier = "9.33"; // pix_clk_hz = "182400000"; // gain_factor = "16"; // framerate_factor = "1000000"; // exposure_factor = "1000000"; // min_gain_val = "16"; /* 1.00x */ // max_gain_val = "170"; /* 10.66x */ // step_gain_val = "1"; // default_gain = "16"; /* 1.00x */ // min_hdr_ratio = "1"; // max_hdr_ratio = "1"; // min_framerate = "2000000"; /* 2.0 fps */ // max_framerate = "60000000"; /* 60.0 fps */ // step_framerate = "1"; // default_framerate = "60000000"; /* 60.0 fps */ // min_exp_time = "13"; /* us */ // max_exp_time = "683709"; /* us */ // step_exp_time = "1"; // default_exp_time = "2495"; /* us */ // embedded_metadata_height = "2"; // }; // mode4 { /* IMX219_MODE_1280x720_120FPS */ // mclk_khz = "24000"; // num_lanes = "4"; // tegra_sinterface = "serial_e"; // phy_mode = "DPHY"; // discontinuous_clk = "yes"; // dpcm_enable = "false"; // cil_settletime = "0"; // active_w = "1280"; // active_h = "720"; // pixel_t = "bayer_rggb"; // readout_orientation = "90"; // line_length = "3448"; // inherent_gain = "1"; // mclk_multiplier = "9.33"; // pix_clk_hz = "169600000"; // gain_factor = "16"; // framerate_factor = "1000000"; // exposure_factor = "1000000"; // min_gain_val = "16"; /* 1.00x */ // max_gain_val = "170"; /* 10.66x */ // step_gain_val = "1"; // default_gain = "16"; /* 1.00x */ // min_hdr_ratio = "1"; // max_hdr_ratio = "1"; // min_framerate = "2000000"; /* 2.0 fps */ // max_framerate = "120000000"; /* 120.0 fps */ // step_framerate = "1"; // default_framerate = "120000000"; /* 120.0 fps */ // min_exp_time = "13"; /* us */ // max_exp_time = "683709"; /* us */ // step_exp_time = "1"; // default_exp_time = "2495"; /* us */ // embedded_metadata_height = "2"; // }; mode3 { /* IMX219_MODE_1280x720_180FPS */ mclk_khz = "24000"; num_lanes = "4"; tegra_sinterface = "serial_e"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "11.7"; //Tried 9.33 pix_clk_hz = "280800000"; //182400000 348800000 gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "180000000"; /* 180.0 fps */ step_framerate = "1"; default_framerate = "180000000"; /* 180.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; // mode5 { /* IMX219_MODE_640x480_200FPS */ // mclk_khz = "24000"; // num_lanes = "4"; // tegra_sinterface = "serial_e"; // phy_mode = "DPHY"; // discontinuous_clk = "yes"; // dpcm_enable = "false"; // cil_settletime = "0"; // active_w = "640"; // active_h = "480"; // mode_type = "bayer"; // pixel_phase = "rggb"; // csi_pixel_bit_depth = "10"; // readout_orientation = "90"; // line_length = "3448"; // inherent_gain = "1"; // mclk_multiplier = "9.33"; // pix_clk_hz = "348800000"; // gain_factor = "16"; // framerate_factor = "1000000"; // exposure_factor = "1000000"; // min_gain_val = "16"; /* 1.00x */ // max_gain_val = "170"; /* 10.66x */ // step_gain_val = "1"; // default_gain = "16"; /* 1.00x */ // min_hdr_ratio = "1"; // max_hdr_ratio = "1"; // min_framerate = "2000000"; /* 2.0 fps */ // max_framerate = "200000000"; /* 200.0 fps */ // step_framerate = "1"; // default_framerate = "200000000"; /* 200.0 fps */ // min_exp_time = "13"; /* us */ // max_exp_time = "683709"; /* us */ // step_exp_time = "1"; // default_exp_time = "2495"; /* us */ // embedded_metadata_height = "2"; // }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { status="okay"; reg = <0>; rbpcv2_imx219_out3: endpoint { status="okay"; port-index = <3>; bus-width = <4>; remote-endpoint = <&rbpcv2_imx219_csi_in3>; }; }; }; }; }; i2c_4: i2c@4 { imx219_cam4: rbpcv2_imx219_b@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video4"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; /** * ==== Modes ==== * A modeX node is required to support v4l2 driver * implementation with NVIDIA camera software stack * * == Signal properties == * * phy_mode = ""; * PHY mode used by the MIPI lanes for this device * * tegra_sinterface = ""; * CSI Serial interface connected to tegra * Incase of virtual HW devices, use virtual * For SW emulated devices, use host * * pix_clk_hz = ""; * Sensor pixel clock used for calculations like exposure and framerate * * readout_orientation = "0"; * Based on camera module orientation. * Only change readout_orientation if you specifically * Program a different readout order for this mode * * == Image format Properties == * * active_w = ""; * Pixel active region width * * active_h = ""; * Pixel active region height * * pixel_t = ""; * The sensor readout pixel pattern * * line_length = ""; * Pixel line length (width) for sensor mode. * * == Source Control Settings == * * Gain factor used to convert fixed point integer to float * Gain range [min_gain/gain_factor, max_gain/gain_factor] * Gain step [step_gain/gain_factor is the smallest step that can be configured] * Default gain [Default gain to be initialized for the control. * use min_gain_val as default for optimal results] * Framerate factor used to convert fixed point integer to float * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor] * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured] * Default Framerate [Default framerate to be initialized for the control. * use max_framerate to get required performance] * Exposure factor used to convert fixed point integer to float * For convenience use 1 sec = 1000000us as conversion factor * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor] * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured] * Default Exposure Time [Default exposure to be initialized for the control. * Set default exposure based on the default_framerate for optimal exposure settings] * * gain_factor = ""; (integer factor used for floating to fixed point conversion) * min_gain_val = ""; (ceil to integer) * max_gain_val = ""; (ceil to integer) * step_gain_val = ""; (ceil to integer) * default_gain = ""; (ceil to integer) * Gain limits for mode * * exposure_factor = ""; (integer factor used for floating to fixed point conversion) * min_exp_time = ""; (ceil to integer) * max_exp_time = ""; (ceil to integer) * step_exp_time = ""; (ceil to integer) * default_exp_time = ""; (ceil to integer) * Exposure Time limits for mode (sec) * * framerate_factor = ""; (integer factor used for floating to fixed point conversion) * min_framerate = ""; (ceil to integer) * max_framerate = ""; (ceil to integer) * step_framerate = ""; (ceil to integer) * default_framerate = ""; (ceil to integer) * Framerate limits for mode (fps) * * embedded_metadata_height = ""; * Sensor embedded metadata height in units of rows. * If sensor does not support embedded metadata value should be 0. */ mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_b"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_b"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_b"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode3 { /* IMX219_MODE_1280x720_60FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_b"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "60000000"; /* 60.0 fps */ step_framerate = "1"; default_framerate = "60000000"; /* 60.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode4 { /* IMX219_MODE_1280x720_120FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_b"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "169600000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "120000000"; /* 120.0 fps */ step_framerate = "1"; default_framerate = "120000000"; /* 120.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { reg = <0>; status="okay"; rbpcv2_imx219_out4: endpoint { status="okay"; port-index = <1>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_in4>; }; }; }; }; }; i2c_5: i2c@5 { imx219_cam5: rbpcv2_imx219_g@10 { status="okay"; compatible = "nvidia,imx219"; /* I2C device address */ reg = <0x10>; /* V4L2 device node location */ devnode = "video5"; /* Physical dimensions of sensor */ physical_w = "3.680"; physical_h = "2.760"; sensor_model = "imx219"; use_sensor_mode_id = "true"; /** * ==== Modes ==== * A modeX node is required to support v4l2 driver * implementation with NVIDIA camera software stack * * == Signal properties == * * phy_mode = ""; * PHY mode used by the MIPI lanes for this device * * tegra_sinterface = ""; * CSI Serial interface connected to tegra * Incase of virtual HW devices, use virtual * For SW emulated devices, use host * * pix_clk_hz = ""; * Sensor pixel clock used for calculations like exposure and framerate * * readout_orientation = "0"; * Based on camera module orientation. * Only change readout_orientation if you specifically * Program a different readout order for this mode * * == Image format Properties == * * active_w = ""; * Pixel active region width * * active_h = ""; * Pixel active region height * * pixel_t = ""; * The sensor readout pixel pattern * * line_length = ""; * Pixel line length (width) for sensor mode. * * == Source Control Settings == * * Gain factor used to convert fixed point integer to float * Gain range [min_gain/gain_factor, max_gain/gain_factor] * Gain step [step_gain/gain_factor is the smallest step that can be configured] * Default gain [Default gain to be initialized for the control. * use min_gain_val as default for optimal results] * Framerate factor used to convert fixed point integer to float * Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor] * Framerate step [step_framerate/framerate_factor is the smallest step that can be configured] * Default Framerate [Default framerate to be initialized for the control. * use max_framerate to get required performance] * Exposure factor used to convert fixed point integer to float * For convenience use 1 sec = 1000000us as conversion factor * Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor] * Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured] * Default Exposure Time [Default exposure to be initialized for the control. * Set default exposure based on the default_framerate for optimal exposure settings] * * gain_factor = ""; (integer factor used for floating to fixed point conversion) * min_gain_val = ""; (ceil to integer) * max_gain_val = ""; (ceil to integer) * step_gain_val = ""; (ceil to integer) * default_gain = ""; (ceil to integer) * Gain limits for mode * * exposure_factor = ""; (integer factor used for floating to fixed point conversion) * min_exp_time = ""; (ceil to integer) * max_exp_time = ""; (ceil to integer) * step_exp_time = ""; (ceil to integer) * default_exp_time = ""; (ceil to integer) * Exposure Time limits for mode (sec) * * framerate_factor = ""; (integer factor used for floating to fixed point conversion) * min_framerate = ""; (ceil to integer) * max_framerate = ""; (ceil to integer) * step_framerate = ""; (ceil to integer) * default_framerate = ""; (ceil to integer) * Framerate limits for mode (fps) * * embedded_metadata_height = ""; * Sensor embedded metadata height in units of rows. * If sensor does not support embedded metadata value should be 0. */ mode0 { /* IMX219_MODE_3264x2464_21FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_g"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "2464"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "21000000"; /* 21.0 fps */ step_framerate = "1"; default_framerate = "21000000"; /* 21.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode1 { /* IMX219_MODE_3264x1848_28FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_g"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "3264"; active_h = "1848"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "28000000"; /* 28.0 fps */ step_framerate = "1"; default_framerate = "28000000"; /* 28.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode2 { /* IMX219_MODE_1920x1080_30FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_g"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1920"; active_h = "1080"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "30000000"; /* 30.0 fps */ step_framerate = "1"; default_framerate = "30000000"; /* 30.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode3 { /* IMX219_MODE_1280x720_60FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_g"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "182400000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "60000000"; /* 60.0 fps */ step_framerate = "1"; default_framerate = "60000000"; /* 60.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; mode4 { /* IMX219_MODE_1280x720_120FPS */ mclk_khz = "24000"; num_lanes = "2"; tegra_sinterface = "serial_g"; phy_mode = "DPHY"; discontinuous_clk = "yes"; dpcm_enable = "false"; cil_settletime = "0"; active_w = "1280"; active_h = "720"; pixel_t = "bayer_rggb"; readout_orientation = "90"; line_length = "3448"; inherent_gain = "1"; mclk_multiplier = "9.33"; pix_clk_hz = "169600000"; gain_factor = "16"; framerate_factor = "1000000"; exposure_factor = "1000000"; min_gain_val = "16"; /* 1.00x */ max_gain_val = "170"; /* 10.66x */ step_gain_val = "1"; default_gain = "16"; /* 1.00x */ min_hdr_ratio = "1"; max_hdr_ratio = "1"; min_framerate = "2000000"; /* 2.0 fps */ max_framerate = "120000000"; /* 120.0 fps */ step_framerate = "1"; default_framerate = "120000000"; /* 120.0 fps */ min_exp_time = "13"; /* us */ max_exp_time = "683709"; /* us */ step_exp_time = "1"; default_exp_time = "2495"; /* us */ embedded_metadata_height = "2"; }; ports { #address-cells = <1>; #size-cells = <0>; status="okay"; port@0 { reg = <0>; status="okay"; rbpcv2_imx219_out5: endpoint { status="okay"; port-index = <6>; bus-width = <2>; remote-endpoint = <&rbpcv2_imx219_csi_in5>; }; }; }; }; }; }; }; lens_imx219@RBPCV2 { status="okay"; min_focus_distance = "0.0"; hyper_focal = "0.0"; focal_length = "3.04"; f_number = "2.0"; aperture = "0.0"; }; }; / { tcp: 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 * * max_pixel_rate = <>; * Max pixel rate in Kpixel/s for the ISP ISO case * Set this to the highest pix_clk_hz out of all available modes. * * 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 = <12>; max_lane_speed = <1500000>; min_bits_per_pixel = <10>; vi_peak_byte_per_pixel = <2>; vi_bw_margin_pct = <25>; max_pixel_rate = <240000>; isp_peak_byte_per_pixel = <5>; isp_bw_margin_pct = <25>; /** * 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 { status="okay"; cam_module0: module0 { badge = "jakku_bottomright_RBP194"; position = "bottomright"; orientation = "1"; status="okay"; cam_module0_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 30-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@0/rbpcv2_imx219_a@10"; }; cam_module0_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; cam_module1: module1 { badge = "jakku_centerright_RBP194"; position = "centerright"; orientation = "1"; status="okay"; cam_module1_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 31-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@1/rbpcv2_imx219_c@10"; }; cam_module1_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; cam_module2: module2 { badge = "jakku_bottomleft_RBP194"; position = "bottomleft"; orientation = "1"; status="okay"; cam_module2_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 32-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@2/rbpcv2_imx219_d@10"; }; cam_module2_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; cam_module3: module3 { badge = "jakku_centerleft_RBP194"; position = "centerleft"; orientation = "1"; status="okay"; cam_module3_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 33-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@3/rbpcv2_imx219_e@10"; }; cam_module3_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; cam_module4: module4 { badge = "jakku_topright_RBP194"; position = "topright"; orientation = "1"; status="okay"; cam_module4_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 34-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@4/rbpcv2_imx219_b@10"; }; cam_module4_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; cam_module5: module5 { badge = "jakku_topleft_RBP194"; position = "topleft"; orientation = "1"; status="okay"; cam_module5_drivernode0: drivernode0 { status="okay"; pcl_id = "v4l2_sensor"; devname = "imx219 35-0010"; proc-device-tree = "/proc/device-tree/i2c@3180000/tca9548@70/i2c@5/rbpcv2_imx219_g@10"; }; cam_module5_drivernode1: drivernode1 { status="okay"; pcl_id = "v4l2_lens"; proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/"; }; }; }; }; };
비교하기