TC358748 SOF timeout

Hi,
On my tx2 board, Tc358748 has connected to TX2 CSI2 (port-index=0),
my dtsi is:

/ {
	host1x {
		vi@15700000 {
			num-channels = <1>;
			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					liimx274_vi_in0: endpoint {
						port-index = <0>;
						bus-width = <1>;
						remote-endpoint = <&liimx274_csi_out0>;
					};
				};
			};
		};

		nvcsi@150c0000 {
			num-channels = <1>;
			#address-cells = <1>;
			#size-cells = <0>;
			channel@0 {
				reg = <0>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						liimx274_csi_in0: endpoint@0 {
							port-index = <0>;
							bus-width = <1>;
							remote-endpoint = <&liimx274_imx274_out0>;
						};
					};
					port@1 {
						reg = <1>;
						liimx274_csi_out0: endpoint@1 {
							remote-endpoint = <&liimx274_vi_in0>;
						};
					};
				};
			};
		};
	};

	i2c@c240000 {
			imx274_a@0e {
				compatible = "nvidia,imx274";
				/* I2C device address */
				reg = <0x0e>;

				/* V4L2 device node location */
				devnode = "video0";

				/* Physical dimensions of sensor */
				physical_w = "3.674";
				physical_h = "2.738";

				sensor_model = "imx274";

				/* Define any required hw resources needed by driver */
				/* ie. clocks, io pins, power sources */
				avdd-reg = "vana";
				iovdd-reg = "vif";

				/* 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";*/

				/* if true, delay gain setting by one frame to be in sync with exposure */
				delayed_gain = "true";

				has-eeprom;
				fuse_id_start_addr = <91>;

				/**
				* ==== Modes ====
				* A modeX node is required to support v4l2 driver
				* implementation with NVIDIA camera software stack
				*
				* == Signal properties ==
				*
				* phy_mode = "";
				* PHY mode used by the MIPI lanes for this device
				*
				* tegra_sinterface = "";
				* CSI Serial interface connected to tegra
				* Incase of virtual HW devices, use virtual
				* For SW emulated devices, use host
				*
				* pix_clk_hz = "";
				* Sensor pixel clock used for calculations like exposure and framerate
				*
				* readout_orientation = "0";
				* Based on camera module orientation.
				* Only change readout_orientation if you specifically
				* Program a different readout order for this mode
				*
				* == Image format Properties ==
				*
				* active_w = "";
				* Pixel active region width
				*
				* active_h = "";
				* Pixel active region height
				*
				* pixel_t = "";
				* The sensor readout pixel pattern
				*
				* line_length = "";
				* Pixel line length (width) for sensor mode.
				*
				* == Source Control Settings ==
				*
				* Gain factor used to convert fixed point integer to float
				* Gain range [min_gain/gain_factor, max_gain/gain_factor]
				* Gain step [step_gain/gain_factor is the smallest step that can be configured]
				* Default gain [Default gain to be initialized for the control.
                                       *     use min_gain_val as default for optimal results]
				* Framerate factor used to convert fixed point integer to float
				* Framerate range [min_framerate/framerate_factor, max_framerate/framerate_factor]
				* Framerate step [step_framerate/framerate_factor is the smallest step that can be configured]
				* Default Framerate [Default framerate to be initialized for the control.
                                       *     use max_framerate to get required performance]
				* Exposure factor used to convert fixed point integer to float
				* For convenience use 1 sec = 1000000us as conversion factor
				* Exposure range [min_exp_time/exposure_factor, max_exp_time/exposure_factor]
				* Exposure step [step_exp_time/exposure_factor is the smallest step that can be configured]
				* Default Exposure Time [Default exposure to be initialized for the control.
                                       *     Set default exposure based on the default_framerate for optimal exposure settings]
				* For convenience use 1 sec = 1000000us as conversion factor
				*
				* gain_factor = ""; (integer factor used for floating to fixed point conversion)
				* min_gain_val = ""; (ceil to integer)
				* max_gain_val = ""; (ceil to integer)
				* step_gain_val = ""; (ceil to integer)
				* default_gain = ""; (ceil to integer)
				* Gain limits for mode
				*
				* exposure_factor = ""; (integer factor used for floating to fixed point conversion)
				* min_exp_time = ""; (ceil to integer)
				* max_exp_time = ""; (ceil to integer)
				* step_exp_time = ""; (ceil to integer)
				* default_exp_time = ""; (ceil to integer)
				* Exposure Time limits for mode (sec)
				*
				* framerate_factor = ""; (integer factor used for floating to fixed point conversion)
				* min_framerate = ""; (ceil to integer)
				* max_framerate = ""; (ceil to integer)
				* step_framerate = ""; (ceil to integer)
				* default_framerate = ""; (ceil to integer)
				* Framerate limits for mode (fps)
				*
				* embedded_metadata_height = "";
				* Sensor embedded metadata height in units of rows.
				* If sensor does not support embedded metadata value should be 0.

				* num_of_exposure = "";
				* Digital overlap(Dol) frames
				*
				* num_of_ignored_lines = "";
				* Used for cropping, eg. OB lines + Ignored area of effective pixel lines
				*
				* num_of_lines_offset_0 = "";
				* Used for cropping, vertical blanking in front of short exposure data
				* If more Dol frames are used, it can be extended, eg. num_of_lines_offset_1
				*
				* num_of_ignored_pixels = "";
				* Used for cropping, The length of line info(pixels)
				*
				* num_of_left_margin_pixels = "";
				* Used for cropping, the size of the left edge margin before
				* the active pixel area (after ignored pixels)
				*
				* num_of_right_margin_pixels = "";
				* Used for cropping, the size of the right edge margin after
				* the active pixel area
				*/
				mode0 { // IMX274_MODE_3840X2160
					mclk_khz = "24000";
					num_lanes = "1";
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";

					active_w = "960";
					active_h = "487";
					mode_type = "yuv";
					pixel_phase = "yuyv";
					csi_pixel_bit_depth = "16";
					readout_orientation = "0";
					line_length = "1144";
					inherent_gain = "1";
					mclk_multiplier = "3";
					pix_clk_hz = "92000000";

					gain_factor = "1000000";
					min_gain_val = "1000000";
					max_gain_val = "44400000";
					step_gain_val = "1";
					default_gain = "1000000";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1000000";
					min_framerate = "3200000";
					max_framerate = "32000000";
					step_framerate = "1";
					default_framerate= "32000000";
					exposure_factor = "1000000";
					min_exp_time = "44";
					max_exp_time = "478696";
					step_exp_time = "1";
					default_exp_time = "16667";/* us */
					embedded_metadata_height = "1";
				};
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					port@0 {
						reg = <0>;
						liimx274_imx274_out0: endpoint {
							port-index = <0>;
							bus-width = <1>;
							remote-endpoint = <&liimx274_csi_in0>;
							};
						};
					};
				};
			};
	lens_imx274@A6V26 {
		min_focus_distance = "0.0";
		hyper_focal = "0.0";
		focal_length = "5.00";
		f_number = "2.0";
		aperture = "2.2";
	};
};

/ {

	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 = <1>;
		max_lane_speed = <1500000>;
		min_bits_per_pixel = <10>;
		vi_peak_byte_per_pixel = <2>;
		vi_bw_margin_pct = <25>;
		max_pixel_rate = <750000>;
		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 = "imx274_bottom_A6V26";
				position = "rear";
				orientation = "1";
				drivernode0 {
					/* Declare PCL support driver (classically known as guid)  */
					pcl_id = "v4l2_sensor";
					/* Driver v4l2 device name */
					devname = "imx274 2-000e";
					/* Declare the device-tree hierarchy to driver instance */
					proc-device-tree = "/proc/device-tree/i2c@c240000/imx274_a@0e";
				};
				drivernode1 {
					/* Declare PCL support driver (classically known as guid)  */
					pcl_id = "v4l2_lens";
					proc-device-tree = "/proc/device-tree/lens_imx274@A6V26/";
				};
			};
		};
	};
};

and we use tc358748 colbar function to generate mipi output single, the wav as blow

we got SOF timeout error after execute “v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=3”
the error messages as blow:

root@amoymn:/sys/kernel/debug/dynamic_debug# [   73.153515] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   73.160186] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   73.401550] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   73.408250] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   73.419081] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   73.427066] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   73.649494] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   73.656070] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   73.666705] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   73.674776] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   73.893446] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   73.899958] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   73.910082] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   73.918163] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   74.141540] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   74.148057] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   74.158713] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   74.166637] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   74.385454] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   74.391972] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   74.402199] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   74.410149] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   74.633405] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   74.639912] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   74.650506] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   74.658482] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   74.877426] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   74.883950] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   74.894160] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   74.902103] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   75.125427] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   75.131941] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   75.142039] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   75.150041] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   75.373454] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   75.379970] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   75.390580] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   75.398639] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   75.617472] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   75.623985] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   75.634132] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   75.642043] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   75.865640] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   75.872196] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   75.882500] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   75.890588] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   76.109397] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   76.116004] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   76.127329] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   76.135380] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   76.357411] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   76.364109] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   76.375346] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   76.383344] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004
[   76.605400] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[   76.611985] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[   76.623216] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) INTR_STATUS 0x00000004
[   76.631134] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERR_INTR_STATUS 0x00000004

I have changed cil_settletime,embedded_metadata_hieght,discontinuous_clk, but still got timeout error!
how can I probe the problem correctly?

Should csi2 be port-index = 2 ?
Do you check the trace log?

Sorry, I mean csi port-index=0

What type of log should I trace? How to enable tracing?

Check this
https://elinux.org/Jetson/l4t/Camera_BringUp

I enabled debug messages, got SOF timeout error,

tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  299.693170] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  299.705345] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC0 = 0x00000002
[  299.714136] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC1 = 0x00000008
[  299.726672] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC0 = 0x00000002
[  299.735549] nvcsi 150c0000.nvcsi: csi4_stream_check_status (0) ERROR_STATUS2VI_VC1 = 0x00000008

I have no idea how to probe and solve this problem!

Apply below patch to try.

I modified <nvidia/drivers/media/platform/tegra/camera/csi/csi4_fops.c>
image
and modified embedded_metadata_height=“4”

jetson@amoymn:~$ cat /proc/device-tree/i2c@c240000/imx274_a@0e/mode0/embedded_metadata_height 
4
jetson@amoymn:~$

I got these error messages:

[  148.987462] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  148.994075] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  149.207838] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  149.214381] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  149.428270] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  149.434846] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  149.648580] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  149.655126] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  149.868973] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  149.875467] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  150.089385] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  150.095879] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  150.309662] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  150.316102] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  150.530182] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  150.536722] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  150.750517] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  150.757005] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  150.970850] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  150.977352] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  151.191266] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  151.197768] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  151.411592] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  151.418173] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  151.631965] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  151.638447] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  151.852252] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  151.858757] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  152.072596] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  152.079074] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  152.293003] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  152.299497] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  152.513307] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  152.519862] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel
[  152.733763] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  152.740397] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel

Does it the MIPI timing mismatch?

Yes, the trace log tell didn’t receive any validate data from MIPI bus.

Hi,
this is the MIPI wav, it seems the MIPI timing is right

Can you check the trace log.

sudo su
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 1 > /sys/kernel/debug/tracing/events/camera_common/enable
echo > /sys/kernel/debug/tracing/trace

v4l2-ctl to capture

cat /sys/kernel/debug/tracing/trace

Hi,
I checked, its tc358748 mipi output problem…

Hi, I got some mipi errors as below while capuring camera data:

     kworker/4:1-7481  [004] ....  4696.919665: rtos_queue_send_failed: tstamp:147038297424 queue:0x0b4a7258
     kworker/4:1-7481  [004] ....  4696.919666: rtcpu_vinotify_event: tstamp:147038299153 tag:CSIMUX_STREAM channel:0xff frame:0 vi_tstamp:147038297812 data:0x00000100
     kworker/4:1-7481  [004] ....  4696.975787: rtcpu_vinotify_event: tstamp:147038886288 tag:CHANSEL_SHORT_FRAME channel:0x04 frame:0 vi_tstamp:147038885195 data:0x00000001
     kworker/4:1-7481  [004] ....  4696.975804: rtcpu_vinotify_event: tstamp:147038887392 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:147038885198 data:0x00000001
     kworker/4:1-7481  [004] ....  4696.975813: rtcpu_vinotify_event: tstamp:147039407482 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:147039406597 data:0x000000a2
     kworker/4:1-7481  [004] ....  4696.975819: rtcpu_vinotify_event: tstamp:147039925586 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:147039924705 data:0x000000a2
     kworker/4:1-7481  [004] ....  4696.975844: rtos_queue_peek_from_isr_failed: tstamp:147040073472 queue:0x0b4b4500
     kworker/4:1-7481  [004] ....  4697.031823: rtcpu_vinotify_event: tstamp:147040961786 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:147040960913 data:0x000000a2
     kworker/4:1-7481  [004] ....  4697.031841: rtcpu_vinotify_event: tstamp:147041479880 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:147041479011 data:0x000000a2
     kworker/4:1-7481  [004] ....  4697.087706: rtcpu_vinotify_event: tstamp:147042516085 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:147042515213 data:0x000000a2
     kworker/4:1-7481  [004] ....  4697.147196: rtcpu_vinotify_event: tstamp:147044070387 tag:CSIMUX_FRAME channel:0x00 frame:0 vi_tstamp:147044069514 data:0x000000a2

I do not what these errors means…

This error could be the embedded_metadata_height incorrect in DTS, Make sure how many embedded data line output from sensor to modify it.

On MIPI CSI, What is the min/max time between Frame Start Packet and First Packet of Data?
image

It’s the THS-EXIT in MIPI PHY spec, minimum is 100ns.