We are attempting to interface to the Jetson Orin NX modules CSI0 port with an FPGA. In this case, the FPGA is spoofing the role of an external MIPI D-PHY camera source.
Using the Orin NX dev kit to test MIPI, we can confirm that CSI0 is working with the Raspberry Pi Camera Module 3 (we see media0 and video0 present in the linux device driver tree).
we are using Jetson Linux/L4T 36.3.0 which is a part of Jetpack 6.0, and for testing we have been using the Jetson Orin Nano Developer Kit (P3766) paired with the Jetson Orin NX 16GB module (P3767-0000).
We then connect our FPGA to the MIPI CSI0 port, perform the initialization of the kernel module and see media0 and video0 appear in the device tree. However, the Orin is behaving like there is no camera input.
In particular the implementation comes from Sensor Software Driver Programming — NVIDIA Jetson Linux Developer Guide 1 documentation
furthermore, we have found that this recent case is trying the same hardware implementation as us: Using Jetson Orin NX to Receive MIPI D-PHY camera source from FPGA - Jetson Systems / Jetson Orin NX - NVIDIA Developer Forums
We did try both JerryChang and carolyuu answers without success, I would like to ask if there are any particular log or command that can help us to debug if the D-PHY camera interface is correctly setup? or any other suggestions based on this information?
Thanks in advance
-Andres
*** Please note that this reply is generated by LLM automatically ***
To debug the issue with the MIPI DPHY camera interface on the Jetson Orin NX module, you can try the following steps:
- Check the kernel logs: Run the command
dmesg to check the kernel logs for any error messages related to the camera interface. You can also use dmesg | grep camera to filter the logs and show only the messages related to the camera.
- Verify the device tree: Make sure that the device tree is correctly configured for the camera interface. You can check the device tree by running the command
dtc -I fs /sys/firmware/devicetree/base.
- Check the camera sensor driver: Verify that the camera sensor driver is correctly loaded and configured. You can check the driver status by running the command
lsmod | grep camera.
- Use the
v4l2-ctl command: Run the command v4l2-ctl --list-devices to list all the available video devices. Then, use the command v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=RG10 to set the video format.
- Check the MIPI DPHY configuration: Verify that the MIPI DPHY configuration is correct. You can check the configuration by running the command
cat /sys/kernel/debug/mipi_dphy/phy0/config.
- Use the
media-ctl command: Run the command media-ctl --list-devices to list all the available media devices. Then, use the command media-ctl --set-link="media0:0 -> video0:0" to set the link between the media device and the video device.
- Check the FPGA configuration: Verify that the FPGA is correctly configured to send the MIPI DPHY signals to the Jetson Orin NX module.
Comparing your setup to the one in the NVIDIA Developer Forums case you mentioned, it seems that you are using the same hardware implementation, but with a different FPGA. Make sure that your FPGA is correctly configured to send the MIPI DPHY signals to the Jetson Orin NX module.
Additionally, you can try to use the mipi_dphy kernel module to debug the MIPI DPHY interface. You can load the module by running the command modprobe mipi_dphy. Then, you can use the mipi_dphy command to check the MIPI DPHY configuration and debug the interface.
It’s also worth noting that the Jetson Orin NX module has a different MIPI DPHY configuration than the Jetson Orin Nano module. Make sure that you are using the correct configuration for your module.
If none of these steps help, you may want to try to use a different camera sensor or a different FPGA to rule out any hardware issues.
*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***
hello andres.serrano,
just an FYI, Jetson Orin Nano Developer Kit did not use CSI-0. (i.e. CSI-A)
those two camera slots were.. J20/CAM0/CSI-B and J21/CAM1/CSI-C