FPGA -CSI Camera not found /dev/video0 Node

Hello team !

Currently We use AGX-Orin Dev Kit and Jetson SDK version- 36.4.3 setup on ubuntu 22.04 host machine
Our hardware is base of FPGA device. It take SDI input and send to CSI data.
This device has self driven so no 12c for configure. We are developing driver on AGX Orin to support it

As mentions . device won’t configure with i2c and don’t need the i2c driven so our approach to modify the nvidia-oot/drivers/media/i2c/ov5693.c . Here, ignore the i2c part and always return 0 and recompiled the kernel source. Here, probe function can be called successfully and run with no err, why there is still no /dev/video0?

We share the dummy driver based on ov5693.c and dts changes

dummy -driver.txt (18.3 KB)

dts_change_for_agx_orian.txt (10.5 KB)

Regards,

Niranjan

Below doesn’t match with the dts.

And what’s the nvcsi@{} part?

static const struct of_device_id ov5693_of_match[] = {
	{
		.compatible = "ovti,ov5693",
	},
	{ },
};

Hi

Yes ! we are using this compatible string “.compatible = “ovti,ov5693”,”

Some typo issue during upload, Now updated dts-change-agx-orin

dts_change_for_agx_orin.txt (10.5 KB)

As per mention above, we have develop fpga driver and we take camera reference as below-

  • FPGA Camera driver

    • - nvidia-oot/drivers/media/i2c/dummy.c reference from nvidia-oot/drivers/media/i2c/nv_ov5693.c
  • - dtsi - change refernce from camera e3333 overlay
    modified: overlay/tegra234-camera-e3333-a00.dtsi
    modified: overlay/tegra234-p3737-camera-e3333-overlay.dts
    modified: overlay/tegra234-p3737-camera-modules.dtsi

tegra234-p3737-camera-modules.dtsi.txt (2.3 KB)

tegra234-p3737-camera-e3333-overlay.dts.txt (2.9 KB)

tegra234-camera-e3333-a00.dtsi.txt (7.7 KB)

  • Compiles dtb corresponding dtb generated as below -
    kernel-devicetree/generic-dts/dtbs/tegra234-p3737-camera-e3333-overlay.dtbo
    kernel-devicetree/generic-dts/dtbs/tegra234-p3737-0000+p3701-0000-dynamic.dtbo
  • - Cross ponding dtbo file pushed in AGX-Orin Kit at /boot location
  • Setting jetson io for camera module e3333 Configure Jetson AGX CSI Connector → Configure for compatible hardware -> Jetson Camera E3333 module -> Save pin changes -> Save and reboot to reconfigure pins -> Press any key to reboot the system now or Ctrl-C to abort
  • After Device Boot configure as below

oscar@tegra-ubuntu:~$ cat /boot/extlinux/extlinux.conf

LABEL JetsonIO

OVERLAYS /boot/jetson-io-hdr40-user-custom.dtbo,/boot/tegra234-p3737-camera-e3333-overlay.dtbo

  • Load dummy camera module Module - No probe function call and no log found in demsg
  • Some modification in extlinux.conf as below

OVERLAYS /boot/jetson-io-hdr40-user-custom.dtbo,/boot/tegra234-p3737-0000+p3701-0000-dynamic.dtbo

  • After modification in extlinux.conf and device reboot again load dummy module, logs as below

  • oscar@tegra-ubuntu:~$ sudo insmod dummy.ko

  • oscar@tegra-ubuntu:~$ sudo dmesg

    [ 95.705811] fpga-media 2-0036: probing v4l2 sensor.
    [ 95.705863] parse_dt
    [ 95.705866] fpga-media 2-0036: Failed to find clocks
    [ 95.705873] function pointer that lets your driver read properties from Device Tree (DT) during probe
    [ 95.705874] parse_dt complete
    [ 95.705875] _power_get
    [ 95.706148] fpga-media 2-0036: tegracam sensor driver:fpga-media_v2.0.6
    [ 95.706153] fpga-media 2-0036: tegra camera driver registration sucess
    [ 95.706156] fpga-media 2-0036: call - tegracam_v4l2subdev_register
    [ 95.706158] power_on- Power up the sensor in a known good state-
    [ 95.706159] Enable regulators and clocks,configure GPIO direction
    [ 95.706161] fpga-media 2-0036: board setup done
    [ 95.706227] fpga-media 2-0036: call - tegracam_v4l2subdev_register sucess

  • But media video not create

  • We have some concern arises as below

  1. Please check camera dtsi change, any missing node as reference camera! or what is right way to camera dtbo generation ?
  2. default camera configuration through jetson-io, dummy driver probe function was not called
  3. Modification in extlinx.conf then dummy probe function called.

Please let me know what is way to change in corresponding camera dts and configuring, module camera driver load properly and video node created !

Is this still an issue to support? Any result can be shared?

Thanks ! for response.

Yes, Now is created /dev/video node and we can load and unload custom driver, But need help to understand right way to modify and use device tree file.
we follow below steps as -

  1. modify overlay/tegra234-p3737-camera-modules.dtsi file such it form 6 to 1 camera and rename it “file”.
    attached-

    tegra234-p3737-fpga-dev-overlay.dts.txt (2.9 KB)

    tegra234-p3737-camera-modules.dtsi.txt (8.3 KB)

  2. done following modification on overlay/tegra234-p3737-camera-modules.dtsi

    1. comments some include dtsi line and modify as below diff -

    diff-camera-module.txt (2.2 KB)

  3. After Generate crossponding dtbo “tegra234-p3737-0000+p3701-0000-dynamic.dtbo”

    1. Cross ponding dtbo file pushed in AGX-Orin Kit at /boot location

    2. modify /boot/extlinux/extlinux.conf file to use above dtbo file is overlap changes-

      extlinux.conf.txt (2.0 KB)

After above changes /dev/video0 is created once load fpga driver. i

s it the right procedure ?

Regards,

Niranjan

Yes, that’s correct.

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