OV9281: CSI camera not found


I am trying to make an OV9281 CSI camera work on a Jetson Xavier NX board (R32.4.3). The camera is connected to CSI1 lane.

The driver of OV9281 is compiled inside the kernel but it cannot detect the camera according to the kernel logs (no output from the driver). The driver is from Nvidia which is in the kernel source tree.

The relevant section “probing v4l2 sensor” of the driver cannot be reeached according to the kernel logs.

dtc.out.txt (218.7 KB)

Thank you.


Did you modify the device tree to add this device?

Thanks for the answer.

No, I didn’t. I tried the device tree file shipped with the board support package (with csi port enabled).

Have a check below doc for sensor programing guide.


Thanks, the link was helpful.

I managed to make the probe function called (i2cdetect can detect the camera over i2c-2). However, I got the following error:

[  162.485316] ov9281 2-000c: probing v4l2 sensor.
[  162.485374] ov9281 2-000c: mclk not in DT
[  162.486356] ov9281: probe of 2-000c failed with error -22

I suspect that the problem is about the device tree.


The mclk is define in the device tree, have a reference to e3326 reference board to add it.

Thanks again, it worked.

Now, it requires cam-sid-gpio. Any ideas?

[ 46.019004] ov9281 9-000c: probing v4l2 sensor.
[ 46.026197] ov9281 9-000c: Missing cam-sid-gpio, cannot program I2C addr
[ 46.026360] ov9281 9-000c: ov9281_power_on failed.
[ 46.026447] ov9281 9-000c: camera_common_s_power: error power on

The same please check with your HW to add/remove necessary GPIO control from dts.