Jetson Orin NX 16GB, problem with IMX219 cameras

Hi!
I need some help getting two IMX219 to run on the Jetson Nano NX 16GB with an custom carrier board.
Here’s some information about our system.

Hardware information:
Jetson Orin NX 16GB.
Custom carrier board that is based on the P3768 design, we have added 10Gb/s ethernet and two more CSI port and changed the I2C mux chip.
Support for up to four CSI cameras, currently we have two Raspberry Pi Camera Module 2 (imx219) connected to CSI0 and CSI1.
The cameras are connected to I2C3/CAM_I2C via an I2C mux (SN74LV4052APW) that is controlled by GPIO6/CAM_SELECT0 and GPIO7/CAM_SELECT1.

Software information:

cat /etc/nv_tegra_release
R35 (release), REVISION: 4.1, GCID: 33958178, BOARD: t186ref, EABI: aarch64, DATE: Tue Aug 1 19:57:35 UTC 2023

Now to my problem, I just can’t get the CSI cameras to work.
Both cameras are detected by the driver during boot (see attached bootlog.txt).
bootlog.txt (73.1 KB)

I have used jetson-io.py to configure the system to use two imx219 cameras.
And the devices are created in /dev

v4l2-ctl --list-devices
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
/dev/media0

vi-output, imx219 9-0010 (platform:tegra-capture-vi:1):
/dev/video0

vi-output, imx219 10-0010 (platform:tegra-capture-vi:2):
/dev/video1

But when I run:

v4l2-ctl --set-fmt-video=width=1440,height=1080 --set-ctrl bypass_mode=0 --stream-mmap

It just hangs and doesn’t produce any output and there are error messages in the kernel log (see attached error_msg.txt and trace.txt)
error_msg.txt (40.6 KB)
trace.txt (12.7 KB)

I also dumped the device tree (se attached file current_device_tree.txt)
current_device_tree.txt (428.7 KB)

Hi @unclecrunk,
Sounds like a csi-vi routing problem or clk problem, since i2c looks to be working fine due to the driver probe working. Check here, for more info on the port binding, and you can use the cmd:

sudo media-ctl -p -d /dev/media0

To verify how things are currenlty routed. And compare it to the reference image thats on the same link. The other thing I suggest is to verify the pixel clk using this guide.

Regards,
Andres
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com/
Website: www.ridgerun.com

Hi @andres.artavia
Thank you for helping me, I really appreciate it!
Here’s the output from sudo media-ctl -p -d /dev/media0

Media controller API version 5.10.120

Media device information

driver tegra-camrtc-ca
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 5.10.120

Device topology

  • entity 1: 13e40000.host1x:nvcsi@15a00000- (2 pads, 2 links)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev0
    pad0: Sink
    ← “imx219 9-0010”:0 [ENABLED]
    pad1: Source
    → “vi-output, imx219 9-0010”:0 [ENABLED]

  • entity 4: 13e40000.host1x:nvcsi@15a00000- (2 pads, 2 links)
    type V4L2 subdev subtype Unknown flags 0
    device node name /dev/v4l-subdev1
    pad0: Sink
    ← “imx219 10-0010”:0 [ENABLED]
    pad1: Source
    → “vi-output, imx219 10-0010”:0 [ENABLED]

  • entity 7: imx219 9-0010 (1 pad, 1 link)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev2
    pad0: Source
    [fmt:SRGGB10_1X10/3280x2464 field:none colorspace:srgb]
    → “13e40000.host1x:nvcsi@15a00000-”:0 [ENABLED]

  • entity 9: vi-output, imx219 9-0010 (1 pad, 1 link)
    type Node subtype V4L flags 0
    device node name /dev/video0
    pad0: Sink
    ← “13e40000.host1x:nvcsi@15a00000-”:1 [ENABLED]

  • entity 23: imx219 10-0010 (1 pad, 1 link)
    type V4L2 subdev subtype Sensor flags 0
    device node name /dev/v4l-subdev3
    pad0: Source
    [fmt:SRGGB10_1X10/3280x2464 field:none colorspace:srgb]
    → “13e40000.host1x:nvcsi@15a00000-”:0 [ENABLED]

  • entity 25: vi-output, imx219 10-0010 (1 pad, 1 link)
    type Node subtype V4L flags 0
    device node name /dev/video1
    pad0: Sink
    ← “13e40000.host1x:nvcsi@15a00000-”:1 [ENABLED]

And I will check that other link you provided, once again thank you so much for your help.

The device tree dump looks fine.
Does your imx219 the same with devkit?
The trace log tells didn’t receive any validate data from the sensor.
It’s better to verify the sensor with devkit to confirm the driver configure.

Thanks

1 Like

Hi Shane!
I will have one of our hardware engineer take a look at it.

OK,
I still suggest verifying on devkit to confirm the sensor HW and driver configuration.

Thanks

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