MIPI CSI-2 Driver Development

Hello,
I’am new to the Jetson Platform and using Jetson Xavier AGX, We have a mipi camera sensor which has MIPI CSI Interface, we interfaced the mipi lanes to the JEtson Xavier AGX development kit, we got the I2C register settings from the sensor vendor and we configured it from the terminal and its successful. My doubt here is after initialising the sensor via I2C how to check whether the sensor is enumerated or not. Usually in USB/UVC based camera modules it will be enumerated as Video0 device, but in MIPI Interface how to check that. Do we need to develop custom drivers even to capture raw image from the sensor without any ISP pipeline? If yes How to start the driver development for MIPI Interface?

Thanks!

1 Like

hello revanth.a,

it’ll also generate video nodes, (i.e. /dev/video0) while sensor drivers were probe correctly.
here’re Approaches for Validating and Testing the V4L2 Driver you may refer to for the commands to access your camera stream.

FYI,
please refer to Sensor Software Driver Programming Guide, for the documentation of sensor driver development.
there’s a Tutorials page, you may expand [Developer Tools] session and check the V4L2 Sensor Driver Development Tutorial training video for reference.
thanks

@JerryChang
Thanks for your help, I will work on it and get back to you in this thread if i face with any issues.

@JerryChang
Here is what we tried
We are using a camera sensor ovoh02a10 from omni similar to ov5693, so first we forceloaded the driver to be enabled and it is working fine, now we are creating files similar to ov5693 and checking it.
We have commented the plugin manager and included the new dtsi file
we are using 12c1 and ov5693 uses i2c2 so we replaced i2c@3180000 with i2c@c240000 and in driver files /media/i2c created the ovoh02a10.c file and updated in kconfig and make file

In the terminal now iam getting the error

rev@rev-desktop:~$ dmesg | grep -i ‘ovoh’
[ 1.116697] i2c i2c-2: of_i2c: modalias failure on /i2c@3180000/ovoh02a10_c@36
[ 1.116753] i2c i2c-2: Failed to create I2C device for /i2c@3180000/ovoh02a10_c@36

to confirm the port i used i2c detect and my sensor is been detected at address 0x36 as shown below

rev@rev-desktop:~$ i2cdetect -y 1
Warning: Can’t use SMBus Quick Write command, will skip some addresses
0 1 2 3 4 5 6 7 8 9 a b c d e f
00:
10:
20:
30: – – – – – – 36 –
40:
50: – – – – – – – – – – – – – – – –
60:
70:

I have attache the log file for your reference log.txtlog.txt (83.5 KB)

and the files

sources/kernel/kernel/drivers/media (media.zip) media.zip (544.7 KB)
sources/kernel/hardware/nvidia/t19x (t19x.zip) t19x.zip (548.0 KB)

Kindly letus know what is the issue

hello revanth.a,

it seems your camera device did not registered to linux kernel as a video node correctly.
please review the sensor driver probing process. it’ll power-on camera sensor and parse the sensor capabilities.
you may also access Tutorials page, please expand [Developer Tools] session and check the training video for [ V4L2 Sensor Driver Development Tutorial] for reference.
thanks

Hello @JerryChang and @ShaneCCC ,
Now we were able to enumarate our sensor as video0 device, what we did is, we used the same ov5693 device-tree and driver files and changed the i2c port , pixel clock values , sensor active height and width according to our sensors datasheet, in the modetable avalable at driver files location (ov5693_mode_tbls.h) we chaged the register configuration as per our sensors datasheet. but out problem is were not able to get video from gst-launch and error says no camera found

rev@rev-desktop:~$ gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! xvimagesink
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:532 No cameras available
Got EOS from element “pipeline0”.
Execution ended after 0:00:00.405248477
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …

Here we are power cycling the camera manually in the moduleitself and clock we are using external 24MHZ so no gpio from Xavier is connected to module. In demesg we are getting following error

 tegra-slvs-ec 15ac0000.slvs-ec: probe failed
[    1.899989] tegra-slvs-ec 15ac0000.slvs-ec: probe failed: -19

Other that this rest of the things looks fine in dmesg

[ 8.336160] ov5693 1-0036: probing v4l2 sensor.
[ 8.336914] ov5693 1-0036: tegracam sensor driver:ov5693_v2.0.6
[ 8.336919] ov5693 1-0036: ov5693_board_setup++
[ 8.337257] ov5693 1-0036: ov5693_power_on: power on
[ 13.300531] ov5693 1-0036: ov5693_power_off: power off
[ 13.303993] tegra194-vi5 15c10000.vi: subdev ov5693 1-0036 bound
[ 13.312907] ov5693 1-0036: Detected OV5693 sensor
[ 13.315563] ov5693 1-0036: ov5693_open:
[ 13.316303] ov5693 1-0036: ov5693_power_on: power on
[ 13.322284] ov5693 1-0036: ov5693_power_off: power off
[ 603.035516] ov5693 1-0036: ov5693_power_on: power on
[ 603.043669] ov5693 1-0036: ov5693_power_off: power off
[ 627.807240] ov5693 1-0036: ov5693_power_on: power on
[ 627.814444] ov5693 1-0036: ov5693_power_off: power off
[ 627.880523] ov5693 1-0036: ov5693_power_on: power on
[ 627.884984] ov5693 1-0036: ov5693_power_off: power off
[ 628.058887] ov5693 1-0036: ov5693_power_on: power on
[ 628.066256] ov5693 1-0036: ov5693_power_off: power off
[ 628.105216] ov5693 1-0036: ov5693_power_on: power on
[ 628.109884] ov5693 1-0036: ov5693_power_off: power off

[ 1.784286] t194-nvcsi 15a00000.nvcsi: initialized
[ 6.261477] tegra194-vi5 15c10000.vi: subdev 15a00000.nvcsi–1 bound

Note : Our sensor dosent have any EEPROM. Current consumed by the module was around 20mA before driver initialization but after driver initialization and enumaration as video0 device the camera was consuming 80mA also we read back the register what we have written and the i2c write was proper.

We dint make any change to the GPIO / master clock setting as we are using external one and those pins are not connected to sensor. Sensors CSI lines are connected CSI0 - D0,D1,CLK pins of xavier

Could you help us to know why camera image is not streaming?

Did you confirm the sensor driver by v4l2-ctl first.

v4l2-ctl --stream-mmap --stream-count=10 -d /dev/video0

Hello @ShaneCCC and @JerryChang
No response in terminal after giving the command
v4l2-ctl --stream-mmap --stream-count=10 -d /dev/video0

Not even any error message, tried to interrupt the operation using ctrl-c still it dosent comes out of it.

Looks like driver configure or HW have problem to capture data from the sensor.
Have modify the count to 1 and get the trace log to check.

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
cat /sys/kernel/debug/tracing/trace

launch v4l2-ctl command
cat /sys/kernel/debug/tracing/trace

Hello @ShaneCCC and @JerryChang

v4l2-ctl-10427 [002] ....  1020.694675: tegra_channel_open: vi-output, ov5693 1-0036
        v4l2-ctl-10427 [000] ....  1020.697646: tegra_channel_set_power: ov5693 1-0036 : 0x1
        v4l2-ctl-10427 [000] ....  1020.697676: camera_common_s_power: status : 0x1
        v4l2-ctl-10427 [000] ....  1020.702312: tegra_channel_set_power: 15a00000.nvcsi--1 : 0x1
        v4l2-ctl-10427 [000] ....  1020.702321: csi_s_power: enable : 0x1
        v4l2-ctl-10427 [003] ....  1020.712327: tegra_channel_close: vi-output, ov5693 1-0036
        v4l2-ctl-10427 [003] ....  1020.712336: tegra_channel_set_power: ov5693 1-0036 : 0x0
        v4l2-ctl-10427 [003] ....  1020.712348: camera_common_s_power: status : 0x0
        v4l2-ctl-10427 [000] ....  1020.714704: tegra_channel_set_power: 15a00000.nvcsi--1 : 0x0
        v4l2-ctl-10427 [000] ....  1020.714711: csi_s_power: enable : 0x0

We received these message, change the count from 10 to 1 “v4l2-ctl --stream-mmap --stream-count=1 -d /dev/video0”

Looks like not whole message, there’s no any VI notify message here.

Hello @ShaneCCC and @JerryChang

Kindly fing the fully attached message

root@rev-desktop:/sys/kernel# cat debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 114/114   #P:4
#
#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
        v4l2-ctl-12051 [000] ....  1905.729640: tegra_channel_open: vi-output, ov5693 1-0036
        v4l2-ctl-12051 [000] ....  1905.731746: tegra_channel_set_power: ov5693 1-0036 : 0x1
        v4l2-ctl-12051 [000] ....  1905.731820: camera_common_s_power: status : 0x1
        v4l2-ctl-12051 [000] ....  1905.736570: tegra_channel_set_power: 15a00000.nvcsi--1 : 0x1
        v4l2-ctl-12051 [000] ....  1905.736580: csi_s_power: enable : 0x1
        v4l2-ctl-12051 [000] ....  1905.748913: tegra_channel_capture_setup: vnc_id 0 W 1920 H 1080 fmt c4
        v4l2-ctl-12051 [000] ....  1905.762388: tegra_channel_set_stream: enable : 0x1
        v4l2-ctl-12051 [001] ....  1905.771188: tegra_channel_set_stream: 15a00000.nvcsi--1 : 0x1
        v4l2-ctl-12051 [001] ....  1905.771197: csi_s_stream: enable : 0x1
        v4l2-ctl-12051 [001] ....  1905.771208: tegra_channel_set_stream: ov5693 1-0036 : 0x1
     kworker/0:2-10141 [000] ....  1905.812834: rtos_queue_peek_from_isr_failed: tstamp:59873466566 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1905.812842: rtcpu_start: tstamp:59873470151
     kworker/0:2-10141 [000] ....  1905.812845: rtos_queue_send_from_isr_failed: tstamp:59873587439 queue:0x0bcb41f8
     kworker/0:2-10141 [000] ....  1905.812846: rtos_queue_send_from_isr_failed: tstamp:59873587668 queue:0x0bcb8a60
     kworker/0:2-10141 [000] ....  1905.812886: rtos_queue_send_from_isr_failed: tstamp:59873587890 queue:0x0bcba5e0
     kworker/0:2-10141 [000] ....  1905.812888: rtos_queue_send_from_isr_failed: tstamp:59873588109 queue:0x0bcbb3a0
     kworker/0:2-10141 [000] ....  1905.812889: rtos_queue_send_from_isr_failed: tstamp:59873588328 queue:0x0bcbc160
     kworker/0:2-10141 [000] ....  1905.812891: rtcpu_string: tstamp:59873589005 id:0x04010000 str:"Configuring VI GoS.
"
     kworker/0:2-10141 [000] ....  1905.812949: rtcpu_string: tstamp:59873589279 id:0x04010000 str:"VM GOS[#0] addr=0xc2100000
"
     kworker/0:2-10141 [000] ....  1905.812963: rtcpu_string: tstamp:59873589609 id:0x04010000 str:"VM GOS[#1] addr=0xc2101000
"
     kworker/0:2-10141 [000] ....  1905.812976: rtcpu_string: tstamp:59873589981 id:0x04010000 str:"VM GOS[#2] addr=0xc2102000
"
     kworker/0:2-10141 [000] ....  1905.812988: rtcpu_string: tstamp:59873590290 id:0x04010000 str:"VM GOS[#3] addr=0xc2103000
"
     kworker/0:2-10141 [000] ....  1905.812999: rtcpu_string: tstamp:59873590597 id:0x04010000 str:"VM GOS[#4] addr=0xc2104000
"
     kworker/0:2-10141 [000] ....  1905.813011: rtcpu_string: tstamp:59873590906 id:0x04010000 str:"VM GOS[#5] addr=0xc2105000
"
     kworker/0:2-10141 [000] ....  1905.813023: rtcpu_string: tstamp:59873599036 id:0x04010000 str:"vi5_hwinit: firmware CL2018101701 protocol versi"
     kworker/0:2-10141 [000] ....  1905.813025: rtcpu_string: tstamp:59873599233 id:0x04010000 str:"on 2.2
"
     kworker/0:2-10141 [000] ....  1905.813037: rtos_queue_send_from_isr_failed: tstamp:59873629407 queue:0x0bcb41f8
     kworker/0:2-10141 [000] ....  1905.813039: rtos_queue_send_from_isr_failed: tstamp:59873629666 queue:0x0bcb8a60
     kworker/0:2-10141 [000] ....  1905.813040: rtos_queue_send_from_isr_failed: tstamp:59873629895 queue:0x0bcba5e0
     kworker/0:2-10141 [000] ....  1905.813041: rtos_queue_send_from_isr_failed: tstamp:59873630114 queue:0x0bcbb3a0
     kworker/0:2-10141 [000] ....  1905.813043: rtos_queue_send_from_isr_failed: tstamp:59873630332 queue:0x0bcbc160
     kworker/0:2-10141 [000] ....  1905.813044: rtcpu_string: tstamp:59873631515 id:0x04010000 str:"VI GOS[#0] set to VM GOS[4] base 0xc2104000
"
     kworker/0:2-10141 [000] ....  1905.813056: rtos_queue_send_from_isr_failed: tstamp:59873908419 queue:0x0bcb41f8
     kworker/0:2-10141 [000] ....  1905.813057: rtos_queue_send_from_isr_failed: tstamp:59873908599 queue:0x0bcb8a60
     kworker/0:2-10141 [000] ....  1905.813059: rtos_queue_send_from_isr_failed: tstamp:59873908768 queue:0x0bcba5e0
     kworker/0:2-10141 [000] ....  1905.813060: rtos_queue_send_from_isr_failed: tstamp:59873908926 queue:0x0bcbb3a0
     kworker/0:2-10141 [000] ....  1905.813061: rtos_queue_send_from_isr_failed: tstamp:59873909083 queue:0x0bcbc160
     kworker/0:2-10141 [000] ....  1905.813064: rtcpu_vinotify_event: tstamp:59874056886 tag:RESERVED_18 channel:0x23 frame:0 vi_tstamp:60530373536 data:0x10000000
     kworker/0:2-10141 [000] ....  1905.813065: rtcpu_vinotify_event: tstamp:59874057043 tag:RESERVED_18 channel:0x23 frame:0 vi_tstamp:60530377376 data:0x31000001
     kworker/0:2-10141 [000] ....  1905.813067: rtcpu_vinotify_event: tstamp:59874057218 tag:RESERVED_19 channel:0x23 frame:0 vi_tstamp:60530378368 data:0x07020001
     kworker/0:2-10141 [000] ....  1905.813068: rtcpu_vinotify_event: tstamp:59874057366 tag:RESERVED_18 channel:0x23 frame:0 vi_tstamp:60530435648 data:0x10000000
     kworker/0:2-10141 [000] ....  1905.813070: rtcpu_vinotify_event: tstamp:59874057536 tag:RESERVED_18 channel:0x23 frame:0 vi_tstamp:60530439520 data:0x31000002
     kworker/0:2-10141 [000] ....  1905.924814: rtos_queue_peek_from_isr_failed: tstamp:59878466938 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1906.092822: rtos_queue_peek_from_isr_failed: tstamp:59883466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1906.260838: rtos_queue_peek_from_isr_failed: tstamp:59888466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1906.428827: rtos_queue_peek_from_isr_failed: tstamp:59893466937 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1906.596796: rtos_queue_peek_from_isr_failed: tstamp:59898466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1906.764785: rtos_queue_peek_from_isr_failed: tstamp:59903466938 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1906.932792: rtos_queue_peek_from_isr_failed: tstamp:59908466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1907.044763: rtos_queue_peek_from_isr_failed: tstamp:59913466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1907.212789: rtos_queue_peek_from_isr_failed: tstamp:59918466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1907.380762: rtos_queue_peek_from_isr_failed: tstamp:59923466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1907.548813: rtos_queue_peek_from_isr_failed: tstamp:59928466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1907.716762: rtos_queue_peek_from_isr_failed: tstamp:59933466938 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1907.884757: rtos_queue_peek_from_isr_failed: tstamp:59938466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1908.052725: rtos_queue_peek_from_isr_failed: tstamp:59943466938 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1908.164727: rtos_queue_peek_from_isr_failed: tstamp:59948466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1908.332729: rtos_queue_peek_from_isr_failed: tstamp:59953466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1908.500781: rtos_queue_peek_from_isr_failed: tstamp:59958466934 queue:0x0bcbcf78
 vi-output, ov56-12053 [000] ....  1908.507340: tegra_channel_capture_setup: vnc_id 0 W 1920 H 1080 fmt c4
     kworker/0:2-10141 [000] ....  1908.556714: rtos_queue_send_from_isr_failed: tstamp:59959349412 queue:0x0bcb41f8
     kworker/0:2-10141 [000] ....  1908.556720: rtos_queue_send_from_isr_failed: tstamp:59959349574 queue:0x0bcb8a60
     kworker/0:2-10141 [000] ....  1908.556721: rtos_queue_send_from_isr_failed: tstamp:59959349739 queue:0x0bcba5e0
     kworker/0:2-10141 [000] ....  1908.556722: rtos_queue_send_from_isr_failed: tstamp:59959349897 queue:0x0bcbb3a0
     kworker/0:2-10141 [000] ....  1908.556724: rtos_queue_send_from_isr_failed: tstamp:59959350054 queue:0x0bcbc160
     kworker/0:2-10141 [000] ....  1908.556725: rtos_queue_send_from_isr_failed: tstamp:59959408861 queue:0x0bcb41f8
     kworker/0:2-10141 [000] ....  1908.556726: rtos_queue_send_from_isr_failed: tstamp:59959409023 queue:0x0bcb8a60
     kworker/0:2-10141 [000] ....  1908.556728: rtos_queue_send_from_isr_failed: tstamp:59959409185 queue:0x0bcba5e0
     kworker/0:2-10141 [000] ....  1908.556729: rtos_queue_send_from_isr_failed: tstamp:59959409342 queue:0x0bcbb3a0
     kworker/0:2-10141 [000] ....  1908.556730: rtos_queue_send_from_isr_failed: tstamp:59959409499 queue:0x0bcbc160
     kworker/0:2-10141 [000] ....  1908.556733: rtcpu_string: tstamp:59959416186 id:0x04010000 str:"Configuring VI GoS.
"
     kworker/0:2-10141 [000] ....  1908.556771: rtcpu_string: tstamp:59959416379 id:0x04010000 str:"VM GOS[#0] addr=0xc2100000
"
     kworker/0:2-10141 [000] ....  1908.556784: rtcpu_string: tstamp:59959416645 id:0x04010000 str:"VM GOS[#1] addr=0xc2101000
"
     kworker/0:2-10141 [000] ....  1908.556796: rtcpu_string: tstamp:59959416925 id:0x04010000 str:"VM GOS[#2] addr=0xc2102000
"
     kworker/0:2-10141 [000] ....  1908.556808: rtcpu_string: tstamp:59959417169 id:0x04010000 str:"VM GOS[#3] addr=0xc2103000
"
     kworker/0:2-10141 [000] ....  1908.556819: rtcpu_string: tstamp:59959417410 id:0x04010000 str:"VM GOS[#4] addr=0xc2104000
"
     kworker/0:2-10141 [000] ....  1908.556830: rtcpu_string: tstamp:59959417651 id:0x04010000 str:"VM GOS[#5] addr=0xc2105000
"
     kworker/0:3-10414 [000] ....  1908.668696: rtos_queue_peek_from_isr_failed: tstamp:59963466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1908.836702: rtos_queue_peek_from_isr_failed: tstamp:59968466930 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1909.004732: rtos_queue_peek_from_isr_failed: tstamp:59973466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1909.172711: rtos_queue_peek_from_isr_failed: tstamp:59978466934 queue:0x0bcbcf78
     kworker/0:3-10414 [000] ....  1909.284673: rtos_queue_peek_from_isr_failed: tstamp:59983466938 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1909.452691: rtos_queue_peek_from_isr_failed: tstamp:59988466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1909.620661: rtos_queue_peek_from_isr_failed: tstamp:59993466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1909.788650: rtos_queue_peek_from_isr_failed: tstamp:59998466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1909.956715: rtos_queue_peek_from_isr_failed: tstamp:60003466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1910.124663: rtos_queue_peek_from_isr_failed: tstamp:60008466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1910.292634: rtos_queue_peek_from_isr_failed: tstamp:60013466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1910.404624: rtos_queue_peek_from_isr_failed: tstamp:60018466938 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1910.572649: rtos_queue_peek_from_isr_failed: tstamp:60023466938 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1910.740633: rtos_queue_peek_from_isr_failed: tstamp:60028466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1910.908597: rtos_queue_peek_from_isr_failed: tstamp:60033466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1911.076592: rtos_queue_peek_from_isr_failed: tstamp:60038466938 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1911.244622: rtos_queue_peek_from_isr_failed: tstamp:60043466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1911.412609: rtos_queue_peek_from_isr_failed: tstamp:60048466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1911.524570: rtos_queue_peek_from_isr_failed: tstamp:60053466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1911.692573: rtos_queue_peek_from_isr_failed: tstamp:60058466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1911.860549: rtos_queue_peek_from_isr_failed: tstamp:60063466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1912.028532: rtos_queue_peek_from_isr_failed: tstamp:60068466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1912.196533: rtos_queue_peek_from_isr_failed: tstamp:60073466938 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1912.364584: rtos_queue_peek_from_isr_failed: tstamp:60078466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1912.532542: rtos_queue_peek_from_isr_failed: tstamp:60083466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1912.644570: rtos_queue_peek_from_isr_failed: tstamp:60088466938 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1912.812529: rtos_queue_peek_from_isr_failed: tstamp:60093466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1912.980518: rtos_queue_peek_from_isr_failed: tstamp:60098466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1913.148503: rtos_queue_peek_from_isr_failed: tstamp:60103466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1913.316482: rtos_queue_peek_from_isr_failed: tstamp:60108466934 queue:0x0bcbcf78
     kworker/0:3-10414 [000] ....  1913.484471: rtos_queue_peek_from_isr_failed: tstamp:60113466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1913.652522: rtos_queue_peek_from_isr_failed: tstamp:60118466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1913.764467: rtos_queue_peek_from_isr_failed: tstamp:60123466936 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1913.932447: rtos_queue_peek_from_isr_failed: tstamp:60128466934 queue:0x0bcbcf78
     kworker/0:3-10414 [000] ....  1914.100459: rtos_queue_peek_from_isr_failed: tstamp:60133466934 queue:0x0bcbcf78
     kworker/0:2-10141 [000] ....  1914.156478: rtos_queue_peek_from_isr_failed: tstamp:60135322515 queue:0x0bcbcf78
        v4l2-ctl-12051 [000] ....  1969.063979: tegra_channel_close: vi-output, ov5693 1-0036

The trace log shows nvcsi/vi didn’t receive any validate package from the MIPI bus.
I would suggest to probe the MIPI signal to confirm it.

Hello @ShaneCCC and @JerryChang

1 We probed the mipi line, we noticed some transactions and we confirmed it by following steps
2 Power off the board No transaction or signal on the line
3 Power On the data lines goes high but no transaction
4 Driver files got loaded during boot up and there are transactions in the mipi lines

These procedure confirms that after configuration mipi bus is sending some data . Also we dint observe the following error message when usingov5693 but we are getting it when we are using our sensor

tegra-slvs-ec 15ac0000.slvs-ec: probe failed
[    1.899989] tegra-slvs-ec 15ac0000.slvs-ec: probe failed: -19

The message is about the slvs-ec interface but I think your HW is CSI2 instead of slvs-ec interface.
You may have enable slvs-ec in device tree. Also you should need to check the MIPI signal follow the MIPI spec.

Okay We will check the signal quality and let you know, meanwhile let us know if we have missed out something in the driver.

I power sequencing / clock in the parsing part (in probing function) of the driverfile should not affect since they are controlled externally and not by xavier

For the slvs-ec message you may set the status to okay in below device tree.

                slvs-ec@15ac0000 {
                        power-domains = <0x3 0xc>;
                        compatible = "nvidia,tegra-slvs-ec";
                        clocks = <0x4 0xfc 0x4 0xfd 0x4 0x66>;
                        resets = <0x5 0x7f>;
                        clock-names = "slvs-ec", "slvs-ec-lp", "slvs-ec-parent";
                        status = "disabled";
                        interrupts = <0x0 0x4a 0x4 0x0 0xff 0x4>;
                        phandle = <0x14a>;
                        reg = <0x0 0x15ac0000 0x0 0x40000 0x0 0x15c00000 0x0 0x10000 0x0 0x15e40000 0x0 0x10000>;
                        reset-names = "slvs-ec";
                        linux,phandle = <0x14a>;
                        interrupt-names = "slvs-ec", "syncgen";
                        nvidia,vi-device = <0x6a>;
                };

Hello @ShaneCCC and @JerryChang
We found that the mipi bus used in ov5693 and our sensor are different in ov5693 lines are connected to CSI2 D0 D1 and CLK but we have connected to CSI0 D0 D1 and CLK may be we are trying to read from port 2 thats the reaso xavier is not able to read any data from mipi bus. now what we have to change to read from port CSI0?

Modify the device tree to configure the NVCSI/VI lane configure.

https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fcamera_sensor_prog.html%23wwpID0E0Q50HA

hello revanth.a,

please also check Topic 79280 for several documentation you might refer to for sensor driver development.
you may also access Tutorials page, you may expand [Developer Tools] session for training materials.
there’s V4L2 Sensor Driver Development Tutorial to have more details.
thanks