How to decode CHANSEL_SHORT_FRAME

hi nvidia:
hwo to decode CHANSEL_SHORT_FRAME ?
trace.txt (566.7 KB)

 kworker/0:7-779     [000] .......   160.424896: rtcpu_vinotify_event: tstamp:5609894967 cch:-1 vi:0 tag:CHANSEL_NOMATCH channel:0xc1 frame:0 vi_tstamp:179516446528 data:0x00000000000003c9
 kworker/0:7-779     [000] .......   160.424896: rtcpu_vinotify_event: tstamp:5609895099 cch:-1 vi:0 tag:CHANSEL_NOMATCH channel:0x81 frame:0 vi_tstamp:179516452416 data:0x00000000000003c9
 kworker/0:7-779     [000] .......   160.424897: rtcpu_vinotify_event: tstamp:5610209550 cch:-1 vi:0 tag:FS channel:0x01 frame:0 vi_tstamp:179516512576 data:0x0000000000000010
 kworker/0:7-779     [000] .......   160.424897: rtcpu_vinotify_event: tstamp:5610209685 cch:-1 vi:0 tag:CHANSEL_NOMATCH channel:0x41 frame:0 vi_tstamp:179516557088 data:0x00000000000003c9
 kworker/0:7-779     [000] .......   160.424898: rtcpu_vinotify_error: tstamp:5610889300 cch:-1 vi:0 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:179548390176 data:0x0000000000000001
 kworker/0:7-779     [000] .......   160.424898: rtcpu_vinotify_error: tstamp:5610889724 cch:-1 vi:0 tag:CSIMUX_STREAM channel:0x00 frame:3 vi_tstamp:179548401920 data:0x0000000000000001
 kworker/0:7-779     [000] .......   160.424898: rtcpu_vinotify_error: tstamp:5610890128 cch:-1 vi:0 tag:CSIMUX_STREAM channel:0x00 frame:2 vi_tstamp:179548407808 data:0x0000000000000001
 kworker/0:7-779     [000] .......   160.424899: rtcpu_vinotify_error: tstamp:5610892019 cch:-1 vi:0 tag:CSIMUX_STREAM channel:0x00 frame:1 vi_tstamp:179548512704 data:0x0000000000000001
 kworker/0:7-779     [000] .......   160.424899: rtcpu_vinotify_event: tstamp:5610893115 cch:0 vi:0 tag:FE channel:0x00 frame:0 vi_tstamp:179548389664 data:0x0000000000000020
 kworker/0:7-779     [000] .......   160.424899: rtcpu_vinotify_event: tstamp:5610893254 cch:0 vi:0 tag:CHANSEL_SHORT_FRAME channel:0x01 frame:0 vi_tstamp:179548389664 data:0x02cf200001000000
 kworker/0:7-779     [000] .......   160.424900: rtcpu_vinotify_event: tstamp:5610893408 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:179548398880 data:0x0000000001020003
 kworker/0:7-779     [000] .......   160.424900: rtcpu_vinotify_event: tstamp:5610893546 cch:0 vi:0 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:179548389696 data:0x0000000800000000
 kworker/0:7-779     [000] .......   160.424900: rtcpu_vinotify_event: tstamp:5610893701 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:179548410048 data:0x0000000007020004
 kworker/0:7-779     [000] .......   160.424901: rtcpu_vinotify_event: tstamp:5610893837 cch:-1 vi:0 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:179548390176 data:0x0000000000000001

Hi,

For the camera basic functionality first needs to check the device and driver configuration.
You can reference to below program guide for the detailed information of device tree and driver implementation.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=programing#sensor-software-driver-programming

Please refer to Applications Using V4L2 IOCTL Directly by using V4L2 IOCTL to verify basic camera functionality.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=programing#to-run-a-v4l2-ctl-test

Once confirm the configure and still failed below link help to get log and some information and some tips for debug.
https://elinux.org/Jetson/l4t/Camera_BringUp#Steps_to_enable_more_debug_messages

Thanks!

hello helianyi,

CHANSEL_SHORT_FRAME, it may due to insufficient data coming from sensor.
but… your bit-31:28 shows 0, which to indicate there’s 0 lines has recognize by VI engine.
the real issue is likely mismatch pixel format.

may I know what’s the sensor format types, and what’s your device tree configuration.

sensor format is uyvy

dts:

			cam_group0_a@50 {
				compatible = "sy,senyun";
				def-addr = <0x1a>;
				/* Define any required hw resources needed by driver */
				/* ie. clocks, io pins, power sources */
				clocks = <&bpmp TEGRA234_CLK_EXTPERIPH1>,
						<&bpmp TEGRA234_CLK_EXTPERIPH1>;
				clock-names = "extperiph1", "pllp_grtba";
				mclk = "extperiph1";
				nvidia,gmsl-ser-device = <&ser_a>;
				nvidia,gmsl-dser-device = <&dser>;
				reset-gpios = <&gpio CAM0_RST_L GPIO_ACTIVE_HIGH>;
				reg = <0x45>;
				devnode = "video0";
				/* Physical dimensions of sensor */
				physical_w = "15.0";
				physical_h = "12.5";
				sensor_model ="senyun";
				/* 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";
				/*avdd-reg = "vana";*/
				/*iovdd-reg = "vif";*/
				delayed_gain = "true";
				/* enable CID_SENSOR_MODE_ID for sensor modes selection */
				use_sensor_mode_id = "false";
				status = "okay";
				/*vana-supply = <&p3737_avdd_cam_2v8>;*/
				/*vif-supply = <&p3737_vdd_1v8_sys>;*/
				/**
				* A modeX node is required to support v4l2 driver
				* implementation with NVIDIA camera software stack
				*
				* mclk_khz = "";
				* Standard MIPI driving clock, typically 24MHz
				*
				* num_lanes = "";
				* Number of lane channels sensor is programmed to output
				*
				* tegra_sinterface = "";
				* The base tegra serial interface lanes are connected to
				*
				* vc_id = "";
				* The virtual channel id of the sensor.
				*
				* discontinuous_clk = "";
				* The sensor is programmed to use a discontinuous clock on MIPI lanes
				*
				* dpcm_enable = "true";
				* The sensor is programmed to use a DPCM modes
				*
				* cil_settletime = "";
				* MIPI lane settle time value.
				* A "0" value attempts to autocalibrate based on mclk_khz and pix_clk_hz
				*
				* active_w = "";
				* Pixel active region width
				*
				* active_h = "";
				* Pixel active region height
				*
				* dynamic_pixel_bit_depth = "";
				* sensor dynamic bit depth for sensor mode
				*
				* csi_pixel_bit_depth = "";
				* sensor output bit depth for sensor mode
				*
				* mode_type="";
				* Sensor mode type, For eg: yuv, Rgb, bayer, bayer_wdr_pwl
				*
				* pixel_phase="";
				* Pixel phase for sensor mode, For eg: rggb, vyuy, rgb888
				*
				* readout_orientation = "0";
				* Based on camera module orientation.
				* Only change readout_orientation if you specifically
				* Program a different readout order for this mode
				*
				* line_length = "";
				* Pixel line length (width) for sensor mode.
				* This is used to calibrate features in our camera stack.
				*
				* pix_clk_hz = "";
				* Sensor pixel clock used for calculations like exposure and framerate
				*
				*
				*
				*
				* inherent_gain = "";
				* Gain obtained inherently from mode (ie. pixel binning)
				*
				* min_gain_val = ""; (floor to 6 decimal places)
				* max_gain_val = ""; (floor to 6 decimal places)
				* Gain limits for mode
				* if use_decibel_gain = "true", please set the gain as decibel
				*
				* min_exp_time = ""; (ceil to integer)
				* max_exp_time = ""; (ceil to integer)
				* Exposure Time limits for mode (us)
				*
				*
				* min_hdr_ratio = "";
				* max_hdr_ratio = "";
				* HDR Ratio limits for mode
				*
				* min_framerate = "";
				* max_framerate = "";
				* Framerate limits for mode (fps)
				*
				* embedded_metadata_height = "";
				* Sensor embedded metadata height in units of rows.
				* If sensor does not support embedded metadata value should be 0.
				*/
				mode0 {/*mode AR0233_MODE_1920X1080_CROP_30FPS*/
					mclk_khz = "24000";
					num_lanes = "4";
					tegra_sinterface = "serial_a";
					vc_id = "0";
					phy_mode = "CPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = "0";
					dynamic_pixel_bit_depth = "16";
					csi_pixel_bit_depth = "16";
					mode_type = "yuv";
					pixel_phase = "uyvy";
					active_w = "1280";
					active_h = "720";
					readout_orientation = "0";
					line_length = "1280";
					inherent_gain = "1";
					mclk_multiplier = "2.592";
					pix_clk_hz = "62208000";
					/*serdes_pix_clk_hz = "450000000";*//*DPHY 1800 DPLL*/
					/*serdes_pix_clk_hz = "1028571400";*/ /*CPHY 1800 DPLL*/
					serdes_pix_clk_hz = "1428571400"; /*CPHY 2500 DPLL*/
					/*serdes_pix_clk_hz = "857142000";*/ /*CPHY 1500 DPLL*/
					/*serdes_pix_clk_hz = "375000000";*/ /*DPHY 1500 DPLL*/
					/*serdes_pix_clk_hz = "741000000";*//*CPHY 1300 DPLL*/
					gain_factor = "1000000";
					min_gain_val = "1000000"; /* dB */
					max_gain_val = "48000000"; /* dB */
					step_gain_val = "1"; /* 0.3 */
					default_gain = "1000000";
					min_hdr_ratio = "1";
					max_hdr_ratio = "1";
					framerate_factor = "1";
					min_framerate = "30";
					max_framerate = "30";
					step_framerate = "1";
					default_framerate = "30";
					exposure_factor = "1000000";
					min_exp_time = "110"; /*us, 2 lines*/
					max_exp_time = "166577";
					step_exp_time = "1";
					default_exp_time = "166577";/* us */
					embedded_metadata_height = "1";
				};

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

sensor is 1280x720 uyvy, but Orin only recv 1280x719 video :

hello helianyi,

is your sensor output embedded metadata line?

otherwise, please configure embedded_metadata_height = "0"; for confirmation.

hi nvidia:
I contact with camera vendor to get new camera reg setting, now, I can get 720 lines, thanks !

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