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
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