Diff
checker
Text
Text
Bilder
Dokumente
Excel
Ordner
Legal
Enterprise
Desktop-App
Preise
Einloggen
Diffchecker Desktop herunterladen
Texte vergleichen
Finde den Unterschied zwischen zwei Textdateien
Werkzeuge
Verlauf
Live-Editor
Leerzeichen ausblenden
Gleiches ausblenden
Zeilenumbruch aus
Ansicht
Zweispaltig
Einspaltig
Vergleichsgenauigkeit
Intelligent
Wort
Zeichen
Textstile
Darstellung ändern
Syntaxhervorhebung
Syntax auswählen
Ignorieren
Text umwandeln
Zur ersten Änderung
Eingabe bearbeiten
Diffchecker Desktop
Der sicherste Weg, Diffchecker zu nutzen. Hol dir die Desktop-App: Deine Diffs verlassen nie deinen Computer!
Desktop holen
Diff_dronecore
Erstellt
vor 4 Jahren
Diff läuft nie ab
Löschen
Exportieren
Teilen
Erklären
46 Entfernungen
Zeilen
Gesamt
Entfernt
Zeichen
Gesamt
Entfernt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
886 Zeilen
Kopieren
46 Hinzufügungen
Zeilen
Gesamt
Hinzugefügt
Zeichen
Gesamt
Hinzugefügt
Um diese Funktion weiterhin zu nutzen, aktualisiere auf
Diff
checker
Pro
Preise anzeigen
887 Zeilen
Kopieren
/*
/*
* 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";
Kopieren
Kopiert
Kopieren
Kopiert
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";
Kopieren
Kopiert
Kopieren
Kopiert
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";
Kopieren
Kopiert
Kopieren
Kopiert
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";
Kopieren
Kopiert
Kopieren
Kopiert
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";
};
};
Kopieren
Kopiert
Kopieren
Kopiert
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 */
Kopieren
Kopiert
Kopieren
Kopiert
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"; /*
Gespeicherte Diffs
Originaltext
Datei öffnen
/* * 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/"; }; }; }; }; };
Bearbeitung
Datei öffnen
/* * 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/"; }; }; }; }; };
Unterschied finden