CSI2 camera Can't open device by orin JetPack 5.0.2

We use the
v4l2-ctl --set-fmt-video=width=1920,height=1080 --set-ctrl bypass_mode=0 --stream-mmap -d /dev/videoX
command to debug the camera on the orin JetPack 5.0.2 platform. Sometimes image data can be obtained, but sometimes it cannot, which has randomness.

When there is no image data:

  1. Kernel log output:

[2023/5/17 15:20:32] [ 337.125457] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 1,csi_port- 2
[2023/5/17 15:20:32] [ 337.125956] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[2023/5/17 15:20:35] [ 339.647864] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[2023/5/17 15:20:35] [ 339.648178] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[2023/5/17 15:20:35] [ 339.648713] (NULL device *): vi_capture_control_message: NULL VI channel received
[2023/5/17 15:20:35] [ 339.648965] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[2023/5/17 15:20:35] [ 339.649304] (NULL device *): vi_capture_control_message: NULL VI channel received
[2023/5/17 15:20:35] [ 339.649542] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 1,csi_port- 2
[2023/5/17 15:20:35] [ 339.650088] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel

  1. The oscilloscope measures the CSI2 bus data line with data waveform output

  2. The oscilloscope measures 30 frame synchronization signals on the hsync pin of the camera end

My device tree configuration is as follows:
mclk_khz = “24000”;
num_lanes = “4”;
tegra_sinterface = TEGRA_SINTERFACE;
phy_mode = “DPHY”;
discontinuous_clk = “no”;
dpcm_enable = “false”;
cil_settletime = “0”;
dynamic_pixel_bit_depth = “16”;
csi_pixel_bit_depth = “16”;
mode_type = “yuv”;
pixel_phase = “uyvy”; //yuyv uyvy

			active_w = "2480";
			active_h = "1125";
			readout_orientation = "0";
			line_length = "2480";
			inherent_gain = "1";


			pix_clk_hz = "148500000";
			serdes_pix_clk_hz = "594000000";
			                     
			gain_factor = "10";
			min_gain_val = "0"; /* dB */
			max_gain_val = "300"; /* dB */
			step_gain_val = "3"; /* 0.3 */
			default_gain = "0";
			min_hdr_ratio = "1";
			max_hdr_ratio = "1";
			framerate_factor = "1000000";
			min_framerate = "30000000";
			max_framerate = "30000000";
			step_framerate = "1";
			default_framerate = "30000000";
			exposure_factor = "1000000";
			min_exp_time = "59"; /*us, 2 lines*/
			max_exp_time = "33333";
			step_exp_time = "1";
			default_exp_time = "33333";/* us */
			embedded_metadata_height = "0";

The camera timing is shown in the figure:

Project urgently awaiting reply!!!

hello 305248199,

may I know what’s the physical camera connections, are you using a SerDes chip?
please try below commands to boost all the VI/CSI/ISP clocks to rule out clock configuration issues.

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
echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/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
cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/emc/rate

BTW,
is it possible for moving to latest Jetpack release, i.e. l4t-r35.3.1 for confirmation?

hi JerryChang,

Yes, it’s gmsl2’s max96712+max9295a

  1. Used commands to boost all the VI/CSI/ISP clocks,Not resolved.

  2. pix_clk_hz = “74250000”;
    serdes_pix_clk_hz = “297000000”;
    I have also tested it, but it did not solve the problem

3.The project was quite urgent, so the new version l4t-r35.3.1 was not used.

hello 305248199,

you don’t need pix_clk_hz since it’s a SerDes chip; you may check SerDes Pixel Clock section for the formula to review the serdes_pix_clk_hz settings.

1, configuration, the problem is still the same
active_w = “2200”;
active_h = “1125”;

line_length = “2200”;

pix_clk_hz = “74250000”;
serdes_pix_clk_hz = “297000000”;

2, configuration, the problem is still the same

active_w = “1920”;
active_h = "1080 ";

line_length = “2200”;

pix_clk_hz = “74250000”;
serdes_pix_clk_hz = “833333333”;

and

This configuration can be used normally with the same camera under Xavier, but now the same configuration under Orin has the current problem.

hello machuang,

please share the sensor device tree, or, you may re-cap the settings within tegra-camera-platform{}.

I’m also curious about above…
what’s the difference between work/non-works scenario?
could you please review the settings on SerDes chip, btw, had you try sending a reset signal before s_stream()?

here’re commands to enable VI tracing logs.
please also gather the tracing log for more details.
for example,


echo 1 > /sys/kernel/debug/tracing/tracing_on
echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb
echo 1 > /sys/kernel/debug/tracing/events/tegra_rtcpu/enable
echo 1 > /sys/kernel/debug/tracing/events/freertos/enable
echo 2 > /sys/kernel/debug/camrtc/log-level
echo > /sys/kernel/debug/tracing/trace
cat /sys/kernel/debug/tracing/trace
# to review dynamic tracing log 
# cat /sys/kernel/debug/tracing/trace_pipe 

OK!

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 = <15000000>;
min_bits_per_pixel = <10>;
vi_peak_byte_per_pixel = <2>;
vi_bw_margin_pct = <25>;
isp_peak_byte_per_pixel = <5>;
isp_bw_margin_pct = <25>;

	/**
	 * The general guideline for naming badge_info contains 3 parts, and is as follows,
	 * The first part is the camera_board_id for the module; if the module is in a FFD
	 * platform, then use the platform name for this part.
	 * The second part contains the position of the module, ex. "rear" or "front".
	 * The third part contains the last 6 characters of a part number which is found
	 * in the module's specsheet from the vender.
	 */
	modules {
		module0 {
			badge = "ar0234_bottomleft";
			position = "bottomleft";
			orientation = "1";
			drivernode0 {
				/* Declare PCL support driver (classically known as guid)  */
				pcl_id = "v4l2_sensor";
				/* Driver v4l2 device name */
				devname = "ar0234 30-0018";
				/* Declare the device-tree hierarchy to driver instance */
				proc-device-tree = "/proc/device-tree/i2c@c250000/ar0234_a@11";
			};
		};
                    module1 {
                            badge = "ar0234_bottomright";
                            position = "bottomright";
                            orientation = "1";
                            drivernode0 {
                                    /* Declare PCL support driver (classically known as guid)  */
                                    pcl_id = "v4l2_sensor";
                                    /* Driver v4l2 device name */
                                    devname = "ar0234 30-0010";
                                    /* Declare the device-tree hierarchy to driver instance */
				proc-device-tree = "/proc/device-tree/i2c@c250000/ar0234_b@12";
                                    };
                    };
                    module2 {
                            badge = "ar0234_centerleft";
                            position = "centerleft";
                            orientation = "1";
                            drivernode0 {
                                    /* Declare PCL support driver (classically known as guid)  */
                                    pcl_id = "v4l2_sensor";
                                    /* Driver v4l2 device name */
                                     devname = "ar0234 31-0018";
				proc-device-tree = "/proc/device-tree/i2c@c250000/ar0234_c@13";
                            };
                    };
                    module3 {
                            badge = "ar0234_centerright";
                            position = "centerright";
                            orientation = "1";
                            drivernode0 {
                                     /* Declare PCL support driver (classically known as guid)  */
                                    pcl_id = "v4l2_sensor";
                                    /* Driver v4l2 device name */
                                    devname = "ar0234 31-0010";
                                    /* Declare the device-tree hierarchy to driver instance */
				proc-device-tree = "/proc/device-tree/i2c@c250000/ar0234_d@14";
                            };
                    };


		module4 {
			badge = "ar0234b_bottomleft";
			position = "bottomleft";
			orientation = "1";
			drivernode0 {
				/* Declare PCL support driver (classically known as guid)  */
				pcl_id = "v4l2_sensor";
				/* Driver v4l2 device name */
				devname = "ar0234b 30-0018";
				/* Declare the device-tree hierarchy to driver instance */
				proc-device-tree = "/proc/device-tree/i2c@3180000/ar0234b_a@11";
			};
		};
                    module5 {
                            badge = "ar0234b_bottomright";
                            position = "bottomright";
                            orientation = "1";
                            drivernode0 {
                                    /* Declare PCL support driver (classically known as guid)  */
                                    pcl_id = "v4l2_sensor";
                                    /* Driver v4l2 device name */
                                    devname = "ar0234b 30-0010";
                                    /* Declare the device-tree hierarchy to driver instance */
				proc-device-tree = "/proc/device-tree/i2c@3180000/ar0234b_b@12";
                                    };
                    };



	};
};

gather the tracing log for more details:

kworker/7:7-170 [007] … 2272.996050: rtcpu_vinotify_event: tstamp:71614764188 cch:-1 vi:1 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:2291664484448 data:0x0000000800000000
kworker/7:7-170 [007] … 2278.716038: rtcpu_string: tstamp:71793800525 id:0x04010000 str:“VM0 deactivating.”
kworker/7:7-170 [007] … 2281.404030: rtcpu_string: tstamp:71877639187 id:0x04010000 str:“VM0 activating.”
kworker/7:7-170 [007] … 2281.460095: rtcpu_isp_falcon_task_start: tstamp:3159647744 ch:0 task:HANDLE_EVENT
kworker/7:7-170 [007] … 2281.460101: rtcpu_isp_falcon_task_end: tstamp:3159647784 task:HANDLE_EVENT
kworker/7:7-170 [007] … 2282.080145: rtcpu_vinotify_event: tstamp:71898974726 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2300757086560 data:0x379e300010000000
kworker/7:7-170 [007] … 2282.080148: rtcpu_vinotify_event: tstamp:71898974974 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2300757093056 data:0x0000000031000001
kworker/7:7-170 [007] … 2282.080148: rtcpu_vinotify_event: tstamp:71898975220 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2300757158720 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2282.080148: rtcpu_vinotify_event: tstamp:71898975429 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2300757170816 data:0x0000000031000002
kworker/7:7-170 [007] … 2284.832009: rtcpu_vinotify_event: tstamp:71984075979 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2303481967040 data:0x379e300010000000
kworker/7:7-170 [007] … 2284.832012: rtcpu_vinotify_event: tstamp:71984076113 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2303481981984 data:0x0000000031000001
kworker/7:7-170 [007] … 2284.832013: rtcpu_vinotify_event: tstamp:71984424808 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2303500516288 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2284.832013: rtcpu_vinotify_event: tstamp:71984424940 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2303500531456 data:0x0000000031000002
kworker/7:7-170 [007] … 2287.352015: rtcpu_vinotify_event: tstamp:72063945583 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2306039286944 data:0x379e300010000000
kworker/7:7-170 [007] … 2287.352018: rtcpu_vinotify_event: tstamp:72063945720 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2306039301920 data:0x0000000031000001
kworker/7:7-170 [007] … 2287.408481: rtcpu_vinotify_event: tstamp:72064294311 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2306054343072 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2287.408483: rtcpu_vinotify_event: tstamp:72064294446 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2306054358272 data:0x0000000031000002
kworker/7:7-170 [007] … 2289.928010: rtcpu_vinotify_event: tstamp:72143815226 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2308598942816 data:0x379e300010000000
kworker/7:7-170 [007] … 2289.928013: rtcpu_vinotify_event: tstamp:72143815362 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2308598957728 data:0x0000000031000001
kworker/7:7-170 [007] … 2289.928013: rtcpu_vinotify_event: tstamp:72144186644 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2308613923392 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2289.928013: rtcpu_vinotify_event: tstamp:72144186782 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2308613938592 data:0x0000000031000002
kworker/7:7-170 [007] … 2298.392015: rtcpu_isp_falcon_task_start: tstamp:3689483730 ch:0 task:HANDLE_EVENT
kworker/7:7-170 [007] … 2298.392020: rtcpu_isp_falcon_task_end: tstamp:3689483772 task:HANDLE_EVENT
kworker/7:7-170 [007] … 2299.008028: rtcpu_vinotify_event: tstamp:72428046732 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2317696497824 data:0x379e300010000000
kworker/7:7-170 [007] … 2299.008032: rtcpu_vinotify_event: tstamp:72428046906 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2317696504288 data:0x0000000031000001
kworker/7:7-170 [007] … 2299.008033: rtcpu_vinotify_event: tstamp:72428047103 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2317696550368 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2299.008033: rtcpu_vinotify_event: tstamp:72428047270 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2317696556960 data:0x0000000031000002
kworker/7:7-170 [007] … 2301.696011: rtcpu_vinotify_event: tstamp:72512101622 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2320376995584 data:0x379e300010000000
kworker/7:7-170 [007] … 2301.696013: rtcpu_vinotify_event: tstamp:72512101758 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2320377010528 data:0x0000000031000001
kworker/7:7-170 [007] … 2301.752006: rtcpu_vinotify_event: tstamp:72512450372 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2320393774816 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2301.752007: rtcpu_vinotify_event: tstamp:72512450511 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2320393790016 data:0x0000000031000002
kworker/7:7-170 [007] … 2310.232012: rtcpu_string: tstamp:72778830310 id:0x04010000 str:“VM0 deactivating.”
kworker/7:7-170 [007] … 2315.220023: rtcpu_string: tstamp:72934072042 id:0x04010000 str:“VM0 activating.”
kworker/7:7-170 [007] … 2315.276073: rtcpu_isp_falcon_task_start: tstamp:4215971007 ch:0 task:HANDLE_EVENT
kworker/7:7-170 [007] … 2315.276080: rtcpu_isp_falcon_task_end: tstamp:4215971048 task:HANDLE_EVENT
kworker/7:7-170 [007] … 2315.892021: rtcpu_vinotify_event: tstamp:72955803667 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2334575193152 data:0x379e300010000000
kworker/7:7-170 [007] … 2315.892024: rtcpu_vinotify_event: tstamp:72955803925 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2334575199648 data:0x0000000031000001
kworker/7:7-170 [007] … 2315.892025: rtcpu_vinotify_event: tstamp:72955804178 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2334575255744 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2315.892026: rtcpu_vinotify_event: tstamp:72955804391 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2334575262336 data:0x0000000031000002
kworker/7:7-170 [007] … 2318.584018: rtcpu_vinotify_event: tstamp:73039858610 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2337274043744 data:0x379e300010000000
kworker/7:7-170 [007] … 2318.584020: rtcpu_vinotify_event: tstamp:73039858745 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2337274058720 data:0x0000000031000001
kworker/7:7-170 [007] … 2318.640165: rtcpu_vinotify_event: tstamp:73040555966 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2337291729888 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2318.640167: rtcpu_vinotify_event: tstamp:73040556098 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2337291745088 data:0x0000000031000002
kworker/7:7-170 [007] … 2321.160011: rtcpu_vinotify_event: tstamp:73120077046 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2339832209120 data:0x379e300010000000
kworker/7:7-170 [007] … 2321.160014: rtcpu_vinotify_event: tstamp:73120077181 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2339832224096 data:0x0000000031000001
kworker/7:7-170 [007] … 2321.160015: rtcpu_vinotify_event: tstamp:73120425740 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2339847102880 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2321.160015: rtcpu_vinotify_event: tstamp:73120425874 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2339847118080 data:0x0000000031000002
kworker/7:7-170 [007] … 2323.740022: rtcpu_vinotify_event: tstamp:73199946692 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2342392536480 data:0x379e300010000000
kworker/7:7-170 [007] … 2323.740026: rtcpu_vinotify_event: tstamp:73199946830 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2342392551456 data:0x0000000031000001
kworker/7:7-170 [007] … 2323.740027: rtcpu_vinotify_event: tstamp:73200239812 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2342407627200 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2323.740027: rtcpu_vinotify_event: tstamp:73200239946 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2342407642368 data:0x0000000031000002
kworker/7:0-3841 [007] … 2326.260064: rtcpu_vinotify_event: tstamp:73279781382 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2344952346528 data:0x379e300010000000
kworker/7:0-3841 [007] … 2326.260068: rtcpu_vinotify_event: tstamp:73279781530 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2344952361504 data:0x0000000031000001
kworker/7:7-170 [007] … 2326.316018: rtcpu_vinotify_event: tstamp:73280479066 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2344967454048 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2326.316020: rtcpu_vinotify_event: tstamp:73280479201 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2344967470720 data:0x0000000031000002
kworker/7:7-170 [007] … 2328.836026: rtcpu_vinotify_event: tstamp:73359999621 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2347512217920 data:0x379e300010000000
kworker/7:7-170 [007] … 2328.836029: rtcpu_vinotify_event: tstamp:73359999760 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2347512232928 data:0x0000000031000001
kworker/7:7-170 [007] … 2328.836029: rtcpu_vinotify_event: tstamp:73360348571 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2347527435712 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2328.836030: rtcpu_vinotify_event: tstamp:73360348707 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2347527450912 data:0x0000000031000002
kworker/7:7-170 [007] … 2331.412010: rtcpu_vinotify_event: tstamp:73439869292 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2350072534656 data:0x379e300010000000
kworker/7:7-170 [007] … 2331.412014: rtcpu_vinotify_event: tstamp:73439869445 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2350072549664 data:0x0000000031000001
kworker/7:7-170 [007] … 2331.412014: rtcpu_vinotify_event: tstamp:73440567134 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2350087711360 data:0x379e2d0010000000
kworker/7:7-170 [007] … 2331.412015: rtcpu_vinotify_event: tstamp:73440567270 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:2350087726560 data:0x0000000031000002

Max96712 and max9295a are initialized when the kernel is started, not when using the v4l2 ctl command, and do not close after the command is completed; Whether or not the camera is used to obtain image data, the camera’s image data will always be output to the Orin’s CSI2 bus end.

hello 305248199,

(1) please revise position settings for your module4 and module5, they’re duplicated.
you may using below to define your position property for a six-camera system,
such as… bottomleft, bottomright, centerleft, centerright, topleft, and topright.

(2) how many CSI lanes you’re used? this property, num_csi_lanes = <8>; means the total active CSI lanes for your system.

(3) do you have six camera nodes generated under /dev/video*? you may also review the Port Bindings.
please check the bindings of Sensor → CSI → VI.
besides, your virtual channel id, vc-id and vc_id should also configured correctly. for example, you must set the vc-id property in the gmsl-link node for each sensor to match the vc_id property in the sensor mode device node.

(4) according to VI tracing logs… it’s driver side kept waiting for sensor frames. there’s no sensor related signaling, such as SOF, EOF…etc.
since you’ve image data will always be output, you might try issue a software reset (on the SerDes) to alignment with software. this reset event should trigger before s_stream() for capture engine waiting 1st start-of-frame of the MIPI signaling.

(1)Sorry for the previous mistake.
Let me send you the entire device tree file.

/*

  • Copyright (c) 2018-2022, NVIDIA CORPORATION. All rights reserved.
  • This program is free software; you can redistribute it and/or modify
  • it under the terms of the GNU General Public License as published by
  • the Free Software Foundation; either version 2 of the License, or
  • (at your option) any later version.
  • This program is distributed in the hope that it will be useful, but WITHOUT
  • ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  • FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  • more details.
  • You should have received a copy of the GNU General Public License
  • along with this program. If not, see http://www.gnu.org/licenses/.
    */

#include “camera_sensor/sensor_config.dtsi”

#include “camera_sensor/max96722b.h”
#define AR0234B_PIXEL_PHASE “uyvy” //uyvy vyuy yvyu
/ {

tegra-capture-vi {
		num-channels = <8>;
		ports {
			#address-cells = <1>;
			#size-cells = <0>;
							port@0 {
								reg = <0>;
								ar0234_vi_in0: endpoint {
										vc-id = <1>;
										port-index = <0>;
										bus-width = <4>;
										remote-endpoint = <&ar0234_csi_out0>;
										};
								};
                            port@1 {
                                    reg = <1>;
                                    ar0234_vi_in1: endpoint {
                                                    vc-id = <0>;
                                                    port-index = <0>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234_csi_out1>;
                                                    };
                                    };
                            port@2 {
                                    reg = <2>;
                                    ar0234_vi_in2: endpoint {
                                                    vc-id = <2>;
                                                    port-index = <0>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234_csi_out2>;
                                                    };
                                    };
                            port@3 {
                                    reg = <3>;
                                    ar0234_vi_in3: endpoint {
                                                    vc-id = <3>;
                                                    port-index = <0>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234_csi_out3>;
                                                    };
                                    };
                            port@4 {
                                    reg = <4>;
                                    ar0234b_vi_in0: endpoint {
                                                    vc-id = <1>;
                                                    port-index = <2>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234b_csi_out0>;
                                                    };
                                    };
                                    
                            port@5 {
                                    reg = <5>;
                                    ar0234b_vi_in1: endpoint {
                                                    vc-id = <0>;
                                                    port-index = <2>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234b_csi_out1>;
                                                    };
                                    };
                                    
                            port@6 {
                                    reg = <6>;
                                    ar0234b_vi_in2: endpoint {
                                                    vc-id = <2>;
                                                    port-index = <2>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234b_csi_out2>;
                                                    };
                                    };
                            port@7 {
                                    reg = <7>;
                                    ar0234b_vi_in3: endpoint {
                                                    vc-id = <3>;
                                                    port-index = <2>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234b_csi_out3>;
                                                    };
                                    };                                        
                                    
                                    
		};
};


host1x@13e00000 {
	nvcsi@15a00000 {
		num-channels = <8>;
		#address-cells = <1>;
		#size-cells = <0>;
		channel@0 {
			reg = <0>;
			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					ar0234_csi_in0: endpoint@0 {
						port-index = <0>;
						bus-width = <4>;
						remote-endpoint = <&ar0234_ar0234_out0>;
					};
				};
				port@1 {
						reg = <1>;
						ar0234_csi_out0: endpoint@1 {
								remote-endpoint = <&ar0234_vi_in0>;
						};
				};
			};
		};
		  channel@1 {
                            reg = <1>;
                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234_csi_in1: endpoint@2 {
                                                    port-index = <0>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234_ar0234_out1>;
                                            };
                                    };
                                    port@1 {
                                                    reg = <1>;
                                                    ar0234_csi_out1: endpoint@3 {
                                                                    remote-endpoint = <&ar0234_vi_in1>;
                                                    };
                                    };
                            };
                    };
                    channel@2 {
                            reg = <2>;
                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234_csi_in2: endpoint@4 {
                                                    port-index = <0>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234_ar0234_out2>;
                                            };
                                    };
                                    port@1 {
                                                    reg = <1>;
                                                    ar0234_csi_out2: endpoint@5 {
                                                                    remote-endpoint = <&ar0234_vi_in2>;
                                                    };
                                    };
                            };
                    };
                    channel@3 {
                            reg = <3>;
                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234_csi_in3: endpoint@6 {
                                                    port-index = <0>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234_ar0234_out3>;
                                            };
                                    };
                                    port@1 {
                                                    reg = <1>;
                                                    ar0234_csi_out3: endpoint@7 {
                                                                    remote-endpoint = <&ar0234_vi_in3>;
                                                    };
                                    };
                            };
                    };


                    channel@4 {
                            reg = <4>;
                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234b_csi_in0: endpoint@8 {
                                                    port-index = <2>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234b_ar0234_out0>;
                                            };
                                    };
                                    port@1 {
                                                    reg = <1>;
                                                    ar0234b_csi_out0: endpoint@9 {
                                                                    remote-endpoint = <&ar0234b_vi_in0>;
                                                    };
                                    };
                            };
                    };

                    channel@5 {
                            reg = <5>;
                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234b_csi_in1: endpoint@10 {
                                                    port-index = <2>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234b_ar0234_out1>;
                                            };
                                    };
                                    port@1 {
                                                    reg = <1>;
                                                    ar0234b_csi_out1: endpoint@11 {
                                                                    remote-endpoint = <&ar0234b_vi_in1>;
                                                    };
                                    };
                            };
                    };

                    channel@6 {
                            reg = <6>;
                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234b_csi_in2: endpoint@12 {
                                                    port-index = <2>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234b_ar0234_out2>;
                                            };
                                    };
                                    port@1 {
                                                    reg = <1>;
                                                    ar0234b_csi_out2: endpoint@13 {
                                                                    remote-endpoint = <&ar0234b_vi_in2>;
                                                    };
                                    };
                            };
                    };

                    channel@7 {
                            reg = <7>;
                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234b_csi_in3: endpoint@14 {
                                                    port-index = <2>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234b_ar0234_out3>;
                                            };
                                    };
                                    port@1 {
                                                    reg = <1>;
                                                    ar0234b_csi_out3: endpoint@15 {
                                                                    remote-endpoint = <&ar0234b_vi_in3>;
                                                    };
                                    };
                            };
                    };

	};
};

i2c@c250000 {
		ar0234_a@11 {
			compatible = "onsemi,ar0234";
			reg = <0x11>;
			status = "okay";
			/* Physical dimensions of sensor */
			physical_w = "15.0";
			physical_h = "12.5";

			sensor_model ="ar0234";

			/* Defines number of frames to be dropped by driver internally after applying */
			/* sensor crop settings. Some sensors send corrupt frames after applying */
			/* crop co-ordinates */
			post_crop_frame_drop = "0";

			/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
			use_decibel_gain = "true";

			/* enable CID_SENSOR_MODE_ID for sensor modes selection */
			use_sensor_mode_id = "true";



			mode0 {/*mode IMX424_MODE_3840X1080_CROP_30FPS*/
			vc_id = "1";
				mclk_khz = "24000";
				num_lanes = "4";
				tegra_sinterface = TEGRA_SINTERFACE;
				phy_mode = "DPHY";
				discontinuous_clk = "no";
				dpcm_enable = "false";
				cil_settletime = "0";
                                    dynamic_pixel_bit_depth = "8";
                                    csi_pixel_bit_depth = "8";
                                    mode_type = "yuv";
                                    pixel_phase = "yuyv";


				active_w = "1280";
				active_h = "960";
				readout_orientation = "0";
				line_length = "2560";
				inherent_gain = "1";
				pix_clk_hz = "74250000";
				serdes_pix_clk_hz = "200000000";

				gain_factor = "10";
				min_gain_val = "0"; /* dB */
				max_gain_val = "300"; /* dB */
				step_gain_val = "3"; /* 0.3 */
				default_gain = "0";
				min_hdr_ratio = "1";
				max_hdr_ratio = "1";
				framerate_factor = "1000000";
				min_framerate = "30000000";
				max_framerate = "30000000";
				step_framerate = "1";
				default_framerate = "30000000";
				exposure_factor = "1000000";
				min_exp_time = "59"; /*us, 2 lines*/
				max_exp_time = "33333";
				step_exp_time = "1";
				default_exp_time = "33333";/* us */
				embedded_metadata_height = "0";

			};

			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					ar0234_ar0234_out0: endpoint {
						vc-id = <1>;
						port-index = <0>;
						bus-width = <4>;
						remote-endpoint = <&ar0234_csi_in0>;
						};
					};
				};
			gmsl-link {
				src-csi-port = "b";
				dst-csi-port = "a";
				serdes-csi-link = "a";
				csi-mode = "1x4";
				st-vc = <0>;
				vc-id = <1>;
				num-lanes = <4>;
				streams = "ued-u1", "raw12";
				};
			};

	ar0234_b@12 {
			compatible = "onsemi,ar0234";

                            reg = <0x12>;
			 status = "okay";
			 
                            /* Physical dimensions of sensor */
                            physical_w = "15.0";
                            physical_h = "12.5";

                            sensor_model ="ar0234";

                            /* Defines number of frames to be dropped by driver internally after applying */
                            /* sensor crop settings. Some sensors send corrupt frames after applying */
                            /* crop co-ordinates */
                            post_crop_frame_drop = "0";

                            /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
                            use_decibel_gain = "true";

                            /* enable CID_SENSOR_MODE_ID for sensor modes selection */
                            use_sensor_mode_id = "true";



                            mode0 {/*mode IMX424_MODE_3840X1080_CROP_30FPS*/
			vc_id = "0";
				mclk_khz = "24000";
				num_lanes = "4";
				tegra_sinterface = TEGRA_SINTERFACE;
				phy_mode = "DPHY";
				discontinuous_clk = "no";
				dpcm_enable = "false";
				cil_settletime = "0";
                                    dynamic_pixel_bit_depth = "8";
                                    csi_pixel_bit_depth = "8";
                                    mode_type = "yuv";
                                    pixel_phase = "yuyv";


				active_w = "1280";
				active_h = "960";
				readout_orientation = "0";
				line_length = "2560";
				inherent_gain = "1";
				pix_clk_hz = "74250000";
				serdes_pix_clk_hz = "200000000";

				gain_factor = "10";
				min_gain_val = "0"; /* dB */
				max_gain_val = "300"; /* dB */
				step_gain_val = "3"; /* 0.3 */
				default_gain = "0";
				min_hdr_ratio = "1";
				max_hdr_ratio = "1";
				framerate_factor = "1000000";
				min_framerate = "30000000";
				max_framerate = "30000000";
				step_framerate = "1";
				default_framerate = "30000000";
				exposure_factor = "1000000";
				min_exp_time = "59"; /*us, 2 lines*/
				max_exp_time = "33333";
				step_exp_time = "1";
				default_exp_time = "33333";/* us */
				embedded_metadata_height = "0";

                            };

                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234_ar0234_out1: endpoint {
                                                    vc-id = <0>;
                                                    port-index = <0>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234_csi_in1>;
                                                    };
                                            };
                                    };
                            gmsl-link {
                                    src-csi-port = "b";
                                    dst-csi-port = "a";
                                    serdes-csi-link = "b";
                                    csi-mode = "1x4";
                                    st-vc = <0>;
                                    vc-id = <0>;
                                    num-lanes = <4>;
                                    streams = "ued-u1", "raw12";
                                    };
                            };



ar0234_c@13 {
			compatible = "onsemi,ar0234";
                            reg = <0x13>;
 			 status = "okay";
                            /* Physical dimensions of sensor */
                            physical_w = "15.0";
                            physical_h = "12.5";

                            sensor_model ="ar0234";

                            /* Defines number of frames to be dropped by driver internally after applying */
                            /* sensor crop settings. Some sensors send corrupt frames after applying */
                            /* crop co-ordinates */
                            post_crop_frame_drop = "0";

                            /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
                            use_decibel_gain = "true";

                            /* enable CID_SENSOR_MODE_ID for sensor modes selection */
                            use_sensor_mode_id = "true";



                            mode0 {/*mode IMX424_MODE_3840X1080_CROP_30FPS*/
             		vc_id = "2";
								mclk_khz = "24000";
				num_lanes = "4";
				tegra_sinterface = TEGRA_SINTERFACE;
				phy_mode = "DPHY";
				discontinuous_clk = "no";
				dpcm_enable = "false";
				cil_settletime = "0";
                                    dynamic_pixel_bit_depth = "8";
                                    csi_pixel_bit_depth = "8";
                                    mode_type = "yuv";
                                    pixel_phase = "yuyv";


				active_w = "1280";
				active_h = "960";
				readout_orientation = "0";
				line_length = "2560";
				inherent_gain = "1";
				pix_clk_hz = "74250000";
				serdes_pix_clk_hz = "200000000";

				gain_factor = "10";
				min_gain_val = "0"; /* dB */
				max_gain_val = "300"; /* dB */
				step_gain_val = "3"; /* 0.3 */
				default_gain = "0";
				min_hdr_ratio = "1";
				max_hdr_ratio = "1";
				framerate_factor = "1000000";
				min_framerate = "30000000";
				max_framerate = "30000000";
				step_framerate = "1";
				default_framerate = "30000000";
				exposure_factor = "1000000";
				min_exp_time = "59"; /*us, 2 lines*/
				max_exp_time = "33333";
				step_exp_time = "1";
				default_exp_time = "33333";/* us */
				embedded_metadata_height = "0";

                            };

                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234_ar0234_out2: endpoint {
                                                    vc-id = <2>;
                                                    port-index = <0>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234_csi_in2>;
                                                    };
                                            };
                                    };
                            gmsl-link {
                                    src-csi-port = "b";
                                    dst-csi-port = "a";
                                    serdes-csi-link = "c";
                                    csi-mode = "1x4";
                                    vc-id = <2>;
                                    st-vc = <0>;
                                    num-lanes = <4>;
                                    streams = "ued-u1", "raw12";
                                    };
                            };


ar0234_d@14 {
			compatible = "onsemi,ar0234";
                            reg = <0x14>;
 			 status = "okay";
                            /* Physical dimensions of sensor */
                            physical_w = "15.0";
                            physical_h = "12.5";

                            sensor_model ="ar0234";

                            /* Defines number of frames to be dropped by driver internally after applying */
                            /* sensor crop settings. Some sensors send corrupt frames after applying */
                            /* crop co-ordinates */
                            post_crop_frame_drop = "0";

                            /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
                            use_decibel_gain = "true";

                            /* enable CID_SENSOR_MODE_ID for sensor modes selection */
                            use_sensor_mode_id = "true";



                            mode0 {/*mode IMX424_MODE_3840X1080_CROP_30FPS*/
			vc_id = "3";
				mclk_khz = "24000";
				num_lanes = "4";
				tegra_sinterface = TEGRA_SINTERFACE;
				phy_mode = "DPHY";
				discontinuous_clk = "no";
				dpcm_enable = "false";
				cil_settletime = "0";
                                    dynamic_pixel_bit_depth = "8";
                                    csi_pixel_bit_depth = "8";
                                    mode_type = "yuv";
                                    pixel_phase = "yuyv";


				active_w = "1280";
				active_h = "960";
				readout_orientation = "0";
				line_length = "2560";
				inherent_gain = "1";
				pix_clk_hz = "74250000";
				serdes_pix_clk_hz = "200000000";

				gain_factor = "10";
				min_gain_val = "0"; /* dB */
				max_gain_val = "300"; /* dB */
				step_gain_val = "3"; /* 0.3 */
				default_gain = "0";
				min_hdr_ratio = "1";
				max_hdr_ratio = "1";
				framerate_factor = "1000000";
				min_framerate = "30000000";
				max_framerate = "30000000";
				step_framerate = "1";
				default_framerate = "30000000";
				exposure_factor = "1000000";
				min_exp_time = "59"; /*us, 2 lines*/
				max_exp_time = "33333";
				step_exp_time = "1";
				default_exp_time = "33333";/* us */
				embedded_metadata_height = "0";

                            };

                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234_ar0234_out3: endpoint {
                                                    vc-id = <3>;
                                                    port-index = <0>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234_csi_in3>;
                                                    };
                                            };
                                    };
                            gmsl-link {
                                    src-csi-port = "b";
                                    dst-csi-port = "a";
                                    serdes-csi-link = "d";
                                    csi-mode = "1x4";
                                    vc-id = <3>;
                                    st-vc = <0>;
                                    num-lanes = <4>;
                                    streams = "ued-u1", "raw12";
                                    };
                            };
    };


i2c@3180000 {
		ar0234b_a@11 {
			compatible = "onsemi,ar0234b";

			reg = <0x11>;
 			 status = "okay";
			/* Physical dimensions of sensor */
			physical_w = "15.0";
			physical_h = "12.5";

			sensor_model ="ar0234";

			/* Defines number of frames to be dropped by driver internally after applying */
			/* sensor crop settings. Some sensors send corrupt frames after applying */
			/* crop co-ordinates */
			post_crop_frame_drop = "0";

			/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
			use_decibel_gain = "true";

			/* enable CID_SENSOR_MODE_ID for sensor modes selection */
			use_sensor_mode_id = "true";



			mode0 {/*mode AR0234_MODE_1280X720_CROP_30FPS*/
			vc_id = "1";
                                    mclk_khz = "24000";
                                    num_lanes = "4";
                                    tegra_sinterface = TEGRA_SINTERFACE;
                                    phy_mode = "DPHY";
                                    discontinuous_clk = "no";
                                    dpcm_enable = "false";
                                    cil_settletime = "0";
                                    dynamic_pixel_bit_depth = "16";
                                    csi_pixel_bit_depth = "16";
                                    mode_type = "yuv";
                                    pixel_phase = "uyvy";  //yuyv uyvy


				active_w = "1920";
				active_h = "1080";
				readout_orientation = "0";
				line_length = "2200";
				inherent_gain = "1";
				pix_clk_hz = "74250000";
				serdes_pix_clk_hz = "297000000";

				gain_factor = "10";
				min_gain_val = "0"; /* dB */
				max_gain_val = "300"; /* dB */
				step_gain_val = "3"; /* 0.3 */
				default_gain = "0";
				min_hdr_ratio = "1";
				max_hdr_ratio = "1";
				framerate_factor = "1000000";
				min_framerate = "30000000";
				max_framerate = "30000000";
				step_framerate = "1";
				default_framerate = "30000000";
				exposure_factor = "1000000";
				min_exp_time = "59"; /*us, 2 lines*/
				max_exp_time = "33333";
				step_exp_time = "1";
				default_exp_time = "33333";/* us */
				embedded_metadata_height = "0";

			};

			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					ar0234b_ar0234_out0: endpoint {
						vc-id = <1>;
						port-index = <0>;
						bus-width = <4>;
						remote-endpoint = <&ar0234b_csi_in0>;
						};
					};
				};
			gmsl-link {
				src-csi-port = "b";
				dst-csi-port = "c";
				serdes-csi-link = "a";
				csi-mode = "1x4";
				st-vc = <0>;
				vc-id = <1>;
				num-lanes = <4>;
				streams = "ued-u1", "raw12";
				};
			};

	ar0234b_b@12 {
			compatible = "onsemi,ar0234b";
                            reg = <0x12>;
 			 status = "okay";
                            /* Physical dimensions of sensor */
                            physical_w = "15.0";
                            physical_h = "12.5";

                            sensor_model ="ar0234";

                            /* Defines number of frames to be dropped by driver internally after applying */
                            /* sensor crop settings. Some sensors send corrupt frames after applying */
                            /* crop co-ordinates */
                            post_crop_frame_drop = "0";

                            /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
                            use_decibel_gain = "true";

                            /* enable CID_SENSOR_MODE_ID for sensor modes selection */
                            use_sensor_mode_id = "true";


                            mode0 {/*mode AR0234_MODE_1280X720_CROP_30FPS*/
			vc_id = "0";
			                                        mclk_khz = "24000";
                                    num_lanes = "4";
                                    tegra_sinterface = TEGRA_SINTERFACE;
                                    phy_mode = "DPHY";
                                    discontinuous_clk = "no";
                                    dpcm_enable = "false";
                                    cil_settletime = "0";
                                    dynamic_pixel_bit_depth = "16";
                                    csi_pixel_bit_depth = "16";
                                    mode_type = "yuv";
                                    pixel_phase = "uyvy";  //yuyv uyvy


				active_w = "1920";
				active_h = "1080";
				readout_orientation = "0";
				line_length = "2200";
				inherent_gain = "1";
				pix_clk_hz = "74250000";
				serdes_pix_clk_hz = "297000000";

				gain_factor = "10";
				min_gain_val = "0"; /* dB */
				max_gain_val = "300"; /* dB */
				step_gain_val = "3"; /* 0.3 */
				default_gain = "0";
				min_hdr_ratio = "1";
				max_hdr_ratio = "1";
				framerate_factor = "1000000";
				min_framerate = "30000000";
				max_framerate = "30000000";
				step_framerate = "1";
				default_framerate = "30000000";
				exposure_factor = "1000000";
				min_exp_time = "59"; /*us, 2 lines*/
				max_exp_time = "33333";
				step_exp_time = "1";
				default_exp_time = "33333";/* us */
				embedded_metadata_height = "0";

                            };

                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234b_ar0234_out1: endpoint {
                                                    vc-id = <0>;
                                                    port-index = <2>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234b_csi_in1>;
                                                    };
                                            };
                                    };
                            gmsl-link {
                                    src-csi-port = "b";
                                    dst-csi-port = "c";
                                    serdes-csi-link = "b";
                                    csi-mode = "1x4";
                                    st-vc = <0>;
                                    vc-id = <0>;
                                    num-lanes = <4>;
                                    streams = "ued-u1", "raw12";
                                    };
                            };



ar0234b_c@13 {
			compatible = "onsemi,ar0234b";

                            reg = <0x13>;
 			 status = "okay";
                            /* Physical dimensions of sensor */
                            physical_w = "15.0";
                            physical_h = "12.5";

                            sensor_model ="ar0234";

                            /* Defines number of frames to be dropped by driver internally after applying */
                            /* sensor crop settings. Some sensors send corrupt frames after applying */
                            /* crop co-ordinates */
                            post_crop_frame_drop = "0";

                            /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
                            use_decibel_gain = "true";

                            /* enable CID_SENSOR_MODE_ID for sensor modes selection */
                            use_sensor_mode_id = "true";



                            mode0 {/*mode AR0234_MODE_1280X720_CROP_30FPS*/
			vc_id = "2";
                                    mclk_khz = "24000";
                                    num_lanes = "4";
                                    tegra_sinterface = TEGRA_SINTERFACE;
                                    phy_mode = "DPHY";
                                    discontinuous_clk = "no";
                                    dpcm_enable = "false";
                                    cil_settletime = "0";
                                    dynamic_pixel_bit_depth = "16";
                                    csi_pixel_bit_depth = "16";
                                    mode_type = "yuv";
                                    pixel_phase = "uyvy";  //yuyv uyvy


				active_w = "1920";
				active_h = "1080";
				readout_orientation = "0";
				line_length = "2200";
				inherent_gain = "1";
				pix_clk_hz = "74250000";
				serdes_pix_clk_hz = "297000000";

				gain_factor = "10";
				min_gain_val = "0"; /* dB */
				max_gain_val = "300"; /* dB */
				step_gain_val = "3"; /* 0.3 */
				default_gain = "0";
				min_hdr_ratio = "1";
				max_hdr_ratio = "1";
				framerate_factor = "1000000";
				min_framerate = "30000000";
				max_framerate = "30000000";
				step_framerate = "1";
				default_framerate = "30000000";
				exposure_factor = "1000000";
				min_exp_time = "59"; /*us, 2 lines*/
				max_exp_time = "33333";
				step_exp_time = "1";
				default_exp_time = "33333";/* us */
				embedded_metadata_height = "0";

                            };

                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234b_ar0234_out2: endpoint {
                                                    vc-id = <2>;
                                                    port-index = <2>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234b_csi_in2>;
                                                    };
                                            };
                                    };
                            gmsl-link {
                                    src-csi-port = "b";
                                    dst-csi-port = "c";
                                    serdes-csi-link = "c";
                                    csi-mode = "1x4";
                                    vc-id = <2>;
                                    st-vc = <0>;
                                    num-lanes = <4>;
                                    streams = "ued-u1", "raw12";
                                    };
                            };


ar0234b_d@14 {

			compatible = "onsemi,ar0234b";

                            reg = <0x14>;
 			 status = "okay";
                            /* Physical dimensions of sensor */
                            physical_w = "15.0";
                            physical_h = "12.5";

                            sensor_model ="ar0234";

                            /* Defines number of frames to be dropped by driver internally after applying */
                            /* sensor crop settings. Some sensors send corrupt frames after applying */
                            /* crop co-ordinates */
                            post_crop_frame_drop = "0";

                            /* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
                            use_decibel_gain = "true";

                            /* enable CID_SENSOR_MODE_ID for sensor modes selection */
                            use_sensor_mode_id = "true";



                            mode0 {/*mode AR0234_MODE_1280X720_CROP_30FPS*/
			vc_id = "3";
			                                        mclk_khz = "24000";
                                    num_lanes = "4";
                                    tegra_sinterface = TEGRA_SINTERFACE;
                                    phy_mode = "DPHY";
                                    discontinuous_clk = "no";
                                    dpcm_enable = "false";
                                    cil_settletime = "0";
                                    dynamic_pixel_bit_depth = "16";
                                    csi_pixel_bit_depth = "16";
                                    mode_type = "yuv";
                                    pixel_phase = "uyvy";  //yuyv uyvy


				active_w = "1920";
				active_h = "1080";
				readout_orientation = "0";
				line_length = "2200";
				inherent_gain = "1";
				pix_clk_hz = "74250000";
				serdes_pix_clk_hz = "297000000";

				gain_factor = "10";
				min_gain_val = "0"; /* dB */
				max_gain_val = "300"; /* dB */
				step_gain_val = "3"; /* 0.3 */
				default_gain = "0";
				min_hdr_ratio = "1";
				max_hdr_ratio = "1";
				framerate_factor = "1000000";
				min_framerate = "30000000";
				max_framerate = "30000000";
				step_framerate = "1";
				default_framerate = "30000000";
				exposure_factor = "1000000";
				min_exp_time = "59"; /*us, 2 lines*/
				max_exp_time = "33333";
				step_exp_time = "1";
				default_exp_time = "33333";/* us */
				embedded_metadata_height = "0";

                            };

                            ports {
                                    #address-cells = <1>;
                                    #size-cells = <0>;
                                    port@0 {
                                            reg = <0>;
                                            ar0234b_ar0234_out3: endpoint {
                                                    vc-id = <3>;
                                                    port-index = <2>;
                                                    bus-width = <4>;
                                                    remote-endpoint = <&ar0234b_csi_in3>;
                                                    };
                                            };
                                    };
                            gmsl-link {
                                    src-csi-port = "b";
                                    dst-csi-port = "c";
                                    serdes-csi-link = "d";
                                    csi-mode = "1x4";
                                    vc-id = <3>;
                                    st-vc = <0>;
                                    num-lanes = <4>;
                                    streams = "ued-u1", "raw12";
                                    };
			};

	};

};
/ {

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 = <15000000>;
	min_bits_per_pixel = <10>;
	vi_peak_byte_per_pixel = <2>;
	vi_bw_margin_pct = <25>;
	isp_peak_byte_per_pixel = <5>;
	isp_bw_margin_pct = <25>;

	/**
	 * The general guideline for naming badge_info contains 3 parts, and is as follows,
	 * The first part is the camera_board_id for the module; if the module is in a FFD
	 * platform, then use the platform name for this part.
	 * The second part contains the position of the module, ex. "rear" or "front".
	 * The third part contains the last 6 characters of a part number which is found
	 * in the module's specsheet from the vender.
	 */
	modules {
		module0 {
			badge = "ar0234_bottomleft";
			position = "bottomleft";
			orientation = "1";
			drivernode0 {
				/* Declare PCL support driver (classically known as guid)  */
				pcl_id = "v4l2_sensor";
				/* Driver v4l2 device name */
				devname = "ar0234 30-0018";
				/* Declare the device-tree hierarchy to driver instance */
				proc-device-tree = "/proc/device-tree/i2c@c250000/ar0234_a@11";
			};
		};
                    module1 {
                            badge = "ar0234_bottomright";
                            position = "bottomright";
                            orientation = "1";
                            drivernode0 {
                                    /* Declare PCL support driver (classically known as guid)  */
                                    pcl_id = "v4l2_sensor";
                                    /* Driver v4l2 device name */
                                    devname = "ar0234 30-0010";
                                    /* Declare the device-tree hierarchy to driver instance */
				proc-device-tree = "/proc/device-tree/i2c@c250000/ar0234_b@12";
                                    };
                    };
                    module2 {
                            badge = "ar0234_centerleft";
                            position = "centerleft";
                            orientation = "1";
                            drivernode0 {
                                    /* Declare PCL support driver (classically known as guid)  */
                                    pcl_id = "v4l2_sensor";
                                    /* Driver v4l2 device name */
                                     devname = "ar0234 31-0018";
				proc-device-tree = "/proc/device-tree/i2c@c250000/ar0234_c@13";
                            };
                    };
                    module3 {
                            badge = "ar0234_centerright";
                            position = "centerright";
                            orientation = "1";
                            drivernode0 {
                                     /* Declare PCL support driver (classically known as guid)  */
                                    pcl_id = "v4l2_sensor";
                                    /* Driver v4l2 device name */
                                    devname = "ar0234 31-0010";
                                    /* Declare the device-tree hierarchy to driver instance */
				proc-device-tree = "/proc/device-tree/i2c@c250000/ar0234_d@14";
                            };
                    };


		module4 {
			badge = "ar0234b_bottomleft";
			position = "bottomleft";
			orientation = "1";
			drivernode0 {
				/* Declare PCL support driver (classically known as guid)  */
				pcl_id = "v4l2_sensor";
				/* Driver v4l2 device name */
				devname = "ar0234b 30-0018";
				/* Declare the device-tree hierarchy to driver instance */
				proc-device-tree = "/proc/device-tree/i2c@3180000/ar0234b_a@11";
			};
		};
                    module5 {
                            badge = "ar0234b_bottomright";
                            position = "bottomright";
                            orientation = "1";
                            drivernode0 {
                                    /* Declare PCL support driver (classically known as guid)  */
                                    pcl_id = "v4l2_sensor";
                                    /* Driver v4l2 device name */
                                    devname = "ar0234b 30-0010";
                                    /* Declare the device-tree hierarchy to driver instance */
				proc-device-tree = "/proc/device-tree/i2c@3180000/ar0234b_b@12";
                                    };
                    };
                    module6 {
                            badge = "ar0234b_centerleft";
                            position = "centerleft";
                            orientation = "1";
                            drivernode0 {
                                    /* Declare PCL support driver (classically known as guid)  */
                                    pcl_id = "v4l2_sensor";
                                    /* Driver v4l2 device name */
                                     devname = "ar0234b 31-0018";
				proc-device-tree = "/proc/device-tree/i2c@3180000/ar0234b_c@13";
                            };
                    };
                    module7 {
                            badge = "ar0234b_centerright";
                            position = "centerright";
                            orientation = "1";
                            drivernode0 {
                                     /* Declare PCL support driver (classically known as guid)  */
                                    pcl_id = "v4l2_sensor";
                                    /* Driver v4l2 device name */
                                    devname = "ar0234b 31-0010";
                                    /* Declare the device-tree hierarchy to driver instance */
				proc-device-tree = "/proc/device-tree/i2c@3180000/ar0234b_d@14";
                            };
                    };



	};
};

};

(2)Yes, we have two max96712, each connected to 4 lanes, totaling 8 lanes

(3)Yes, there are 8 nodes; When displaying images, they are displayed according to the VC id attribute, which I think should be the correct configuration

(4)I have tried resetting the csi2 output of the max96712 deserializer, and there has been some improvement, but it has not been resolved

do you still seeing NULL VI channel received when you execute v4l to fetch the stream?
which video node you’ll see such failure? is it random?

Yes, all channels may appear,is it random.

However, if there are channels that can be displayed, then look at the channels that did not have images before, and there are images displayed again.

@JerryChang ?

Is there a problem with my configuration?

hello 305248199,

port bindings looks correct.
however, it looks you still duplicate the position property…

since you’ve eight camera in the system, that default setting is invalid for your use-case.
hence, could you please try using the hex values (i.e. 0,1,2,3…D,E,F) to report module position.

The current issue is under ar0234b !!!!

may I know what’s the failure? any error logs for reference?

When displaying images normally, there is no such kernel log, and when not displaying images, the kernel log is displayed

[2023/5/17 15:20:32] [ 337.125457] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 1,csi_port- 2
[2023/5/17 15:20:32] [ 337.125956] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[2023/5/17 15:20:35] [ 339.647864] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[2023/5/17 15:20:35] [ 339.648178] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[2023/5/17 15:20:35] [ 339.648713] (NULL device *): vi_capture_control_message: NULL VI channel received
[2023/5/17 15:20:35] [ 339.648965] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=2, csi_port=2
[2023/5/17 15:20:35] [ 339.649304] (NULL device *): vi_capture_control_message: NULL VI channel received
[2023/5/17 15:20:35] [ 339.649542] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 2 vc- 1,csi_port- 2
[2023/5/17 15:20:35] [ 339.650088] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel

hello 305248199,

please double examine your device tree settings…
apparently, you’ve define the wrong port-index for ar0234b_a@11.