MIPI CSI-2 Driver Development

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?


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.

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 for your help, I will work on it and get back to you in this thread if i face with any issues.

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
30: – -- – -- – -- 36 –
50: – -- – -- – -- – -- – -- – -- – -- – --

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.