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