Jetson Nano only support streaming on two cameras

I am testing a custon baseboard with custom camera.
The hardware supports jetson nano som and cameras connected via serder link, see below

Camera Cable Baseboard Jetson Nano
AR0231AT -(2lane mipi)-ds90ub953 FP3Link ds90ub954-(2lane mipi) CSI0( a )-Jetson Nano
AR0231AT -(2lane mipi)-ds90ub953 FP3Link ds90ub954-(2lane mipi) CSI2( e )-Jetson Nano
AR0231AT -(2lane mipi)-ds90ub953 FP3Link ds90ub954-(2lane mipi) CSI3( f )-Jetson Nano
AR0231AT -(2lane mipi)-ds90ub953 FP3Link ds90ub954-(2lane mipi) CSI4( c )-Jetson Nano

Using the jetson_multimedia_api/samples/13_multi_camera/main.cpp code. I have found that I can get only two of the four cameras working.

I have tested the following combinations;

Cameras Status Result
1 and 2 continuously streams PASSED
1 and 3 continuously streams PASSED
1 and 4 continuously streams PASSED
2 and 3 continuously streams PASSED
2 and 4 continuously streams PASSED
3 and 4 continuously streams PASSED
1 and 2 and 3 single frame FAILED
2 and 3 and 4 single frame FAILED
1 and 3 and 4 single frame FAILED
1 and 2 and 4 single frame FAILED

See below the dtsi file

#include <dt-bindings/media/camera.h>
#include <dt-bindings/platform/t210/t210.h>
#define CAM1_PWDN               TEGRA_GPIO(S, 7)
#define CAM2_PWDN               TEGRA_GPIO(T, 0) 
#define CAM3_PWDN               TEGRA_GPIO(S, 5)
#define CAM4_PWDN               TEGRA_GPIO(S, 1)


/{
	host1x {
		vi_base: vi {
			num-channels = <4>;
			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				vi_port0: port@0 {
					reg = <0>;
					ar0231at_vi_in0: endpoint {
						status = "okay";
						port-index = <0>;
						bus-width = <2>;
						remote-endpoint = <&ar0231at_csi_out0>;
					};
				};
				vi_port1: port@1 {
					reg = <1>;
					ar0231at_vi_in1: endpoint {
						status = "okay";
						port-index= <4>;
						bus-width = <2>;
						remote-endpoint = <&ar0231at_csi_out1>;
					};
				};
				vi_port2: port@2 {
					reg = <2>;
					ar0231at_vi_in2: endpoint {
						status = "okay";
						port-index= <5>;
						bus-width = <2>;
						remote-endpoint = <&ar0231at_csi_out2>;
					};
				};
				vi_port3: port@3 {
					reg = <3>;
					ar0231at_vi_in3: endpoint {
						status = "okay";
						port-index= <2>;
						bus-width = <2>;
						remote-endpoint = <&ar0231at_csi_out3>;
					};
				};
			};
		};

		csi_base: nvcsi {
			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>;
						ar0231at_csi_in0: endpoint@0 {
							status = "okay";
							port-index = <0>;
							bus-width = <2>;
							remote-endpoint = <&ar0231at_out0>;
						};
					};
					csi_chan0_port1: port@1 {
						reg = <1>;
						ar0231at_csi_out0: endpoint@1 {
							status = "okay";
							remote-endpoint = <&ar0231at_vi_in0>;
						};
					};
				};
			};
			csi_chan1: channel@1 {
				reg = <1>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					csi_chan1_port0: port@2 {
						reg = <0>;
						ar0231at_csi_in1: endpoint@2 {
							status = "okay";
							port-index = <4>;
							bus-width = <2>;
							remote-endpoint = <&ar0231at_out1>;
						};
					};
					csi_chan1_port1: port@3 {
						reg = <1>;
						ar0231at_csi_out1: endpoint@3 {
							status = "okay";
							remote-endpoint = <&ar0231at_vi_in1>;
						};
					};
				};
			};
			csi_chan2: channel@2 {
				reg = <2>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					csi_chan2_port0: port@4 {
						reg = <0>;
						ar0231at_csi_in2: endpoint@4 {
							status = "okay";
							port-index = <5>;
							bus-width = <2>;
							remote-endpoint = <&ar0231at_out2>;
						};
					};
					csi_chan2_port1: port@5 {
						reg = <1>;
						ar0231at_csi_out2: endpoint@5 {
							status = "okay";
							remote-endpoint = <&ar0231at_vi_in2>;
						};
					};
				};
			};
			csi_chan3: channel@3 {
				reg = <3>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
						csi_chan3_port0: port@6 {
						reg = <0>;
						ar0231at_csi_in3: endpoint@6 {
							status = "okay";
							port-index = <2>;
							bus-width = <2>;
							remote-endpoint = <&ar0231at_out3>;
						};
					};
					csi_chan3_port1: port@7 {
						reg = <1>;
						ar0231at_csi_out3: endpoint@7 {
							status = "okay";
							remote-endpoint = <&ar0231at_vi_in3>;
						};
					};
				};
			};
		};
		i2c@546c0000 {
			pca9544@70 {
				compatible = "nxp,pca9544";
				reg = <0x70>;
				#address-cells = <1>;
				#size-cells = <0>;
				vcc-supply = <&battery_reg>;
				vcc-pullup-supply = <&battery_reg>;

				skip_mux_detect;
				i2c@0 {
					reg = <0>;
					i2c-mux,deselect-on-exit;
					#address-cells = <1>;
					#size-cells = <0>;
				};
				i2c@1 {
					reg = <1>;
					i2c-mux,deselect-on-exit;
					#address-cells = <1>;
					#size-cells = <0>;
				};
				i2c@2 {
					reg = <2>;
					i2c-mux,deselect-on-exit;
					#address-cells = <1>;
					#size-cells = <0>;
				};
				i2c@3 {
					reg = <3>;
					i2c-mux,deselect-on-exit;
					#address-cells = <1>;
					#size-cells = <0>;
				};
				i2c@4 {
					reg = <4>;
					i2c-mux,deselect-on-exit;
					#address-cells = <1>;
					#size-cells = <0>;
				};
				i2c@5 {
					reg = <5>;
					i2c-mux,deselect-on-exit;
					#address-cells = <1>;
					#size-cells = <0>;
				};
			};
			pca9544@70 {
				i2c_0: i2c@0 {
					fpdlinkder_0: ds90ub954_a@30 {
						compatible = "ti,ds90ub954";
						reg = <0x30>;
						status = "okay";
						csi-lane-count = <2>;
						csi-lane-speed = <800>;
						i2c_address_d0_s0: num-alias-pairs0 {list-cells = <5>;};
						
						fpdlinkser_0: serializers {
							status = "okay";
							num-channels = <2>;
							#address-cells = <1>;
							#size-cells = <0>;
						
							ser0_port1: serializer@1 {
								status = "okay";
								rx-channel = <1>;
								i2c-address = <0x18>;
								csi-lane-count = <2>;

								gpio0-output-enable = <0x01>;
								gpio3-output-enable = <0x01>;
								gpio0-control = <0x09>;
								gpio3-control = <0x01>;
								/*gpio0-control = <0x09>;
								gpio3-control = <0x09>;*/

								i2c-slave = <&i2c_address_d0_s0 0x38 0x51 0x59 0x68 0x69>;
								slave-alias = <&i2c_address_d0_s0 0x38 0x51 0x59 0x68 0x69>;
						
							};
						};
					};
				};
				i2c_1: i2c@1 {
					fpdlinkder_1: ds90ub954_e@30 {
						compatible = "ti,ds90ub954";
						reg = <0x30>;
						status = "okay";
						csi-lane-count = <2>;
						csi-lane-speed = <800>;
						i2c_address_d1_s0: num-alias-pairs0 {list-cells = <5>;};
						
						fpdlinkser_1: serializers {
							status = "okay";
							num-channels = <2>;
							#address-cells = <1>;
							#size-cells = <0>;

							ser1_port1: serializer@1 {
								status = "okay";
								rx-channel = <1>;
								i2c-address = <0x18>;
								csi-lane-count = <2>;

								gpio0-output-enable = <0x01>;
								gpio3-output-enable = <0x01>;
								/*gpio0-control = <0x02>;
								gpio3-control = <0x01>;*/
								gpio0-control = <0x09>;
								gpio3-control = <0x01>;

								i2c-slave = <&i2c_address_d1_s0 0x38 0x51 0x59 0x68 0x69>;
								slave-alias = <&i2c_address_d1_s0 0x38 0x51 0x59 0x68 0x69>;
							};
						};
					};
				};
				i2c_2: i2c@2 {
					fpdlinkder_2: ds90ub954_f@30 {
						compatible = "ti,ds90ub954";
						reg = <0x30>;
						status = "okay";
						csi-lane-count = <2>;
						csi-lane-speed = <800>;
						i2c_address_d2_s0: num-alias-pairs0 {list-cells = <5>;};

						fpdlinkser_2: serializers {
							status = "okay";
							num-channels = <2>;
							#address-cells = <1>;
							#size-cells = <0>;

							ser2_port1: serializer@1 {
								status = "okay";
								rx-channel = <1>;
								i2c-address = <0x18>;
								csi-lane-count = <2>;

								gpio0-output-enable = <0x01>;
								gpio3-output-enable = <0x01>;
								/*gpio0-control = <0x02>;
								gpio3-control = <0x01>;*/
								gpio0-control = <0x09>;
								gpio3-control = <0x01>;

								i2c-slave = <&i2c_address_d2_s0 0x38 0x51 0x59 0x68 0x69>;
								slave-alias = <&i2c_address_d2_s0 0x38 0x51 0x59 0x68 0x69>;
							};
						};
					};
				};
				i2c_3: i2c@3 {
					fpdlinkder_3: ds90ub954_c@30 {
						compatible = "ti,ds90ub954";
						reg = <0x30>;
						status = "okay";
						csi-lane-count = <2>;
						csi-lane-speed = <800>;
						i2c_address_d3_s0: num-alias-pairs0 {list-cells = <5>;};

						fpdlinkser_3: serializers {
							status = "okay";
							num-channels = <2>;
							#address-cells = <1>;
							#size-cells = <0>;

							ser3_port1: serializer@1 {
								status = "okay";
								rx-channel = <1>;
								i2c-address = <0x18>;
								csi-lane-count = <2>;

								gpio0-output-enable = <0x01>;
								gpio3-output-enable = <0x01>;
								/*gpio0-control = <0x02>;
								gpio3-control = <0x01>;*/
								gpio0-control = <0x09>;
								gpio3-control = <0x01>;

								i2c-slave = <&i2c_address_d3_s0 0x38 0x51 0x59 0x68 0x69>;
								slave-alias = <&i2c_address_d3_s0 0x38 0x51 0x59 0x68 0x69>;
							};
						};
					};
				};
			};
			pca9544@70 {
				i2c_0: i2c@0 {
					eeprom_a@51 {
						compatible = "st,24c512";
						reg = <0x51>;
						pagesize = <128>;
						size = <512>;
					};
					ar0231at_cam0: ar0231at_a@38 {
						compatible = "eiq,ar0231at";
						status = "okay";
						/* I2C device address */
						reg = <0x38>;
						/* V4L2 device node location */
						devnode = "video0";
						/* Physical dimensions of sensor */
						physical_w = "5.784";
						physical_h = "3.624";
						set_mode_delay_ms = "3500";
						sensor_model = "ar0231";
						use_sensor_mode_id = "true";
						//mclk = "extperiph3";
						reset-gpios = <&gpio CAM1_PWDN GPIO_ACTIVE_HIGH>;
						mode0 { /* AR0231_MODE_1920X1080_LINEAR_30FPS */
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_a";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "12";
							csi_pixel_bit_depth = "12";
							active_w = "1920";
							active_h = "1080";
							mode_type = "bayer";
							pixel_phase = "bggr";
							readout_orientation = "0";
							line_length = "2632";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "85333333";
							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 = "40000000"; /* 40.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 = "4";
						};
						mode1 { /* AR0231_MODE_640x480_MONO_30FPS */
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_a";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "12";
							csi_pixel_bit_depth = "12";

							active_w = "640";
							active_h = "480";
							mode_type = "bayer";
							pixel_phase = "rggb";
							readout_orientation = "0";
							line_length = "749";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "64000000";

							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 = "40000000"; /* 40.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";
						};
						mode2 { /* AR0231_MODE_1920X1080_HDR_30FPS */
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_a";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "12";

							active_w = "1920";
							active_h = "1080";

							mode_type = "bayer_wdr_pwl";
							pixel_phase = "rggb";

							num_control_point="4";
							control_point_x_0="0";
							control_point_x_1="2048";
							control_point_x_2="16384";
							control_point_x_3="65536";
							control_point_y_0="0";
							control_point_y_1="2048";
							control_point_y_2="3040";
							control_point_y_3="4000";

							readout_orientation = "0";
							line_length = "1680";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "85333333";

							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 = "40000000"; /* 40.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 = "4";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;

							port@0 {
								reg = <0>;
								ar0231at_out0: endpoint {
									port-index = <0>;
									bus-width = <2>;
									remote-endpoint = <&ar0231at_csi_in0>;
								};
							};
						};
					};
				};
				i2c_1: i2c@1 {

					eeprom_e@51 {
						compatible = "st,24c512";
						reg = <0x51>;
						pagesize = <128>;
						size = <512>;
					};
					ar0231at_cam1: ar0231at_e@38 {
						compatible = "eiq,ar0231at";
						status = "okay";
						/* I2C device address */
						reg = <0x38>;
						/* V4L2 device node location */
						devnode = "video1";
						/* Physical dimensions of sensor */
						physical_w = "5.784";
						physical_h = "3.624";
						set_mode_delay_ms = "3500";
						sensor_model = "ar0231";
						use_sensor_mode_id = "true";
						//mclk = "extperiph3";
						reset-gpios = <&gpio CAM2_PWDN GPIO_ACTIVE_HIGH>; 

						mode0 { /* AR0231_MODE_1920X1080_LINEAR_30FPS */
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_e";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "12";
							csi_pixel_bit_depth = "12";

							active_w = "1920";
							active_h = "1080";
							mode_type = "bayer";
							pixel_phase = "bggr";
							readout_orientation = "0";
							line_length = "2632";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "85333333";

							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 = "40000000"; /* 40.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 = "4";
						};
						mode1 { /* AR0231_MODE_640x480_MONO_30FPS */
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_e";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "12";
							csi_pixel_bit_depth = "12";

							active_w = "640";
							active_h = "480";
							mode_type = "bayer";
							pixel_phase = "rggb";
							readout_orientation = "0";
							line_length = "749";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "64000000";

							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 = "40000000"; /* 40.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";
						};
						mode2 { /* AR0231_MODE_1920X1080_HDR_30FPS */
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_e";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "12";

							active_w = "1920";
							active_h = "1080";

							mode_type = "bayer_wdr_pwl";
							pixel_phase = "rggb";

							num_control_point="4";
							control_point_x_0="0";
							control_point_x_1="2048";
							control_point_x_2="16384";
							control_point_x_3="65536";
							control_point_y_0="0";
							control_point_y_1="2048";
							control_point_y_2="3040";
							control_point_y_3="4000";

							readout_orientation = "0";
							line_length = "1680";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "85333333";

							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 = "40000000"; /* 40.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 = "4";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;

							port@0 {
								reg = <0>;
								ar0231at_out1: endpoint {
									port-index = <4>;
									bus-width = <2>;
									remote-endpoint = <&ar0231at_csi_in1>;
								};
							};
						};
					};
				};
				i2c_2: i2c@2 {
					eeprom_f@51 {
						compatible = "st,24c512";
						reg = <0x51>;
						pagesize = <128>;
						size = <512>;
					};
					ar0231at_cam2: ar0231at_f@38 {
						compatible = "eiq,ar0231at";
						status = "okay";
						// I2C device address
						reg = <0x38>;
						// V4L2 device node location
						devnode = "video2";
						// Physical dimensions of sensor
						physical_w = "5.784";
						physical_h = "3.624";
						set_mode_delay_ms = "3500";
						sensor_model = "ar0231";
						use_sensor_mode_id = "true";
						//mclk = "extperiph3";
						reset-gpios = <&gpio CAM3_PWDN GPIO_ACTIVE_HIGH>; 

						mode0 { // AR0231_MODE_1920X1080_LINEAR_30FPS
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_f";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "12";
							csi_pixel_bit_depth = "12";

							active_w = "1920";
							active_h = "1080";
							mode_type = "bayer";
							pixel_phase = "bggr";
							readout_orientation = "0";
							line_length = "2632";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "85333333";

							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 = "40000000"; /* 40.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 = "4";
						};
						mode1 { /* AR0231_MODE_640x480_MONO_30FPS */
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_f";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "12";
							csi_pixel_bit_depth = "12";

							active_w = "640";
							active_h = "480";
							mode_type = "bayer";
							pixel_phase = "rggb";
							readout_orientation = "0";
							line_length = "749";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "64000000";

							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 = "40000000"; /* 40.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";
						};
						mode2 { /* AR0231_MODE_1920X1080_HDR_30FPS */
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_f";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "12";

							active_w = "1920";
							active_h = "1080";

							mode_type = "bayer_wdr_pwl";
							pixel_phase = "rggb";

							num_control_point="4";
							control_point_x_0="0";
							control_point_x_1="2048";
							control_point_x_2="16384";
							control_point_x_3="65536";
							control_point_y_0="0";
							control_point_y_1="2048";
							control_point_y_2="3040";
							control_point_y_3="4000";

							readout_orientation = "0";
							line_length = "1680";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "85333333";

							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 = "40000000"; /* 40.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 = "4";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;

							port@0 {
								reg = <0>;
								ar0231at_out2: endpoint {
									port-index = <5>;
									bus-width = <2>;
									remote-endpoint = <&ar0231at_csi_in2>;
								};
							};
						};
					};
				};
				i2c_3: i2c@3 {
					eeprom_c@51 {
						compatible = "st,24c512";
						reg = <0x51>;
						pagesize = <128>;
						size = <512>;
					};
					ar0231at_cam3: ar0231at_c@38 {
						compatible = "eiq,ar0231at";
						status = "okay";
						// I2C device address
						reg = <0x38>;
						// V4L2 device node location
						devnode = "video3";
						// Physical dimensions of sensor
						physical_w = "5.784";
						physical_h = "3.624";
						set_mode_delay_ms = "3500";
						sensor_model = "ar0231";
						use_sensor_mode_id = "true";
						//mclk = "extperiph3";
						reset-gpios = <&gpio CAM4_PWDN GPIO_ACTIVE_HIGH>;

						mode0 { // AR0231_MODE_1920X1080_LINEAR_30FPS
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_c";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "12";
							csi_pixel_bit_depth = "12";

							active_w = "1920";
							active_h = "1080";
							mode_type = "bayer";
							pixel_phase = "bggr";
							readout_orientation = "0";
							line_length = "2632";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "85333333";

							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 = "40000000"; /* 40.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 = "4";
						};
						mode1 { /* AR0231_MODE_640x480_MONO_30FPS */
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_c";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "12";
							csi_pixel_bit_depth = "12";

							active_w = "640";
							active_h = "480";
							mode_type = "bayer";
							pixel_phase = "rggb";
							readout_orientation = "0";
							line_length = "749";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "64000000";

							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 = "40000000"; /* 40.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";
						};
						mode2 { /* AR0231_MODE_1920X1080_HDR_30FPS */
							mclk_khz = "24000";
							num_lanes = "2";
							tegra_sinterface = "serial_c";
							phy_mode = "DPHY";
							discontinuous_clk = "yes";
							dpcm_enable = "false";
							cil_settletime = "0";
							dynamic_pixel_bit_depth = "16";
							csi_pixel_bit_depth = "12";

							active_w = "1920";
							active_h = "1080";

							mode_type = "bayer_wdr_pwl";
							pixel_phase = "rggb";

							num_control_point="4";
							control_point_x_0="0";
							control_point_x_1="2048";
							control_point_x_2="16384";
							control_point_x_3="65536";
							control_point_y_0="0";
							control_point_y_1="2048";
							control_point_y_2="3040";
							control_point_y_3="4000";

							readout_orientation = "0";
							line_length = "1680";
							inherent_gain = "1";
							//mclk_multiplier = "2.66";
							pix_clk_hz = "85333333";

							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 = "40000000"; /* 40.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 = "4";
						};
						ports {
							#address-cells = <1>;
							#size-cells = <0>;

							port@0 {
								reg = <0>;
								ar0231at_out3: endpoint {
									port-index = <2>;
									bus-width = <2>;
									remote-endpoint = <&ar0231at_csi_in3>;
								};
							};
						};
					};
				};
			};
		};
	};
	gpio@6000d000 {
		camera-control-output-low {
			gpio-hog;
			output-low;
			gpios = < CAM1_PWDN 0  CAM2_PWDN 0 CAM3_PWDN 0 CAM4_PWDN 0>;
			label = "cam1-pwdn", "cam2-pwdn, cam3-pwdn, cam4-pwdn";
		};
	};
};
/ {
	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 = <12>;
		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 {
				status = "okay";
				badge = "porg_front_AR0231AT";
				position = "front";
				orientation = "1";
				cam_module0_drivernode0: drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "ar0231at 7-0038";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/pca9544@70/i2c@0/ar0231at_a@38";
				};
			};
			cam_module1: module1 {
				status = "okay";
				badge = "porg_rear_AR0231AT";
				position = "rear";
				orientation = "1";
				cam_module1_drivernode0: drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "ar0231at 8-0038";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/pca9544@70/i2c@1/ar0231at_e@38";
				};
			};
			cam_module2: module2 {
				status = "okay";
				badge = "porg_center_AR0231AT";
				position = "center";
				orientation = "1";
				cam_module2_drivernode0: drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "ar0231at 9-0038";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/pca9544@70/i2c@2/ar0231at_f@38";
				};
			};
			cam_module3: module3 {
				status = "okay";
				badge = "porg_topleft_AR0231AT";
				position = "topleft";
				orientation = "1";
				cam_module3_drivernode0: drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "ar0231at 10-0038";
					proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/pca9544@70/i2c@3/ar0231at_c@38";
				};
			};
		};
	};
};

I suspect it is a device tree issue or nvargus-daemon issue. Please let me know if you need any debug.

You may try streaming your cameras with v4l2-ctl, not using Argus.
If it works, maybe Argus could be capped by CPU usage at high pixel rate.
Try monitoring resource usage with tegrastats.
Also try boosting clocks with jetson_clocks script. You may also try boosting VI/VIC clocks.

2 Likes

Hi,
Please try Honey Patouceul’s suggestion. And for running multiple cameras, please execute the steps to run the hardware blocks fixed at maximum clock:
Jetson/l4t/Camera BringUp - eLinux.org

Thank you for the fast reply.

@Honey_Patouceul
I tired, “You may try streaming your cameras with v4l2-ctl”
I can stream the 3 cameras using v4l2-ctl, I used screen to start the following commands each in a seperate terminal;

sudo v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG12 --stream-mmap --set-ctrl sensor_mode=0 --stream-count=1000 -d /dev/video0
sudo v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG12 --stream-mmap --set-ctrl sensor_mode=0 --stream-count=1000 -d /dev/video1
sudo v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG12 --stream-mmap --set-ctrl sensor_mode=0 --stream-count=1000 -d /dev/video2

I also tried running multicamera app using 2 cameras and streaming third camera using v4l2 command, which also works.

I then tested the multicamera app using two cameras while running tegrastats.

TWO CAMERAS

RAM 377/3963MB (lfb 782x4MB) SWAP 0/1981MB (cached 0MB) CPU [12%@102,6%@102,7%@102,4%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@39.5C CPU@44.5C PMIC@50C GPU@43C AO@49C thermal@43.5C
RAM 377/3963MB (lfb 782x4MB) SWAP 0/1981MB (cached 0MB) CPU [10%@825,5%@825,3%@825,3%@825] EMC_FREQ 0% GR3D_FREQ 0% PLL@39.5C CPU@44C PMIC@50C GPU@43C AO@49C thermal@43.5C
RAM 361/3963MB (lfb 783x4MB) SWAP 0/1981MB (cached 0MB) CPU [22%@1326,14%@1326,13%@1326,13%@1326] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@45C PMIC@50C GPU@42.5C AO@49.5C thermal@43.5C
RAM 372/3963MB (lfb 783x4MB) SWAP 0/1981MB (cached 0MB) CPU [24%@1479,24%@1479,10%@1479,9%@1479] EMC_FREQ 0% GR3D_FREQ 0% PLL@41C CPU@45.5C PMIC@50C GPU@41.5C AO@50C thermal@42.75C
RAM 463/3963MB (lfb 766x4MB) SWAP 0/1981MB (cached 0MB) CPU [28%@102,21%@102,16%@102,20%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@41C CPU@45C PMIC@50C GPU@42C AO@50.5C thermal@44C
RAM 463/3963MB (lfb 766x4MB) SWAP 0/1981MB (cached 0MB) CPU [24%@204,14%@204,1%@204,4%@204] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44.5C PMIC@50C GPU@42.5C AO@49.5C thermal@43.5C
RAM 465/3963MB (lfb 766x4MB) SWAP 0/1981MB (cached 0MB) CPU [17%@102,4%@102,6%@102,4%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44C PMIC@50C GPU@42.5C AO@49.5C thermal@43.25C
RAM 465/3963MB (lfb 766x4MB) SWAP 0/1981MB (cached 0MB) CPU [25%@307,9%@307,2%@307,2%@307] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44C PMIC@50C GPU@42.5C AO@49.5C thermal@43.25C
RAM 465/3963MB (lfb 766x4MB) SWAP 0/1981MB (cached 0MB) CPU [19%@102,8%@102,3%@102,5%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44.5C PMIC@50C GPU@42.5C AO@50C thermal@43.25C
RAM 465/3963MB (lfb 766x4MB) SWAP 0/1981MB (cached 0MB) CPU [25%@307,6%@307,1%@307,0%@307] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44C PMIC@50C GPU@42.5C AO@50C thermal@43.25C
RAM 465/3963MB (lfb 765x4MB) SWAP 0/1981MB (cached 0MB) CPU [23%@518,8%@518,6%@518,7%@518] EMC_FREQ 0% GR3D_FREQ 0% PLL@41C CPU@44.5C PMIC@50C GPU@43C AO@50C thermal@43.25C
RAM 465/3963MB (lfb 765x4MB) SWAP 0/1981MB (cached 0MB) CPU [19%@102,4%@102,3%@102,3%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44.5C PMIC@50C GPU@42.5C AO@49.5C thermal@43.5C
RAM 465/3963MB (lfb 765x4MB) SWAP 0/1981MB (cached 0MB) CPU [16%@102,4%@102,5%@102,4%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44.5C PMIC@50C GPU@42.5C AO@49.5C thermal@43.5C
RAM 467/3963MB (lfb 764x4MB) SWAP 0/1981MB (cached 0MB) CPU [17%@307,5%@307,9%@307,4%@307] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44.5C PMIC@50C GPU@42.5C AO@49.5C thermal@43.5C
RAM 467/3963MB (lfb 764x4MB) SWAP 0/1981MB (cached 0MB) CPU [17%@102,4%@102,1%@102,1%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44.5C PMIC@50C GPU@42.5C AO@50C thermal@43.5C
RAM 470/3963MB (lfb 764x4MB) SWAP 0/1981MB (cached 0MB) CPU [20%@102,7%@102,4%@102,4%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44C PMIC@50C GPU@42.5C AO@49.5C thermal@43.5C
RAM 469/3963MB (lfb 764x4MB) SWAP 0/1981MB (cached 0MB) CPU [16%@1479,8%@1479,3%@1479,2%@1479] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44.5C PMIC@50C GPU@42.5C AO@49.5C thermal@43.5C
RAM 628/3963MB (lfb 724x4MB) SWAP 0/1981MB (cached 0MB) CPU [38%@204,24%@204,20%@307,21%@307] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@45C PMIC@50C GPU@42.5C AO@50C thermal@44C
RAM 628/3963MB (lfb 724x4MB) SWAP 0/1981MB (cached 0MB) CPU [31%@102,8%@102,0%@102,3%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44.5C PMIC@50C GPU@42.5C AO@49.5C thermal@43.5C
RAM 646/3963MB (lfb 720x4MB) SWAP 0/1981MB (cached 0MB) CPU [9%@921,5%@921,5%@921,5%@921] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@44.5C PMIC@50C GPU@42.5C AO@49.5C thermal@43.5C
RAM 674/3963MB (lfb 713x4MB) SWAP 0/1981MB (cached 0MB) CPU [16%@921,12%@921,6%@921,7%@921] EMC_FREQ 0% GR3D_FREQ 22% PLL@40.5C CPU@44.5C PMIC@50C GPU@41.5C AO@49.5C thermal@43.5C
RAM 696/3963MB (lfb 708x4MB) SWAP 0/1981MB (cached 0MB) CPU [17%@921,15%@921,14%@921,8%@921] EMC_FREQ 0% GR3D_FREQ 22% PLL@41.5C CPU@45C PMIC@50C GPU@42C AO@50.5C thermal@43.25C
RAM 700/3963MB (lfb 706x4MB) SWAP 0/1981MB (cached 0MB) CPU [12%@921,9%@921,11%@921,6%@921] EMC_FREQ 0% GR3D_FREQ 13% PLL@41C CPU@45C PMIC@50C GPU@42C AO@50C thermal@43.5C
RAM 701/3963MB (lfb 705x4MB) SWAP 0/1981MB (cached 0MB) CPU [12%@921,10%@921,9%@921,9%@921] EMC_FREQ 0% GR3D_FREQ 0% PLL@41C CPU@45C PMIC@50C GPU@42C AO@50.5C thermal@43.5C
RAM 703/3963MB (lfb 705x4MB) SWAP 0/1981MB (cached 0MB) CPU [8%@921,12%@921,8%@921,6%@921] EMC_FREQ 0% GR3D_FREQ 29% PLL@41C CPU@45C PMIC@50C GPU@41.5C AO@50C thermal@43.5C
RAM 703/3963MB (lfb 705x4MB) SWAP 0/1981MB (cached 0MB) CPU [10%@921,18%@921,9%@921,8%@921] EMC_FREQ 0% GR3D_FREQ 18% PLL@40.5C CPU@45C PMIC@50C GPU@41.5C AO@50C thermal@43.25C
RAM 705/3963MB (lfb 705x4MB) SWAP 0/1981MB (cached 0MB) CPU [11%@921,18%@921,11%@921,10%@921] EMC_FREQ 0% GR3D_FREQ 0% PLL@41C CPU@45C PMIC@50C GPU@42C AO@50.5C thermal@43.75C
RAM 705/3963MB (lfb 705x4MB) SWAP 0/1981MB (cached 0MB) CPU [10%@921,14%@921,6%@921,8%@921] EMC_FREQ 0% GR3D_FREQ 14% PLL@40.5C CPU@45C PMIC@50C GPU@42C AO@50.5C thermal@43.75C
RAM 706/3963MB (lfb 704x4MB) SWAP 0/1981MB (cached 0MB) CPU [12%@1326,17%@1326,9%@1326,9%@1326] EMC_FREQ 0% GR3D_FREQ 33% PLL@41C CPU@45C PMIC@50C GPU@42C AO@50C thermal@43.75C
RAM 706/3963MB (lfb 704x4MB) SWAP 0/1981MB (cached 0MB) CPU [13%@921,14%@921,8%@921,4%@921] EMC_FREQ 0% GR3D_FREQ 0% PLL@40.5C CPU@45C PMIC@50C GPU@42.5C AO@50C thermal@43.75C
RAM 706/3963MB (lfb 704x4MB) SWAP 0/1981MB (cached 0MB) CPU [9%@1132,10%@1132,7%@1132,12%@1132] EMC_FREQ 0% GR3D_FREQ 14% PLL@41C CPU@45C PMIC@50C GPU@42C AO@50.5C thermal@43.5C
RAM 706/3963MB (lfb 704x4MB) SWAP 0/1981MB (cached 0MB) CPU [10%@921,14%@921,6%@921,6%@921] EMC_FREQ 0% GR3D_FREQ 13% PLL@41C CPU@45.5C PMIC@50C GPU@42.5C AO@50.5C thermal@43.5C
RAM 706/3963MB (lfb 704x4MB) SWAP 0/1981MB (cached 0MB) CPU [17%@921,15%@921,8%@921,6%@921] EMC_FREQ 0% GR3D_FREQ 0% PLL@41C CPU@45C PMIC@50C GPU@42C AO@50C thermal@43.75C
RAM 706/3963MB (lfb 704x4MB) SWAP 0/1981MB (cached 0MB) CPU [12%@1036,16%@1036,7%@1036,9%@1036] EMC_FREQ 0% GR3D_FREQ 14% PLL@41C CPU@45C PMIC@50C GPU@42.5C AO@50.5C thermal@43.5C
RAM 707/3963MB (lfb 704x4MB) SWAP 0/1981MB (cached 0MB) CPU [8%@921,18%@921,3%@921,8%@921] EMC_FREQ 0% GR3D_FREQ 3% PLL@41C CPU@45C PMIC@50C GPU@42C AO@50.5C thermal@43.75C
RAM 707/3963MB (lfb 704x4MB) SWAP 0/1981MB (cached 0MB) CPU [13%@921,13%@921,9%@921,10%@921] EMC_FREQ 0% GR3D_FREQ 0% PLL@41C CPU@45.5C PMIC@50C GPU@42.5C AO@50.5C thermal@43.75C
RAM 707/3963MB (lfb 704x4MB) SWAP 0/1981MB (cached 0MB) CPU [5%@921,7%@921,9%@921,6%@921] EMC_FREQ 0% GR3D_FREQ 17% PLL@41C CPU@45C PMIC@50C GPU@42.5C AO@50.5C thermal@43.75C
RAM 708/3963MB (lfb 704x4MB) SWAP 0/1981MB (cached 0MB) CPU [18%@921,9%@921,10%@921,9%@921] EMC_FREQ 0% GR3D_FREQ 0% PLL@41C CPU@45C PMIC@50C GPU@42C AO@51C thermal@43.5C
RAM 708/3963MB (lfb 704x4MB) SWAP 0/1981MB (cached 0MB) CPU [14%@921,15%@921,11%@921,11%@921] EMC_FREQ 0% GR3D_FREQ 0% PLL@41C CPU@45C PMIC@50C GPU@42.5C AO@50.5C thermal@43.5C

THREE CAMERAS

RAM 653/3963MB (lfb 696x4MB) SWAP 0/1981MB (cached 0MB) CPU [16%@1479,20%@1479,30%@1479,11%@1479] EMC_FREQ 0% GR3D_FREQ 0% PLL@43.5C CPU@47C PMIC@50C GPU@44C AO@52.5C thermal@46C
RAM 671/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [26%@307,19%@518,14%@518,18%@518] EMC_FREQ 0% GR3D_FREQ 0% PLL@43C CPU@46.5C PMIC@50C GPU@44C AO@52C thermal@46C
RAM 672/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [31%@307,3%@307,6%@307,5%@307] EMC_FREQ 0% GR3D_FREQ 0% PLL@42.5C CPU@46.5C PMIC@50C GPU@44.5C AO@52C thermal@45.5C
RAM 672/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [19%@102,7%@102,1%@102,2%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@51.5C thermal@45.5C
RAM 672/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [28%@307,11%@307,4%@307,6%@307] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@52C thermal@45.5C
RAM 672/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [16%@102,9%@102,4%@102,0%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@51.5C thermal@45.25C
RAM 672/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [24%@403,10%@403,5%@403,3%@403] EMC_FREQ 0% GR3D_FREQ 0% PLL@42.5C CPU@46.5C PMIC@50C GPU@44.5C AO@51.5C thermal@45C
RAM 672/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [14%@102,4%@102,4%@102,2%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42.5C CPU@46C PMIC@50C GPU@44.5C AO@51.5C thermal@45C
RAM 672/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [15%@1479,5%@1479,4%@1479,3%@1479] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46.5C PMIC@50C GPU@44C AO@51C thermal@45C
RAM 672/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [17%@102,4%@102,6%@102,5%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@51.5C thermal@45C
RAM 675/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [14%@102,6%@102,6%@102,3%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46.5C PMIC@50C GPU@44C AO@51.5C thermal@45.25C
RAM 675/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [12%@102,14%@102,4%@102,6%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@51.5C thermal@45.25C
RAM 676/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [18%@518,7%@518,2%@518,2%@518] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@52C thermal@45.25C
RAM 681/3963MB (lfb 695x4MB) SWAP 0/1981MB (cached 0MB) CPU [14%@1479,13%@1479,7%@1479,9%@1479] EMC_FREQ 0% GR3D_FREQ 27% PLL@43C CPU@47C PMIC@50C GPU@43C AO@51.5C thermal@45.25C
RAM 781/3963MB (lfb 684x4MB) SWAP 0/1981MB (cached 0MB) CPU [19%@1479,19%@1479,16%@1479,18%@1479] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46.5C PMIC@50C GPU@44C AO@51.5C thermal@46.5C
RAM 783/3963MB (lfb 684x4MB) SWAP 0/1981MB (cached 0MB) CPU [20%@204,13%@204,4%@204,6%@204] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@52C thermal@45.25C
RAM 785/3963MB (lfb 684x4MB) SWAP 0/1981MB (cached 0MB) CPU [4%@921,2%@921,1%@921,2%@921] EMC_FREQ 0% GR3D_FREQ 0% PLL@41.5C CPU@46C PMIC@50C GPU@43.5C AO@51.5C thermal@45C
RAM 805/3963MB (lfb 679x4MB) SWAP 0/1981MB (cached 0MB) CPU [15%@921,3%@921,6%@921,6%@921] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@51.5C thermal@45C
RAM 805/3963MB (lfb 679x4MB) SWAP 0/1981MB (cached 0MB) CPU [12%@403,3%@403,0%@403,0%@403] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@45.5C PMIC@50C GPU@44C AO@51.5C thermal@45C
RAM 843/3963MB (lfb 669x4MB) SWAP 0/1981MB (cached 0MB) CPU [14%@921,11%@921,10%@921,6%@921] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@43C AO@51.5C thermal@44.5C
RAM 846/3963MB (lfb 668x4MB) SWAP 0/1981MB (cached 0MB) CPU [6%@102,7%@102,4%@102,4%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@51.5C thermal@44.5C
RAM 846/3963MB (lfb 668x4MB) SWAP 0/1981MB (cached 0MB) CPU [20%@102,10%@102,12%@102,10%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@41.5C CPU@45.5C PMIC@50C GPU@43.5C AO@51.5C thermal@45C
RAM 847/3963MB (lfb 668x4MB) SWAP 0/1981MB (cached 0MB) CPU [18%@102,20%@102,13%@102,15%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@51C thermal@44.75C
RAM 847/3963MB (lfb 668x4MB) SWAP 0/1981MB (cached 0MB) CPU [22%@102,17%@102,17%@102,15%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@45.5C PMIC@50C GPU@44C AO@51C thermal@45C
RAM 847/3963MB (lfb 668x4MB) SWAP 0/1981MB (cached 0MB) CPU [18%@102,12%@102,10%@102,15%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@51C thermal@44.5C
RAM 847/3963MB (lfb 668x4MB) SWAP 0/1981MB (cached 0MB) CPU [18%@102,16%@102,11%@102,17%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@41.5C CPU@45.5C PMIC@50C GPU@43.5C AO@51C thermal@44.5C
RAM 847/3963MB (lfb 668x4MB) SWAP 0/1981MB (cached 0MB) CPU [22%@307,14%@307,15%@307,14%@307] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@45.5C PMIC@50C GPU@44C AO@51.5C thermal@44.5C
RAM 847/3963MB (lfb 668x4MB) SWAP 0/1981MB (cached 0MB) CPU [23%@102,13%@102,10%@102,8%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@41.5C CPU@45.5C PMIC@50C GPU@43.5C AO@51C thermal@44.75C
RAM 847/3963MB (lfb 668x4MB) SWAP 0/1981MB (cached 0MB) CPU [18%@102,13%@102,15%@102,14%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@51C thermal@45C
RAM 847/3963MB (lfb 668x4MB) SWAP 0/1981MB (cached 0MB) CPU [19%@102,18%@102,16%@102,10%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@41.5C CPU@46C PMIC@50C GPU@43.5C AO@51C thermal@44.75C
RAM 847/3963MB (lfb 668x4MB) SWAP 0/1981MB (cached 0MB) CPU [23%@102,16%@102,13%@102,9%@102] EMC_FREQ 0% GR3D_FREQ 0% PLL@42C CPU@46C PMIC@50C GPU@44C AO@51C thermal@44.75C

Using jetson_clocks didn’t help. I have also adjusted the frame rate of the cameras using a slower external trigger. I have tried 15, 10, 5, 3fps. It might be worth noting that all the cameras are synchronized.

@Honey_Patouceul @DaneLLL
How do I do this? “You may also try boosting VI/VIC clocks.”
@DaneLLL
I assume by “execute the steps to run the hardware blocks fixed at maximum clock”. You are referencing;

sudo su
echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee  /sys/kernel/debug/bpmp/debug/clk/isp/rate
cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate

On the jetson nano I don’t have the folder bpmp in /sys/kernel/debug

root@nano-generic:/sys/kernel/debug# ls
57000000.gpu          ar0231_a  bluetooth      dri                 gpu.0      ixgbe       msenc   pcie        powergate      sdhci-tegra.3     system_states          tegra_denver     tegra_gpio      tegra_pinctrl_reg  tegra_xhci  vic
57000000.gpu_scaling  ar0231_c  clk            dsi_csi_test        hid        mc          nvdec   pg_domains  pwm            sleep_time        tegra_bwmgr            tegra_dfll_fcpu  tegra_hdmi      tegra-pmc-io-pads  tracing     virtio-ports
70006040.serial       ar0231_e  cpuidle_t210   dynamic_debug       ieee80211  memblock    nvjpg   pinctrl     ras            soctherm          tegra_camera_platform  tegra_dsi        tegra_host      tegra-rtc          tsec        wakeup_sources
70006200.serial       ar0231_f  debug_enabled  extfrag             iio        mlxsw_core  nvlink  pmc-reset   regmap         split_huge_pages  tegra_central_actmon   tegra_dvfs       tegra_la_ptsa   tegra_sor1         tsecb
7000d400.spi          asoc      dma_buf        fault_around_bytes  isp        mmc0        nvmap   pm_genpd    regulator      suspend_stats     tegradc.0              tegra_ec         tegra_latency   tegra_throttle     usb
70019000.iommu        bdi       dma-vpr        gpio                isp.1      mmc1        opp     pm_qos      sdhci-tegra.2  sync              tegradc.1              tegra_emc        tegra_mipi_cal  tegra_vi           vi

If it is helpful here is debug for nvargus-daemon

Feb 08 09:32:45 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function presentBufferInternal(), line 543)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function allocateAndRegisterBuffers(), line 265)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function getBuffer(), line 419)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function returnFrame(), line 376)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function getBuffer(), line 438)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/components/CaptureContainerImpl.cpp, function assignAllBuffersFromStream(), line 232)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/components/stages/CCDataSetupStage.cpp, function doHandleRequest(), line 68)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/components/stages/OrderedStage.cpp, function doExecute(), line 158)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState: Sending critical error event (in src/api/Session.cpp, function sendErrorEvent(), line 997)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 673)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: (Argus) Error InvalidState:  (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 673)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: (Argus) Error InvalidState:  (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 673)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: (Argus) Error InvalidState:  (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 673)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: (Argus) Error InvalidState:  (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function presentBufferInternal(), line 543)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function presentBufferInternal(), line 543)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function presentBufferInternal(), line 543)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function presentBufferInternal(), line 543)
Feb 08 09:32:46 nano-generic nvargus-daemon[4388]: SCF: Error InvalidState:  (propagating from src/services/gl/EGLStreamProducer.cpp, function presentBufferInternal(), line 543)
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: === multi_camera[4957]: WARNING: Cleaning up 2 outstanding streams...(Argus) Error InvalidState: Unknown stream deleted. (in src/api/CaptureSessionImpl.cpp, function outputStreamDeleted(), line 852)
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: (Argus) Error InvalidState: Unknown stream deleted. (in src/api/CaptureSessionImpl.cpp, function outputStreamDeleted(), line 852)
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: === multi_camera[4957]: NOTE: Destroy all libargus objects before destroying the CameraProvider to avoid these warnings.=== multi_camera[4957]: Connection cleaned up (7F923741B0)=== multi_camera[6295]: Connec>
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: NvPclHwGetModuleList: No module data found
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: NvPclHwGetModuleList: No module data found
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: NvPclHwGetModuleList: No module data found
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Feb 08 09:32:47 nano-generic nvargus-daemon[4388]: NvPclHwGetModuleList: No module data found
Feb 08 09:32:54 nano-generic nvargus-daemon[4388]: OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
Feb 08 09:32:54 nano-generic nvargus-daemon[4388]: ---- imager: No override file found. ----
Feb 08 09:32:56 nano-generic nvargus-daemon[4388]: LSC: LSC surface is not based on full res!
Feb 08 09:32:56 nano-generic nvargus-daemon[4388]: ---- imager: No override file found. ----
Feb 08 09:32:57 nano-generic nvargus-daemon[4388]: LSC: LSC surface is not based on full res!
Feb 08 09:32:57 nano-generic nvargus-daemon[4388]: ---- imager: No override file found. ----
Feb 08 09:32:58 nano-generic nvargus-daemon[4388]: LSC: LSC surface is not based on full res!
Feb 08 09:32:58 nano-generic nvargus-daemon[4388]: ---- imager: No override file found. ----
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 256)
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: (NvCamV4l2) Error ModuleNotPresent:  (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 60)
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: (NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 107)
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: NvPclStartPlatformDrivers: Failed to start module drivers
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: NvPclStateControllerOpen: Failed ImagerGUID 3. (error 0xA000E)
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: NvPclOpen: PCL Open Failed. Error: 0xf
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 582)
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 437)
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 305)
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 471)
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: Acquiring SCF Camera device source via index 3 has failed. === multi_camera[6295]: CameraProvider initialized (0x7f8dbd7ac0)LSC: LSC surface is not based on full res!
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: LSC: LSC surface is not based on full res!
Feb 08 09:32:59 nano-generic nvargus-daemon[4388]: LSC: LSC surface is not based on full res!
Feb 08 09:33:02 nano-generic nvargus-daemon[4388]: PowerServiceCore:handleRequests: timePassed = 1330
Feb 08 09:33:03 nano-generic nvargus-daemon[4388]: SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceEvent.cpp, function wait(), line 59)
Feb 08 09:33:03 nano-generic nvargus-daemon[4388]: Error: Camera HwEvents wait, this may indicate a hardware timeout occured,abort current/incoming cc
Feb 08 09:33:04 nano-generic nvargus-daemon[4388]: PowerServiceCore:handleRequests: timePassed = 1546

Note that using V4L2 you may disable bypass mode, otherwise it may fool argus.

v4l2-ctl ... --set-ctrl bypass_mode=0 ...

Or restart nvargus-daemon service after that commands.

If it still doesn’t work, it might be an Argus issue.

Hi,
Please try to run the commands and check if you can identify which camera does not work:

gst-launch-1.0 nvarguscamerasrc sensor-id=0 num-buffers=150 ! fakesink nvarguscamerasrc sensor-id=1 num-buffers=150 ! fakesink
gst-launch-1.0 nvarguscamerasrc sensor-id=0 num-buffers=150 ! fakesink nvarguscamerasrc sensor-id=2 num-buffers=150 ! fakesink
gst-launch-1.0 nvarguscamerasrc sensor-id=1 num-buffers=150 ! fakesink nvarguscamerasrc sensor-id=2 num-buffers=150 ! fakesink
gst-launch-1.0 nvarguscamerasrc sensor-id=0 num-buffers=150 ! fakesink nvarguscamerasrc sensor-id=1 num-buffers=150 ! fakesink nvarguscamerasrc sensor-id=2 num-buffers=150 ! fakesink

And please confirm the cameras are physically connected to different CIS ports.

@Honey_Patouceul
Please let me know how I would go about boosting VI/VIC clocks.

Based on your reply

  1. RE: v4l2-ctl … --set-ctrl bypass_mode=0 …

I tested with three cameras, I added command to capture images which I have attached.

screen2

admin@nano-generic:~$ echo screen2 &&  date && sudo v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG12 --stream-mmap --set-ctrl bypass_mode=0 --stream-skip=400 --stream-count=1 -d /dev/video2 --stream-mmap --stream-to=camera2.raw
screen2
Thu 09 Feb 2023 10:18:03 SAST
<<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.47 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<

screen1

admin@nano-generic:~$ echo screen1 &&  date && sudo v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG12 --stream-mmap --set-ctrl bypass_mode=0 --stream-skip=400 --stream-count=1 -d /dev/video1 --stream-mmap --stream-to=camera1.raw
screen1
Thu 09 Feb 2023 10:18:06 SAST
<<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<

screen0

admin@nano-generic:~$ echo screen0 &&  date && sudo v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG12 --stream-mmap --set-ctrl bypass_mode=0 --stream-skip=400 --stream-count=1 -d /dev/video0 --stream-mmap --stream-to=camera0.raw
screen0
Thu 09 Feb 2023 10:18:08 SAST
<<<<<<<<<<<<<<<<< 15.47 fps
<<<<<<<<<<<<<<< 15.47 fps
<<<<<<<<<<<<<<<< 15.47 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.47 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<<< 15.46 fps
<<<<<<<<<<<<<

camera2.raw (4.0 MB)
camera1.raw (4.0 MB)
camera0.raw (4.0 MB)

The camera are physically connected to different CIS ports, as detailed in the original post. Here is further evidence.

admin@nano-generic:~$ sudo media-ctl -p -d /dev/media0 
Media controller API version 0.1.0

Media device information
------------------------
driver          vi
model           NVIDIA Tegra Video Input Device
serial          
bus info        
hw revision     0x3
driver version  0.0.0

Device topology
- entity 1: nvcsi--4 (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
	pad0: Sink
		<- "ar0231at 7-0038":0 [ENABLED]
	pad1: Source
		-> "vi-output, ar0231at 7-0038":0 [ENABLED]

- entity 4: nvcsi--3 (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
	pad0: Sink
		<- "ar0231at 8-0038":0 [ENABLED]
	pad1: Source
		-> "vi-output, ar0231at 8-0038":0 [ENABLED]

- entity 7: nvcsi--2 (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev2
	pad0: Sink
		<- "ar0231at 9-0038":0 [ENABLED]
	pad1: Source
		-> "vi-output, ar0231at 9-0038":0 [ENABLED]

- entity 10: nvcsi--1 (2 pads, 0 link)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev3
	pad0: Sink
	pad1: Source

- entity 13: ar0231at 7-0038 (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev4
	pad0: Source
		[fmt:SBGGR12_1X12/1920x1080 field:none colorspace:srgb]
		-> "nvcsi--4":0 [ENABLED]

- entity 15: vi-output, ar0231at 7-0038 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video0
	pad0: Sink
		<- "nvcsi--4":1 [ENABLED]

- entity 33: ar0231at 8-0038 (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev5
	pad0: Source
		[fmt:SBGGR12_1X12/1920x1080 field:none colorspace:srgb]
		-> "nvcsi--3":0 [ENABLED]

- entity 35: vi-output, ar0231at 8-0038 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video1
	pad0: Sink
		<- "nvcsi--3":1 [ENABLED]

- entity 45: ar0231at 9-0038 (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev6
	pad0: Source
		[fmt:SBGGR12_1X12/1920x1080 field:none colorspace:srgb]
		-> "nvcsi--2":0 [ENABLED]

- entity 47: vi-output, ar0231at 9-0038 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
	pad0: Sink
		<- "nvcsi--2":1 [ENABLED]

Regarding your question.
I could not get any of your gstreamer pipelines to work. Have you tested this on your own hardware? See below

admin@nano-generic:~$ sudo gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 num-buffers=150 ! fakesink nvarguscamerasrc sensor-id=1 sensor-mode=0 num-buffers=150 ! fakesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 640 x 480 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 1 
   Camera mode  = 0 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 40.000000 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 640 x 480 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 0 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 40.000000 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD... Exiting...
CONSUMER: Done Success
Got EOS from element "pipeline0".
Execution ended after 0:00:13.286957813
Setting pipeline to NULL ...
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
GST_ARGUS: Cleaning up
GST_ARGUS: Done Success
Freeing pipeline ...

I could however run the cameras individually. See bellow

admin@nano-generic:~$ sudo gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 num-buffers=150 ! fakesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 640 x 480 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0
   Camera mode  = 0
   Output Stream W = 1920 H = 1080
   seconds to Run    = 0
   Frame Rate = 40.000000
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
Got EOS from element "pipeline0".
Execution ended after 0:00:11.696247408
Setting pipeline to NULL ... 
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
Freeing pipeline ...
admin@nano-generic:~$ sudo gst-launch-1.0 nvarguscamerasrc sensor-id=1 sensor-mode=0 num-buffers=150 ! fakesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 640 x 480 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 1
   Camera mode  = 0
   Output Stream W = 1920 H = 1080
   seconds to Run    = 0
   Frame Rate = 40.000000
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
Got EOS from element "pipeline0".
Execution ended after 0:00:11.616070209
Setting pipeline to NULL ... 
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
Freeing pipeline ...
admin@nano-generic:~$ sudo gst-launch-1.0 nvarguscamerasrc sensor-id=2 sensor-mode=0 num-buffers=150 ! fakesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 640 x 480 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 2 
   Camera mode  = 0 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 40.000000 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
Got EOS from element "pipeline0".
Execution ended after 0:00:11.626932386
Setting pipeline to NULL ...
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
Freeing pipeline ...

@DaneLLL
Please detail how to “execute the steps to run the hardware blocks fixed at maximum clock” for the jetson nano.

Hi,
Below is the steps for setting VI, CSI, ISP engines to maximum clock:

sudo su
echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee  /sys/kernel/debug/bpmp/debug/clk/isp/rate
cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate

If you have execute the steps but still hit the issue, it seems to be an issue in sensor driver. If driver is good, commands in the post should all work.

Hi @DaneLLL
As I have stated in previous post. The jetson nano kernel/rootfs DOES NOT have folder bpmp in /sys/kernel/debug.

root@nano-generic:/sys/kernel/debug# ls
57000000.gpu          ar0231_a  bluetooth      dri                 gpu.0      ixgbe       msenc   pcie        powergate      sdhci-tegra.3     system_states          tegra_denver     tegra_gpio      tegra_pinctrl_reg  tegra_xhci  vic
57000000.gpu_scaling  ar0231_c  clk            dsi_csi_test        hid        mc          nvdec   pg_domains  pwm            sleep_time        tegra_bwmgr            tegra_dfll_fcpu  tegra_hdmi      tegra-pmc-io-pads  tracing     virtio-ports
70006040.serial       ar0231_e  cpuidle_t210   dynamic_debug       ieee80211  memblock    nvjpg   pinctrl     ras            soctherm          tegra_camera_platform  tegra_dsi        tegra_host      tegra-rtc          tsec        wakeup_sources
70006200.serial       ar0231_f  debug_enabled  extfrag             iio        mlxsw_core  nvlink  pmc-reset   regmap         split_huge_pages  tegra_central_actmon   tegra_dvfs       tegra_la_ptsa   tegra_sor1         tsecb
7000d400.spi          asoc      dma_buf        fault_around_bytes  isp        mmc0        nvmap   pm_genpd    regulator      suspend_stats     tegradc.0              tegra_ec         tegra_latency   tegra_throttle     usb
70019000.iommu        bdi       dma-vpr        gpio                isp.1      mmc1        opp     pm_qos      sdhci-tegra.2  sync              tegradc.1              tegra_emc        tegra_mipi_cal  tegra_vi           vi

I have jetson nano devit with nvidia’s nano image as well as

root@jetson:~# cat /proc/device-tree/nvidia,dtsfilename
/dvs/git/dirty/git-master_linux/kernel/kernel-4.9/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-a02.dtsroot@jetson:~# 
root@jetson:~# cat /proc/device-tree/nvidia,dtbbuildtime 
Apr 20 202214:28:59root@jetson:~#
root@jetson:~# ls /sys/kernel/debug/
57000000.gpu          70019000.iommu  debug_enabled  fault_around_bytes  isp       mlxsw_core  nvmap       pm_genpd   regulator         sync                   tegradc.1        tegra_emc      tegra_mipi_cal     tegra_throttle  usb
57000000.gpu_scaling  asoc            dma_buf        gpio                isp.1     mmc0        opp         pm_qos     sdhci-tegra.0     system_states          tegra_denver     tegra_gpio     tegra_pinctrl_reg  tegra_vi        vi
70006040.serial       bdi             dma-vpr        gpu.0               iwlwifi   msenc       pcie        powergate  sleep_time        tegra_bwmgr            tegra_dfll_fcpu  tegra_hdmi     tegra-pmc-io-pads  tegra_xhci      vic
70006200.serial       bluetooth       dri            hid                 ixgbe     nvdec       pg_domains  pwm        soctherm          tegra_camera_platform  tegra_dp1        tegra_host     tegra-rtc          tracing         virtio-ports
7000d400.spi          clk             dynamic_debug  ieee80211           mc        nvjpg       pinctrl     ras        split_huge_pages  tegra_central_actmon   tegra_dvfs       tegra_la_ptsa  tegra_sor0         tsec            wakeup_sources
7000d600.spi          cpuidle_t210    extfrag        iio                 memblock  nvlink      pmc-reset   regmap     suspend_stats     tegradc.0              tegra_ec         tegra_latency  tegra_sor1         tsecb
root@jetson:~# 

Looks like /hardware/nvidia/soc/t210/kernel-dts/tegra210-soc/tegra210-soc-base.dtsi the bpmp driver is disabled

 288         bpmp {
 289                 compatible = "nvidia,tegra210-bpmp";
 290                 carveout-start = <0x80005000>;
 291                 carveout-size = <0x10000>;
 292                 resets = <&tegra_car 1>;
 293                 reset-names = "cop";
 294                 clocks = <&tegra_car TEGRA210_CLK_AVP_SCLK>;
 295                 clock-names = "sclk";
 296                 reg = <0x0 0x70016000 0x0 0x2000
 297                        0x0 0x60001000 0x0 0x1000>;
 298                 iommus = <&smmu TEGRA_SWGROUP_AVPC>;
 299                 status = "disabled";
 300         };

This does not seem to ever be enabled or included in nvidia/platform/t210/porg/kernel-dts/tegra210-porg-p3448-common.dtsi

admin@nano-generic:~$ cat /proc/device-tree/bpmp/status
disabled

Hi,
For enabling the engines at maximum clocks, please modify the code i calculate_and_set_device_clock() in

kernel/nvidia/drivers/video/tegra/camera/tegra_camera_platform.c

Please remove

        /* avoid rounding errors by adding dr to nr */
        clk_rate = (nr + dr) / dr;

And set the clock in each switch case. For example, please set HWTYPE_CSI like:

        case HWTYPE_CSI:
                if (info->sensor_type == SENSORTYPE_SLVSEC)
                        set_clk = false;
                nr = max_depth * final_pr * overhead;
                dr = bus_width * 100;
                if (dr == 0)
                        return -EINVAL;
                clk_rate = 750000000; // 750MHz
                break;

The maximum clock of hardware engines are listed in developer guide

Hi @DaneLLL

I will test the patch and let you know if it is the solution.

Is this still an issue to support? Any result can be shared? Thanks

I still need support. The patch did not work. Please see patch below.
I still can only get 2 cameras continuously streaming.

diff --git a/drivers/video/tegra/camera/tegra_camera_platform.c b/drivers/video/tegra/camera/tegra_camera_platform.c
index c63d9d299..a616d88c0 100644
--- a/drivers/video/tegra/camera/tegra_camera_platform.c
+++ b/drivers/video/tegra/camera/tegra_camera_platform.c
@@ -931,7 +931,9 @@ static int calculate_and_set_device_clock(struct tegra_camera_info *info,
        }
 
        /* avoid rounding errors by adding dr to nr */
-       clk_rate = (nr + dr) / dr;
+        //clk_rate = (nr + dr) / dr;
+        clk_rate = 750000000;
+       printk("tegra camera platform clk rate: %lld", clk_rate);
 
        /* Use special rates based on throughput
         * for TPG.

I also noticed, I potentially did the wrong thing in the device tree. Based on:

	/**
		 * 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.
		 */
-badge = "porg_*_AR0231AT";
+badge = "porg_*_AR0231";

However, this made no difference to the streaming issue.

The command provided by @DaneLLL also does not work for two cameras.

admin@nano-generic:~$ sudo gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 num-buffers=150 ! fakesink nvarguscamerasrc sensor-id=1 sensor-mode=0 num-buffers=150 ! fakesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 640 x 480 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 0 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 40.000000 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 640 x 480 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: 1920 x 1080 FR = 40.000000 fps Duration = 25000000 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 1 
   Camera mode  = 0 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 40.000000 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD... Exiting...
CONSUMER: Done Success
Got EOS from element "pipeline0".
Execution ended after 0:00:13.211757220
Setting pipeline to NULL ...
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
GST_ARGUS: Cleaning up
GST_ARGUS: Done Success
Freeing pipeline ...

Hi,
Does it work if you run

$ gst-launch-1.0 nvarguscamerasrc sensor-id=1 sensor-mode=0 num-buffers=150 ! fakesink

It seems like the device tree for sensor-id=1 camera is not correct.

Hi.
Yes. See Jetson Nano only support streaming on two cameras - #10 by mishak

@DaneLLL please read my previous posts, I have spent a lot of time providing detailed descriptions of all my attempts to get multiple cameras working using libargus.

I have provided the device-tree file used for my cameras, please look at it to see if there are any issues. Please tell me how the device tree for sensor-id=1 camera is not correct?

To summarize what I have tested to this point.

This points to some issue with either libargus/tegra_camera_platform.c . Please let me know if Nvidia has ever tested the jetson nano platform with 3+ cameras with csi_pixel_bit_depth = “12” at 1920by1080.

Hi,
Per product design guide, it should be fine to connect to 4x 2-lane Bayer sensors. And we have been working with camera partners, and don’t see similar issues.

Is it possible the power supply is not stable for 3 or 4 cameras? It seems like the camera sensor should work in 40fps but it only achieves 15fps in running v4l2-ctl commands. And it also fails to run 4 cameras in v4l2-ctl commands. If you run v4l2-ctl commands one by one, can the 4 cameras be launched?