Four camera with orin nx 8G

Hi jetson team,

I am working with a custom carrier board with jetson ORIN NX 8g which connect to four 2-lane camera(IMX219).
My SDK version is JetPack 6.2.

I can make CSI0 and CSI2 work at the same time, and I can also make CSI1 and CSI3 work at the same time too.
My problem is that I can’t make all of these four camera work at the same time.

Here is my dts overlay code:

// SPDX-License-Identifier: GPL-2.0-only
// SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

/dts-v1/;
/plugin/;

#define CAM0_RST        TEGRA234_MAIN_GPIO(H, 3)
#define CAM0_PWDN	TEGRA234_MAIN_GPIO(H, 6)
#define CAM1_PWDN	TEGRA234_MAIN_GPIO(AC, 0)
#define CAM_I2C_MUX 	TEGRA234_AON_GPIO(CC, 3)

#define CAM2_PWDN	TEGRA234_MAIN_GPIO(Q, 6)
#define CAM3_PWDN	TEGRA234_MAIN_GPIO(G, 6)
#define CAM_I2C_MUX2 	TEGRA234_MAIN_GPIO(H, 0)

#include <dt-bindings/clock/tegra234-clock.h>
#include <dt-bindings/gpio/tegra234-gpio.h>
#include <dt-bindings/tegra234-p3767-0000-common.h>
//#include "tegra234-camera-rbpcv2-imx219.dtsi"

/ {
	overlay-name = "Camera IMX219 Quad Custom";
	jetson-header-name = "Jetson 24pin CSI Connector";
	compatible = JETSON_COMPATIBLE_P3768;

	fragment-camera@0 {
		target-path = "/";
		__overlay__ {
			tegra-capture-vi  {
				num-channels = <4>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					vi_port0: port@0 {
						reg = <0>;
						rbpcv2_imx219_vi_in0: endpoint {
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&rbpcv2_imx219_csi_out0>;
						};
					};
					vi_port1: port@1 {
						reg = <1>;
						rbpcv2_imx219_vi_in1: endpoint {
							port-index = <2>;
							bus-width = <2>;
							remote-endpoint = <&rbpcv2_imx219_csi_out1>;
						};
					};
					vi_port2: port@2 {
						reg = <2>;
						rbpcv2_imx219_vi_in2: endpoint {
							port-index = <1>;
							bus-width = <2>;
							remote-endpoint = <&rbpcv2_imx219_csi_out2>;
						};
					};
					vi_port3: port@3 {
						reg = <3>;
						rbpcv2_imx219_vi_in3: endpoint {
							port-index = <3>;
							bus-width = <2>;
							remote-endpoint = <&rbpcv2_imx219_csi_out3>;
						};
					};
				};
			};

			bus@0 {
				host1x@13e00000 {
					nvcsi@15a00000 {
						num-channels = <4>;
						#address-cells = <1>;
						#size-cells = <0>;
						csi_chan0: channel@0 {
							reg = <0>;
							ports {
								#address-cells = <1>;
								#size-cells = <0>;
								csi_chan0_port0: port@0 {
									reg = <0>;
									rbpcv2_imx219_csi_in0: endpoint@0 {
										port-index = <0>;
										bus-width = <2>;
										remote-endpoint = <&rbpcv2_imx219_out0>;
									};
								};
								csi_chan0_port1: port@1 {
									reg = <1>;
									rbpcv2_imx219_csi_out0: endpoint@1 {
										remote-endpoint = <&rbpcv2_imx219_vi_in0>;
									};
								};
							};
						};
						csi_chan1: channel@1 {
							reg = <1>;
							ports {
								#address-cells = <1>;
								#size-cells = <0>;
								csi_chan1_port0: port@0 {
									reg = <0>;
									rbpcv2_imx219_csi_in1: endpoint@2 {
										port-index = <2>;
										bus-width = <2>;
										remote-endpoint = <&rbpcv2_imx219_out1>;
									};
								};
								csi_chan1_port1: port@1 {
									reg = <1>;
									rbpcv2_imx219_csi_out1: endpoint@3 {
										remote-endpoint = <&rbpcv2_imx219_vi_in1>;
									};
								};
							};
						};
						csi_chan2: channel@2 {
							reg = <2>;
							ports {
								#address-cells = <1>;
								#size-cells = <0>;
								csi_chan0_port2: port@2 {
									reg = <0>;
									rbpcv2_imx219_csi_in2: endpoint@4 {
										port-index = <1>;
										bus-width = <2>;
										remote-endpoint = <&rbpcv2_imx219_out2>;
									};
								};
								csi_chan0_port3: port@3 {
									reg = <1>;
									rbpcv2_imx219_csi_out2: endpoint@5 {
										remote-endpoint = <&rbpcv2_imx219_vi_in2>;
									};
								};
							};
						};
						csi_chan3: channel@3 {
							reg = <3>;
							ports {
								#address-cells = <1>;
								#size-cells = <0>;
								csi_chan1_port2: port@2 {
									reg = <0>;
									rbpcv2_imx219_csi_in3: endpoint@6 {
										port-index = <3>;
										bus-width = <2>;
										remote-endpoint = <&rbpcv2_imx219_out3>;
									};
								};
								csi_chan1_port3: port@3 {
									reg = <1>;
									rbpcv2_imx219_csi_out3: endpoint@7 {
										remote-endpoint = <&rbpcv2_imx219_vi_in3>;
									};
								};
							};
						};
					};
				};

				cam_i2cmux {
					status = "okay";
					compatible = "i2c-mux-gpio";
					#address-cells = <1>;
					#size-cells = <0>;
					i2c-parent = <&cam_i2c>;
					mux-gpios = <&gpio_aon CAM_I2C_MUX GPIO_ACTIVE_HIGH>;
					i2c_0:i2c@0 {
						status = "okay";
						reg = <0>;
						#address-cells = <1>;
						#size-cells = <0>;
						imx219_cam0: rbpcv2_imx219_a@10 {
							compatible = "sony,imx219";
							reset-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
							/* 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_3280x2464_21FPS */
								mclk_khz = "24000";
								num_lanes = "2";
								tegra_sinterface = "serial_a";
								lane_polarity = "6";
								phy_mode = "DPHY";
								discontinuous_clk = "yes";
								dpcm_enable = "false";
								cil_settletime = "0";
								active_w = "3280";
								active_h = "2464";
								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 = "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_3280x1848_28FPS */
								mclk_khz = "24000";
								num_lanes = "2";
								tegra_sinterface = "serial_a";
								lane_polarity = "6";
								phy_mode = "DPHY";
								discontinuous_clk = "yes";
								dpcm_enable = "false";
								cil_settletime = "0";
								active_w = "3280";
								active_h = "1848";
								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 = "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";
								lane_polarity = "6";
								phy_mode = "DPHY";
								discontinuous_clk = "yes";
								dpcm_enable = "false";
								cil_settletime = "0";
								active_w = "1920";
								active_h = "1080";
								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 = "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_1640x1232_30FPS */
								mclk_khz = "24000";
								num_lanes = "2";
								tegra_sinterface = "serial_a";
								lane_polarity = "6";
								phy_mode = "DPHY";
								discontinuous_clk = "yes";
								dpcm_enable = "false";
								cil_settletime = "0";
								active_w = "1640";
								active_h = "1232";
								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 = "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"; /* 60.0 fps */
								step_framerate = "1";
								default_framerate = "30000000"; /* 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_60FPS */
								mclk_khz = "24000";
								num_lanes = "2";
								tegra_sinterface = "serial_a";
								lane_polarity = "6";
								phy_mode = "DPHY";
								discontinuous_clk = "yes";
								dpcm_enable = "false";
								cil_settletime = "0";
								active_w = "1280";
								active_h = "720";
								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 = "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";
							};
							ports {
								#address-cells = <1>;
								#size-cells = <0>;
								port@0 {
									reg = <0>;
									rbpcv2_imx219_out0: endpoint {
										port-index = <0>;
										bus-width = <2>;
										remote-endpoint = <&rbpcv2_imx219_csi_in0>;
									};
								};
							};
						};
					};
					i2c_1: i2c@1 {
						status = "okay";
						reg = <1>;
						#address-cells = <1>;
						#size-cells = <0>;
						imx219_cam1: rbpcv2_imx219_c@10 {
							compatible = "sony,imx219";
							reset-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
							/* 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";
							/**
							* ==== 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_3280x2464_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 = "3280";
								active_h = "2464";
								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 = "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_3280x1848_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 = "3280";
								active_h = "1848";
								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 = "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";
								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 = "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_1640x1232_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 = "1640";
								active_h = "1232";
								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 = "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"; /* 60.0 fps */
								step_framerate = "1";
								default_framerate = "30000000"; /* 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_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";
								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 = "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";
							};
							ports {
								#address-cells = <1>;
								#size-cells = <0>;
								port@0 {
									reg = <0>;
									rbpcv2_imx219_out1: endpoint {
										port-index = <2>;
										bus-width = <2>;
										remote-endpoint = <&rbpcv2_imx219_csi_in1>;
									};
								};
							};
						};
					};
				};
				//lens_imx219@RBPCV2 {
				//	min_focus_distance = "0.0";
				//	hyper_focal = "0.0";
				//	focal_length = "3.04";
				//	f_number = "2.0";
				//	aperture = "0.0";
				//};

				cam_i2cmux2 {
					status = "okay";
					compatible = "i2c-mux-gpio";
					#address-cells = <1>;
					#size-cells = <0>;
					i2c-parent = <&gen2_i2c>;
					mux-gpios = <&gpio CAM_I2C_MUX2 GPIO_ACTIVE_HIGH>;

					i2c_2:i2c@2 {
						status = "okay";
						reg = <0>;
						#address-cells = <1>;
						#size-cells = <0>;

						imx219_cam2: rbpcv2_imx219_b@10 {
							reset-gpios = <&gpio CAM2_PWDN GPIO_ACTIVE_HIGH>;
							compatible = "sony,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";
							/**
							* ==== 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_3280x2464_21FPS */
								mclk_khz = "24000";
								num_lanes = "2";
								tegra_sinterface = "serial_b";
								lane_polarity = "6";
								phy_mode = "DPHY";
								discontinuous_clk = "yes";
								dpcm_enable = "false";
								cil_settletime = "0";
								active_w = "3280";
								active_h = "2464";
								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 = "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_3280x1848_28FPS */
								mclk_khz = "24000";
								num_lanes = "2";
								tegra_sinterface = "serial_b";
								lane_polarity = "6";
								phy_mode = "DPHY";
								discontinuous_clk = "yes";
								dpcm_enable = "false";
								cil_settletime = "0";
								active_w = "3280";
								active_h = "1848";
								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 = "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";
								lane_polarity = "6";
								phy_mode = "DPHY";
								discontinuous_clk = "yes";
								dpcm_enable = "false";
								cil_settletime = "0";
								active_w = "1920";
								active_h = "1080";
								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 = "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_1640x1232_30FPS */
								mclk_khz = "24000";
								num_lanes = "2";
								tegra_sinterface = "serial_b";
								lane_polarity = "6";
								phy_mode = "DPHY";
								discontinuous_clk = "yes";
								dpcm_enable = "false";
								cil_settletime = "0";
								active_w = "1640";
								active_h = "1232";
								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 = "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"; /* 60.0 fps */
								step_framerate = "1";
								default_framerate = "30000000"; /* 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_60FPS */
								mclk_khz = "24000";
								num_lanes = "2";
								tegra_sinterface = "serial_b";
								lane_polarity = "6";
								phy_mode = "DPHY";
								discontinuous_clk = "yes";
								dpcm_enable = "false";
								cil_settletime = "0";
								active_w = "1280";
								active_h = "720";
								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 = "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";
							};
							ports {
								#address-cells = <1>;
								#size-cells = <0>;
								port@0 {
									reg = <0>;
									rbpcv2_imx219_out2: endpoint {
										port-index = <1>;
										bus-width = <2>;
										remote-endpoint = <&rbpcv2_imx219_csi_in2>;
									};
								};
							};
						};
					};
					i2c_3: i2c@3 {
						status = "okay";
						reg = <1>;
						#address-cells = <1>;
						#size-cells = <0>;

						imx219_cam3: rbpcv2_imx219_d@10 {
							reset-gpios = <&gpio CAM3_PWDN GPIO_ACTIVE_HIGH>;
							compatible = "sony,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";
							/**
							* ==== 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_3280x2464_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 = "3280";
								active_h = "2464";
								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 = "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_3280x1848_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 = "3280";
								active_h = "1848";
								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 = "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";
								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 = "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_1640x1232_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 = "1640";
								active_h = "1232";
								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 = "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"; /* 60.0 fps */
								step_framerate = "1";
								default_framerate = "30000000"; /* 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_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";
								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 = "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";
							};
							ports {
								#address-cells = <1>;
								#size-cells = <0>;
								port@0 {
									reg = <0>;
									rbpcv2_imx219_out3: endpoint {
										port-index = <3>;
										bus-width = <2>;
										remote-endpoint = <&rbpcv2_imx219_csi_in3>;
									};
								};
							};
						};
					};
				};
				lens_imx219@RBPCV2 {
					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
				*
				* isp_peak_byte_per_pixel = <>;
				* Max byte per pixel for the ISP ISO case
				*
				* isp_bw_margin_pct = <>;
				* Isp bandwidth margin in percentage
				*/
				num_csi_lanes = <8>;
				max_lane_speed = <1500000>;
				min_bits_per_pixel = <10>;
				vi_peak_byte_per_pixel = <2>;
				vi_bw_margin_pct = <25>;
				max_pixel_rate = <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 vendor.
				 */
				modules {
					cam_module0: module0 {
						badge = "jakku_front_RBP194";
						position = "front";
						orientation = "1";
						cam_module0_drivernode0: drivernode0 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/cam_i2cmux/i2c@0/rbpcv2_imx219_a@10";
						};
						cam_module0_drivernode1: drivernode1 {
							pcl_id = "v4l2_lens";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/lens_imx219@RBPCV2";
						};
					};
					cam_module1: module1 {
						badge = "jakku_rear_RBP194";
						position = "rear";
						orientation = "1";
						cam_module1_drivernode0: drivernode0 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/cam_i2cmux/i2c@1/rbpcv2_imx219_c@10";
						};
						cam_module1_drivernode1: drivernode1 {
							pcl_id = "v4l2_lens";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/lens_imx219@RBPCV2/";
						};
					};
					cam_module2: module2 {
						badge = "jakku_left_RBP194";
						position = "left";
						orientation = "1";
						cam_module0_drivernode2: drivernode2 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/cam_i2cmux2/i2c@0/rbpcv2_imx219_b@10";
						};
						cam_module0_drivernode3: drivernode3 {
							pcl_id = "v4l2_lens";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/lens_imx219@RBPCV2";
						};
					};
					cam_module3: module3 {
						badge = "jakku_right_RBP194";
						position = "right";
						orientation = "1";
						cam_module1_drivernode2: drivernode2 {
							pcl_id = "v4l2_sensor";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/cam_i2cmux2/i2c@1/rbpcv2_imx219_d@10";
						};
						cam_module1_drivernode3: drivernode3 {
							pcl_id = "v4l2_lens";
							sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/lens_imx219@RBPCV2/";
						};
					};
				};
			};
		};
	};
};

This dts overlay code is based on tegra234-camera-rbpcv2-imx219.dtsi

I would be appreciated if someone can help me with this problem.

I also did some test with those cameras.
Here is the log:

seeed@seeed-desktop:~$ v4l2-ctl -d /dev/video0 --stream-mmap
<<<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<
seeed@seeed-desktop:~$ v4l2-ctl -d /dev/video1 --stream-mmap
<<<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<
seeed@seeed-desktop:~$ v4l2-ctl -d /dev/video2 --stream-mmap
<<<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<
seeed@seeed-desktop:~$ v4l2-ctl -d /dev/video3 --stream-mmap
<<<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<
seeed@seeed-desktop:~$ v4l2-ctl --list-devices
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
        /dev/media0

vi-output, imx219 12-0010 (platform:tegra-capture-vi:0):
        /dev/video3

vi-output, imx219 10-0010 (platform:tegra-capture-vi:1):
        /dev/video1

vi-output, imx219 11-0010 (platform:tegra-capture-vi:2):
        /dev/video2

vi-output, imx219 9-0010 (platform:tegra-capture-vi:3):
        /dev/video0

And here is the table of my camera maps:

Pysical CSI lane-num Sensor port-index NVCSI port-index tegra_sinterface lane_polarity
CSI0 2 0 0 serial_a 6
CSI1 2 1 1 serial_b 6
CSI2 2 2 2 serial_c 0
CSI3 2 3 3 serial_d 0

Can CSI0 and CSI1 working together?
What the nvargus_nvraw --lps shows.
Please also confirm if v4l2-ctl working for 4 cameras together.

Thank you for your reply.

Here is the log of command nvargus_nvraw --lps:

seeed@seeed-desktop:~$ nvargus_nvraw --lps
nvargus_nvraw version 1.16.0
Number of supported sensor entries 0
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type
seeed@seeed-desktop:~$

And I will have a try to make CSI0 and CSI1 work at same time.

And what do you mean with confirm if v4l2-ctl working for 4 cameras together?

Looks like Argus doesn’t detect any cameras.
You may need to check the tegra_camera_platform{} in your device tree.

Thanks

I made some change to the overlay dts code. And I can make CSI0 and CSI1 work at the same time.
Here is the dts code details:

// SPDX-License-Identifier: GPL-2.0-only
// SPDX-FileCopyrightText: Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.

/dts-v1/;
/plugin/;

#define CAM0_RST        TEGRA234_MAIN_GPIO(H, 3)
#define CAM0_PWDN       TEGRA234_MAIN_GPIO(H, 6)
#define CAM1_PWDN       TEGRA234_MAIN_GPIO(AC, 0)
#define CAM_I2C_MUX     TEGRA234_AON_GPIO(CC, 3)

#define CAM2_PWDN       TEGRA234_MAIN_GPIO(Q, 6)
#define CAM3_PWDN       TEGRA234_MAIN_GPIO(G, 6)
#define CAM_I2C_MUX2    TEGRA234_MAIN_GPIO(H, 0)

#include <dt-bindings/clock/tegra234-clock.h>
#include <dt-bindings/gpio/tegra234-gpio.h>
#include <dt-bindings/tegra234-p3767-0000-common.h>
//#include "tegra234-camera-rbpcv2-imx219.dtsi"

/ {
        overlay-name = "Camera IMX219 Quad Seeed";
        jetson-header-name = "Jetson 24pin CSI Connector";
        compatible = JETSON_COMPATIBLE_P3768;

        fragment-camera@0 {
                target-path = "/";
                __overlay__ {
                        tegra-capture-vi  {
                                num-channels = <2>;
                                ports {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        vi_port0: port@0 {
                                                reg = <0>;
                                                rbpcv2_imx219_vi_in0: endpoint {
                                                        port-index = <0>;
                                                        bus-width = <2>;
                                                        remote-endpoint = <&rbpcv2_imx219_csi_out0>;
                                                };
                                        };
                                        vi_port1: port@1 {
                                                reg = <1>;
                                                rbpcv2_imx219_vi_in1: endpoint {
                                                        port-index = <2>;
                                                        bus-width = <2>;
                                                        remote-endpoint = <&rbpcv2_imx219_csi_out1>;
                                                };
                                        };
                                };
                        };

                        bus@0 {
                                host1x@13e00000 {
                                        nvcsi@15a00000 {
                                                num-channels = <2>;
                                                #address-cells = <1>;
                                                #size-cells = <0>;
                                                csi_chan0: channel@0 {
                                                        reg = <0>;
                                                        ports {
                                                                #address-cells = <1>;
                                                                #size-cells = <0>;
                                                                csi_chan0_port0: port@0 {
                                                                        reg = <0>;
                                                                        rbpcv2_imx219_csi_in0: endpoint@0 {
                                                                                port-index = <0>;
                                                                                bus-width = <2>;
                                                                                remote-endpoint = <&rbpcv2_imx219_out0>;
                                                                        };
                                                                };
                                                                csi_chan0_port1: port@1 {
                                                                        reg = <1>;
                                                                        rbpcv2_imx219_csi_out0: endpoint@1 {
                                                                                remote-endpoint = <&rbpcv2_imx219_vi_in0>;
                                                                        };
                                                                };
                                                        };
                                                };
                                                csi_chan1: channel@1 {
                                                        reg = <1>;
                                                        ports {
                                                                #address-cells = <1>;
                                                                #size-cells = <0>;
                                                                csi_chan1_port0: port@0 {
                                                                        reg = <0>;
                                                                        rbpcv2_imx219_csi_in1: endpoint@2 {
                                                                                port-index = <2>;
                                                                                bus-width = <2>;
                                                                                remote-endpoint = <&rbpcv2_imx219_out1>;
                                                                        };
                                                                };
                                                                csi_chan1_port1: port@1 {
                                                                        reg = <1>;
                                                                        rbpcv2_imx219_csi_out1: endpoint@3 {
                                                                                remote-endpoint = <&rbpcv2_imx219_vi_in1>;
                                                                        };
                                                                };
                                                        };
                                                };
                                        };
                                };
                                cam_i2cmux {
                                        status = "okay";
                                        compatible = "i2c-mux-gpio";
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        i2c-parent = <&cam_i2c>;
                                        mux-gpios = <&gpio_aon CAM_I2C_MUX GPIO_ACTIVE_HIGH>;
                                        i2c_0:i2c@0 {
                                                status = "okay";
                                                reg = <0>;
                                                #address-cells = <1>;
                                                #size-cells = <0>;
                                                imx219_cam0: rbpcv2_imx219_a@10 {
                                                        compatible = "sony,imx219";
                                                        reset-gpios = <&gpio CAM0_PWDN GPIO_ACTIVE_HIGH>;
                                                        /* 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_3280x2464_21FPS */
                                                                mclk_khz = "24000";
                                                                num_lanes = "2";
                                                                tegra_sinterface = "serial_a";
                                                                lane_polarity = "6";
                                                                phy_mode = "DPHY";
                                                                discontinuous_clk = "yes";
                                                                dpcm_enable = "false";
                                                                cil_settletime = "0";
                                                                active_w = "3280";
                                                                active_h = "2464";
                                                                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 = "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_3280x1848_28FPS */
                                                                mclk_khz = "24000";
                                                                num_lanes = "2";
                                                                tegra_sinterface = "serial_a";
                                                                lane_polarity = "6";
                                                                phy_mode = "DPHY";
                                                                discontinuous_clk = "yes";
                                                                dpcm_enable = "false";
                                                                cil_settletime = "0";
                                                                active_w = "3280";
                                                                active_h = "1848";
                                                                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 = "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";
                                                                lane_polarity = "6";
                                                                phy_mode = "DPHY";
                                                                discontinuous_clk = "yes";
                                                                dpcm_enable = "false";
                                                                cil_settletime = "0";
                                                                active_w = "1920";
                                                                active_h = "1080";
                                                                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 = "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_1640x1232_30FPS */
                                                                mclk_khz = "24000";
                                                                num_lanes = "2";
                                                                tegra_sinterface = "serial_a";
                                                                lane_polarity = "6";
                                                                phy_mode = "DPHY";
                                                                discontinuous_clk = "yes";
                                                                dpcm_enable = "false";
                                                                cil_settletime = "0";
                                                                active_w = "1640";
                                                                active_h = "1232";
                                                                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 = "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"; /* 60.0 fps */
                                                                step_framerate = "1";
                                                                default_framerate = "30000000"; /* 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_60FPS */
                                                                mclk_khz = "24000";
                                                                num_lanes = "2";
                                                                tegra_sinterface = "serial_a";
                                                                lane_polarity = "6";
                                                                phy_mode = "DPHY";
                                                                discontinuous_clk = "yes";
                                                                dpcm_enable = "false";
                                                                cil_settletime = "0";
                                                                active_w = "1280";
                                                                active_h = "720";
                                                                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 = "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";
                                                        };
                                                        ports {
                                                                #address-cells = <1>;
                                                                #size-cells = <0>;
                                                                port@0 {
                                                                        reg = <0>;
                                                                        rbpcv2_imx219_out0: endpoint {
                                                                                port-index = <0>;
                                                                                bus-width = <2>;
                                                                                remote-endpoint = <&rbpcv2_imx219_csi_in0>;
                                                                        };
                                                                };
                                                        };
                                                };
                                        };
                                };

                                cam_i2cmux2 {
                                        status = "okay";
                                        compatible = "i2c-mux-gpio";
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                                        i2c-parent = <&gen2_i2c>;
                                        mux-gpios = <&gpio CAM_I2C_MUX2 GPIO_ACTIVE_HIGH>;

                                        #if 1
                                        i2c@0 {
                                                status = "okay";
                                                reg = <0>;
                                                #address-cells = <1>;
                                                #size-cells = <0>;

                                                imx219_cam2: rbpcv2_imx219_b@10 {
                                                        reset-gpios = <&gpio CAM2_PWDN GPIO_ACTIVE_HIGH>;
                                                        compatible = "sony,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";
                                                        /**
                                                        * ==== 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_3280x2464_21FPS */
                                                                mclk_khz = "24000";
                                                                num_lanes = "2";
                                                                tegra_sinterface = "serial_b";
                                                                lane_polarity = "6";
                                                                phy_mode = "DPHY";
                                                                discontinuous_clk = "yes";
                                                                dpcm_enable = "false";
                                                                cil_settletime = "0";
                                                                active_w = "3280";
                                                                active_h = "2464";
                                                                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 = "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_3280x1848_28FPS */
                                                                mclk_khz = "24000";
                                                                num_lanes = "2";
                                                                tegra_sinterface = "serial_b";
                                                                lane_polarity = "6";
                                                                phy_mode = "DPHY";
                                                                discontinuous_clk = "yes";
                                                                dpcm_enable = "false";
                                                                cil_settletime = "0";
                                                                active_w = "3280";
                                                                active_h = "1848";
                                                                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 = "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";
                                                                lane_polarity = "6";
                                                                phy_mode = "DPHY";
                                                                discontinuous_clk = "yes";
                                                                dpcm_enable = "false";
                                                                cil_settletime = "0";
                                                                active_w = "1920";
                                                                active_h = "1080";
                                                                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 = "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_1640x1232_30FPS */
                                                                mclk_khz = "24000";
                                                                num_lanes = "2";
                                                                tegra_sinterface = "serial_b";
                                                                lane_polarity = "6";
                                                                phy_mode = "DPHY";
                                                                discontinuous_clk = "yes";
                                                                dpcm_enable = "false";
                                                                cil_settletime = "0";
                                                                active_w = "1640";
                                                                active_h = "1232";
                                                                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 = "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"; /* 60.0 fps */
                                                                step_framerate = "1";
                                                                default_framerate = "30000000"; /* 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_60FPS */
                                                                mclk_khz = "24000";
                                                                num_lanes = "2";
                                                                tegra_sinterface = "serial_b";
                                                                lane_polarity = "6";
                                                                phy_mode = "DPHY";
                                                                discontinuous_clk = "yes";
                                                                dpcm_enable = "false";
                                                                cil_settletime = "0";
                                                                active_w = "1280";
                                                                active_h = "720";
                                                                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 = "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";
                                                        };
                                                        ports {
                                                                #address-cells = <1>;
                                                                #size-cells = <0>;
                                                                port@0 {
                                                                        reg = <0>;
                                                                        rbpcv2_imx219_out1: endpoint {
                                                                                port-index = <2>;
                                                                                bus-width = <2>;
                                                                                remote-endpoint = <&rbpcv2_imx219_csi_in1>;
                                                                        };
                                                                };
                                                        };
                                                };
                                        };
                                        #endif
                                };
                                lens_imx219@RBPCV2 {
                                        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
                                *
                                * 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 = <4>;
                                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 vendor.
                                 */
                                modules {
                                        cam_module0: module0 {
                                                badge = "jakku_front_RBP194";
                                                position = "front";
                                                orientation = "1";
                                                cam_module0_drivernode0: drivernode0 {
                                                        pcl_id = "v4l2_sensor";
                                                        sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/cam_i2cmux/i2c@0/rbpcv2_imx219_a@10";
                                                };
                                                cam_module0_drivernode1: drivernode1 {
                                                        pcl_id = "v4l2_lens";
                                                        sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/lens_imx219@RBPCV2";
                                                };
                                        };
                                        cam_module1: module1 {
                                                badge = "jakku_rear_RBP194";
                                                position = "rear";
                                                orientation = "1";
                                                cam_module1_drivernode0: drivernode0 {
                                                        pcl_id = "v4l2_sensor";
                                                        sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/cam_i2cmux2/i2c@0/rbpcv2_imx219_b@10";
                                                };
                                                cam_module1_drivernode1: drivernode1 {
                                                        pcl_id = "v4l2_lens";
                                                        sysfs-device-tree = "/sys/firmware/devicetree/base/bus@0/lens_imx219@RBPCV2/";
                                                };
                                        };
                                };
                        };
                };
        };
};

And here is the log of command nvargus_nvraw --lps:

seeed@seeed-desktop:~$ nvargus_nvraw --lps
nvargus_nvraw version 1.16.0
Number of supported sensor entries 10
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type
  0      0      0          jakku_front_RBP194   3280x2464   20  10  10    Bayer
  1      0      1          jakku_front_RBP194   3280x1848   28  10  10    Bayer
  2      0      2          jakku_front_RBP194   1920x1080   29  10  10    Bayer
  3      0      3          jakku_front_RBP194   1640x1232   29  10  10    Bayer
  4      0      4          jakku_front_RBP194   1280x 720   59  10  10    Bayer
  5      1      0          jakku_front_RBP194   3280x2464   20  10  10    Bayer
  6      1      1          jakku_front_RBP194   3280x1848   28  10  10    Bayer
  7      1      2          jakku_front_RBP194   1920x1080   29  10  10    Bayer
  8      1      3          jakku_front_RBP194   1640x1232   29  10  10    Bayer
  9      1      4          jakku_front_RBP194   1280x 720   59  10  10    Bayer
seeed@seeed-desktop:~$

And I test the camera with command nvgstcapture-1.0 --sensor-id=0 and nvgstcapture-1.0 --sensor-id=1.

Both CSI0 and CSI1 work fine.

1 Like

Current Argus only recognize two cameras.
You need to add confirm the device tree for others.

Yes, I only enable two camera(CSI0 & CSI1) in the modified overlay dts.

Do you mean that I need to enable the other two camera(CSI2&CSI3) code and test it?

I am confuse what’s the problem left?

I still can’t make all of these four camera (CSI0, CSI1,CSI2, CSI3) work at the same time.

I finally found the reason of my problem.
In the tegra-camera-platform{} .

I give the wrong value for node position.
As this link showed:
NVIDIA Jetson Linux Developer Guide : Camera Development | NVIDIA Docs

The value of position can only be one of the following items:
bottomleft, bottomright, centerleft, centerright, topleft, and topright.

@ShaneCCC Thank you again for you inspiration.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.