I am working on integrating the IMX219 camera sensor on the Jetson Orin NX platform using JetPack 5.1.4.
Working scenario
Camera streaming works successfully on CSI port-0
Using 2-lane configuration
Sensor probe and streaming are successful
Frames are captured correctly
Problem scenario
When using the same sensor with CSI port-1, streaming fails
Sensor probe is successful
However, capture fails with VI timeout errors
Error logs
[ 70.917291] bwmgr API not supported
[ 73.659119] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 73.668378] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 73.688905] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 73.697474] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 76.218958] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 76.228140] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 76.248528] (NULL device *): vi_capture_control_message: NULL VI channel received
I followed the Jetson-IO steps, saved the configuration, and rebooted. The overlay was enabled and the new DTB was generated successfully.
However, after this step, my custom camera driver is not loading, because my custom DTS compatible string and format configuration are not present in the generated DTB.
My custom camera, I am using:
A custom compatible string
Custom driver binding
Grey (monochrome) format support
Custom DTSI changes
After running Jetson-IO, the generated DTB only contains the default IMX219 overlay nodes, and my custom compatible and format changes are not included.
My question is:
How can I include my custom compatible string and grey format DTS changes when using Jetson-IO?
Could you share your custom DTS changes? The files in the zip appear to use the default "sony,imx219" compatible string, and I don’t see the custom compatible string or format you mentioned.
For CSI port 1 and a 2-lane configuration, please verify that the configuration includes:
These are just a few key parameters to check. It would be helpful to review the complete camera node and its endpoint definitions to confirm they match correctly.
Before we go further, information about the streaming tests would be helpful for debugging.
Which command are you using to test the stream? Are you testing with v4l2-ctl or with GStreamer?
If you want to use Jetson-IO with your custom changes, move your DTS modifications into a device tree overlay file rather than modifying the base DT files directly. Then:
Compile the overlay to generate a .dtbo file.
Copy the .dtbo file to /boot/.
Run jetson-io again and select the new overlay.
This should add your changes to the new DTB after running jetson-io.