Camera with serdes (MAX96705/MA9296)

my camera works fine on other embedded system(xilinx Zynq).
I’m trying to connect my camera to Xavier AGX with same configurations.

L4T version : L4T-32.2.1

video out : YUV422 format , 1280x1080@25fps (OV490 ISP is used)
in point of view in Xavier’s MIPI CSI input, video format is YUYV 16bit format.

MAX9296 : 4-lane, 500 Mbps.

Camera’s sensor & ISP works free-run by itself without any control, it need to ser/des initialize only.
i made driver and dts like that.
there is a driver of MAX9296 inside L4T, but i didn’t use that.
i tried this:

v4l2-ctl --set-fmt-video=width=1280,height=1080,pixelformat=YUYV --stream-mmap --stream-count=1 -d /dev/video0 --stream-to=ov490.raw --verbose

# tracer: nop
#
# entries-in-buffer/entries-written: 425/425   #P:4
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
     kworker/0:1-987   [000] ....   108.743023: rtos_queue_peek_from_isr_failed: tstamp:3723139862 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   108.855022: rtos_queue_peek_from_isr_failed: tstamp:3728139862 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   109.023039: rtos_queue_peek_from_isr_failed: tstamp:3733139867 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   109.190999: rtos_queue_peek_from_isr_failed: tstamp:3738139864 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   109.358992: rtos_queue_peek_from_isr_failed: tstamp:3743139864 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   109.526982: rtos_queue_peek_from_isr_failed: tstamp:3748139864 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   109.694977: rtos_queue_peek_from_isr_failed: tstamp:3753139868 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   109.862964: rtos_queue_peek_from_isr_failed: tstamp:3758139864 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   109.974959: rtos_queue_peek_from_isr_failed: tstamp:3763139873 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   110.142962: rtos_queue_peek_from_isr_failed: tstamp:3768139867 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   110.310968: rtos_queue_peek_from_isr_failed: tstamp:3773139880 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   110.478952: rtos_queue_peek_from_isr_failed: tstamp:3778139864 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   110.646941: rtos_queue_peek_from_isr_failed: tstamp:3783139867 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   110.814935: rtos_queue_peek_from_isr_failed: tstamp:3788139864 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   110.982952: rtos_queue_peek_from_isr_failed: tstamp:3793139860 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   111.094926: rtos_queue_peek_from_isr_failed: tstamp:3798139864 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   111.262921: rtos_queue_peek_from_isr_failed: tstamp:3803139863 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   111.430902: rtos_queue_peek_from_isr_failed: tstamp:3808139871 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   111.598908: rtos_queue_peek_from_isr_failed: tstamp:3813139868 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   111.766889: rtos_queue_peek_from_isr_failed: tstamp:3818139867 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   111.934886: rtos_queue_peek_from_isr_failed: tstamp:3823139863 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   112.102874: rtos_queue_peek_from_isr_failed: tstamp:3828139867 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   112.214872: rtos_queue_peek_from_isr_failed: tstamp:3833139863 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   112.382862: rtos_queue_peek_from_isr_failed: tstamp:3838139867 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   112.550870: rtos_queue_peek_from_isr_failed: tstamp:3843139864 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   112.718858: rtos_queue_peek_from_isr_failed: tstamp:3848139864 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   112.774864: rtos_queue_peek_from_isr_failed: tstamp:3849560274 queue:0x0bcbcf78
        v4l2-ctl-8694  [003] ....   184.338466: tegra_channel_open: vi-output, ov490 30-0048
        v4l2-ctl-8694  [003] ....   184.341092: tegra_channel_set_power: ov490 30-0048 : 0x1
        v4l2-ctl-8694  [003] ....   184.341116: camera_common_s_power: status : 0x1
        v4l2-ctl-8694  [003] ....   184.351875: tegra_channel_set_power: 15a00000.nvcsi--1 : 0x1
        v4l2-ctl-8694  [003] ....   184.351886: csi_s_power: enable : 0x1
        v4l2-ctl-8694  [003] ....   184.362504: tegra_channel_capture_setup: vnc_id 0 W 1280 H 1080 fmt 10
        v4l2-ctl-8694  [001] ....   184.377258: tegra_channel_set_stream: enable : 0x1
        v4l2-ctl-8694  [000] ....   184.387946: tegra_channel_set_stream: 15a00000.nvcsi--1 : 0x1
        v4l2-ctl-8694  [000] ....   184.387954: csi_s_stream: enable : 0x1
        v4l2-ctl-8694  [000] ....   184.387998: tegra_channel_set_stream: ov490 30-0048 : 0x1
     kworker/0:1-987   [000] ....   184.401615: rtos_queue_peek_from_isr_failed: tstamp:6088156353 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   184.401621: rtcpu_start: tstamp:6088159291
     kworker/0:1-987   [000] ....   184.401624: rtos_queue_send_from_isr_failed: tstamp:6088275382 queue:0x0bcb41f8
     kworker/0:1-987   [000] ....   184.401629: rtos_queue_send_from_isr_failed: tstamp:6088275607 queue:0x0bcb8a60
     kworker/0:1-987   [000] ....   184.401631: rtos_queue_send_from_isr_failed: tstamp:6088275829 queue:0x0bcba5e0
     kworker/0:1-987   [000] ....   184.401632: rtos_queue_send_from_isr_failed: tstamp:6088276048 queue:0x0bcbb3a0
     kworker/0:1-987   [000] ....   184.401633: rtos_queue_send_from_isr_failed: tstamp:6088276267 queue:0x0bcbc160
     kworker/0:1-987   [000] ....   184.401636: rtcpu_string: tstamp:6088276896 id:0x04010000 str:"Configuring VI GoS.
"
     kworker/0:1-987   [000] ....   184.401655: rtcpu_string: tstamp:6088277163 id:0x04010000 str:"VM GOS[#0] addr=0xc2100000
"
     kworker/0:1-987   [000] ....   184.401665: rtcpu_string: tstamp:6088277491 id:0x04010000 str:"VM GOS[#1] addr=0xc2101000
"
     kworker/0:1-987   [000] ....   184.401678: rtcpu_string: tstamp:6088277853 id:0x04010000 str:"VM GOS[#2] addr=0xc2102000
"
     kworker/0:1-987   [000] ....   184.401716: rtcpu_string: tstamp:6088278159 id:0x04010000 str:"VM GOS[#3] addr=0xc2103000
"
     kworker/0:1-987   [000] ....   184.401752: rtcpu_string: tstamp:6088278465 id:0x04010000 str:"VM GOS[#4] addr=0xc2104000
"
     kworker/0:1-987   [000] ....   184.401771: rtcpu_string: tstamp:6088278771 id:0x04010000 str:"VM GOS[#5] addr=0xc2105000
"
     kworker/0:1-987   [000] ....   184.401791: rtcpu_string: tstamp:6088286873 id:0x04010000 str:"vi5_hwinit: firmware CL2018101701 protocol versi"
     kworker/0:1-987   [000] ....   184.401794: rtcpu_string: tstamp:6088287067 id:0x04010000 str:"on 2.2
"
     kworker/0:1-987   [000] ....   184.401810: rtos_queue_send_from_isr_failed: tstamp:6088314259 queue:0x0bcb41f8
     kworker/0:1-987   [000] ....   184.401812: rtos_queue_send_from_isr_failed: tstamp:6088314521 queue:0x0bcb8a60
     kworker/0:1-987   [000] ....   184.401813: rtos_queue_send_from_isr_failed: tstamp:6088314750 queue:0x0bcba5e0
     kworker/0:1-987   [000] ....   184.401815: rtos_queue_send_from_isr_failed: tstamp:6088314970 queue:0x0bcbb3a0
     kworker/0:1-987   [000] ....   184.401816: rtos_queue_send_from_isr_failed: tstamp:6088315190 queue:0x0bcbc160
     kworker/0:1-987   [000] ....   184.401817: rtcpu_string: tstamp:6088316376 id:0x04010000 str:"VI GOS[#0] set to VM GOS[4] base 0xc2104000
"
     kworker/0:1-987   [000] ....   184.401832: rtos_queue_send_from_isr_failed: tstamp:6088719790 queue:0x0bcb41f8
     kworker/0:1-987   [000] ....   184.401834: rtos_queue_send_from_isr_failed: tstamp:6088719939 queue:0x0bcb8a60
     kworker/0:1-987   [000] ....   184.401835: rtos_queue_send_from_isr_failed: tstamp:6088720092 queue:0x0bcba5e0
     kworker/0:1-987   [000] ....   184.401836: rtos_queue_send_from_isr_failed: tstamp:6088720239 queue:0x0bcbb3a0
     kworker/0:1-987   [000] ....   184.401838: rtos_queue_send_from_isr_failed: tstamp:6088720384 queue:0x0bcbc160
     kworker/0:1-987   [000] ....   184.401840: rtcpu_nvcsi_intr: tstamp:6088722954 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000001
     kworker/0:1-987   [000] ....   184.401842: rtcpu_vinotify_error: tstamp:6088730680 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:6088727772 data:0x00000001
     kworker/0:1-987   [000] ....   184.401845: rtcpu_vinotify_event: tstamp:6088749675 tag:RESERVED_18 channel:0x23 frame:0 vi_tstamp:5847601632 data:0x10000000
     kworker/0:1-987   [000] ....   184.401846: rtcpu_vinotify_event: tstamp:6088749820 tag:RESERVED_18 channel:0x23 frame:0 vi_tstamp:5847605472 data:0x31000001
     kworker/0:1-987   [000] ....   184.401847: rtcpu_vinotify_event: tstamp:6088749982 tag:RESERVED_19 channel:0x23 frame:0 vi_tstamp:5847606464 data:0x07020001
     kworker/0:1-987   [000] ....   184.401849: rtcpu_vinotify_event: tstamp:6088750118 tag:RESERVED_18 channel:0x23 frame:0 vi_tstamp:5847663776 data:0x10000000
     kworker/0:1-987   [000] ....   184.401850: rtcpu_vinotify_event: tstamp:6088750277 tag:RESERVED_18 channel:0x23 frame:0 vi_tstamp:5847667616 data:0x31000002
     kworker/0:1-987   [000] ....   184.401851: rtcpu_vinotify_event: tstamp:6088750423 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:6088727772 data:0x00000001
     kworker/0:1-987   [000] ....   184.457592: rtcpu_vinotify_error: tstamp:6089667557 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:6089664673 data:0x00000001
     kworker/0:1-987   [000] ....   184.457599: rtos_queue_send_from_isr_failed: tstamp:6089667862 queue:0x0bcb41f8
     kworker/0:1-987   [000] ....   184.457601: rtos_queue_send_from_isr_failed: tstamp:6089668019 queue:0x0bcb8a60
     kworker/0:1-987   [000] ....   184.457602: rtos_queue_send_from_isr_failed: tstamp:6089668172 queue:0x0bcba5e0
     kworker/0:1-987   [000] ....   184.457604: rtos_queue_send_from_isr_failed: tstamp:6089668317 queue:0x0bcbb3a0
     kworker/0:1-987   [000] ....   184.457605: rtos_queue_send_from_isr_failed: tstamp:6089668461 queue:0x0bcbc160
     kworker/0:1-987   [000] ....   184.457608: rtcpu_vinotify_event: tstamp:6089834777 tag:FS channel:0x00 frame:0 vi_tstamp:6089647937 data:0x00000010
     kworker/0:1-987   [000] ....   184.457610: rtcpu_vinotify_event: tstamp:6089834925 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:6089647940 data:0x00000000
     kworker/0:1-987   [000] ....   184.457611: rtcpu_vinotify_event: tstamp:6089835085 tag:FE channel:0x00 frame:0 vi_tstamp:6089651737 data:0x00000020
     kworker/0:1-987   [000] ....   184.457612: rtcpu_vinotify_event: tstamp:6089835225 tag:CHANSEL_SHORT_FRAME channel:0x01 frame:0 vi_tstamp:6089651738 data:0x01000000
     kworker/0:1-987   [000] ....   184.457639: rtcpu_vinotify_event: tstamp:6089835385 tag:RESERVED_19 channel:0x23 frame:0 vi_tstamp:5890312224 data:0x01020001
     kworker/0:1-987   [000] ....   184.457640: rtcpu_vinotify_event: tstamp:6089835527 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:6089651740 data:0x00000000
     kworker/0:1-987   [000] ....   184.457642: rtcpu_vinotify_event: tstamp:6089835694 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:6089664673 data:0x00000001
     kworker/0:1-987   [000] ....   184.513568: rtcpu_vinotify_event: tstamp:6090905190 tag:FS channel:0x00 frame:0 vi_tstamp:6090898167 data:0x00000010
     kworker/0:1-987   [000] ....   184.513571: rtcpu_vinotify_event: tstamp:6090905357 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:6090898170 data:0x00000000
     kworker/0:1-987   [000] ....   184.513573: rtcpu_vinotify_event: tstamp:6090905500 tag:FE channel:0x00 frame:0 vi_tstamp:6090901966 data:0x00000020
     kworker/0:1-987   [000] ....   184.513574: rtcpu_vinotify_error: tstamp:6090917812 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:6090914903 data:0x00000001
     kworker/0:1-987   [000] ....   184.513576: rtcpu_vinotify_event: tstamp:6091408090 tag:CHANSEL_SHORT_FRAME channel:0x01 frame:0 vi_tstamp:6090901967 data:0x01000000
     kworker/0:1-987   [000] ....   184.513577: rtcpu_vinotify_event: tstamp:6091408234 tag:RESERVED_19 channel:0x23 frame:0 vi_tstamp:5930325536 data:0x01020001
     kworker/0:1-987   [000] ....   184.513578: rtcpu_vinotify_event: tstamp:6091408396 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:6090901969 data:0x00000000
     kworker/0:1-987   [000] ....   184.513580: rtcpu_vinotify_event: tstamp:6091408539 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:6090914903 data:0x00000001
     kworker/0:1-987   [000] ....   184.513581: rtcpu_vinotify_error: tstamp:6092168042 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:6092165131 data:0x00000001
     kworker/0:1-987   [000] ....   184.513582: rtcpu_vinotify_event: tstamp:6092493059 tag:FS channel:0x00 frame:0 vi_tstamp:6092148396 data:0x00000010
     kworker/0:1-987   [000] ....   184.513584: rtcpu_vinotify_event: tstamp:6092493198 tag:FE channel:0x00 frame:0 vi_tstamp:6092152196 data:0x00000020
     kworker/0:1-987   [000] ....   184.513585: rtcpu_vinotify_event: tstamp:6092493364 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:6092165131 data:0x00000001
     kworker/0:1-987   [000] ....   184.569562: rtos_queue_peek_from_isr_failed: tstamp:6093156739 queue:0x0bcbcf78
     kworker/0:1-987   [000] ....   184.569571: rtcpu_vinotify_error: tstamp:6093418277 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:6093415361 data:0x00000001
     kworker/0:1-987   [000] ....   184.569573: rtcpu_vinotify_event: tstamp:6093578032 tag:FS channel:0x00 frame:0 vi_tstamp:6093398626 data:0x00000010
     kworker/0:1-987   [000] ....   184.569574: rtcpu_vinotify_event: tstamp:6093578204 tag:FE channel:0x00 frame:0 vi_tstamp:6093402424 data:0x00000020

MIPI signal is good at point of Xavier CSI input ( same as my Xilinx system)
It’s a first time to use Xavier, i’m not friend with Xavier development environments.
Please, advise me which part is wrong.

The log show the short frame. That tells the output size less than expect. You can adjust the active_h in device tree to debug it.

tag:CHANSEL_SHORT_FRAME

here is my dt setting.

    mode0 { 
				mclk_khz = "24000";
				num_lanes = "4"; 
				tegra_sinterface = "serial_a";
				phy_mode = "DPHY";
				discontinuous_clk = "no";
				dpcm_enable = "false";
				cil_settletime = "0";

				active_w = "1280";
				active_h = "1080";
				dynamic_pixel_bit_depth = "16";
				csi_pixel_bit_depth = "16";
				mode_type = "yuv";
				pixel_phase = "yuyv";
				pixel_t = "yuv_yuyv16";
				readout_orientation = "0";
				line_length = "1577";
				inherent_gain = "1";
				mclk_multiplier = "2";
				pix_clk_hz = "48000000";
				serdes_pix_clk_hz = "500000000";

				min_gain_val = "1.0";
				max_gain_val = "64";
				gain_step_pitch = "0.1";
				min_hdr_ratio = "1";
				max_hdr_ratio = "1";
				min_framerate = "3";
				max_framerate = "30";
				min_exp_time = "30";
				max_exp_time = "333000";
				embedded_metadata_height = "0";
			};
			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				port@0 {
					reg = <0>;
					liov490_ov490_out0: endpoint {
						port-index = <0>;
						bus-width = <4>;
						remote-endpoint = <&liov490_csi_in0>;
						};
					};
				};
			};

tegra-camera-platform {
		compatible = "nvidia, tegra-camera-platform";
		num_csi_lanes = <4>;
		max_lane_speed = <1500000>;
		min_bits_per_pixel = <16>;
		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>;

		modules {

			module0 {
				badge = "ov490_center_main";
				position = "center";
				orientation = "1";
				drivernode0 {
					/* Declare PCL support driver (classically known as guid)  */
					pcl_id = "v4l2_sensor";
					/* Driver v4l2 device name */
					devname = "ov490 30-0010";
					/* Declare the device-tree hierarchy to driver instance */
					proc-device-tree = "/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/ov490_a@48";
				};
			};

		};
	};

i used ISP inside camera, maybe some of that are not affect to this try.
(but i don’t know what is that exactly)
but, this camera works correctly other system, i think active_w, active_h are correct value.
could you check any point in dt?

Please try to reduce the active_h one by one to try. Or you can try reduce a bigger value then to check the log if the short frame disappear and show others error.

i found the point. it’s working fine. thank you for your help.