Single IMX219 camera on custom carrier board with NX module

We designed our carrier board with NX module. The difference to the devkit is we only connect CSI0 and CAM0_PWDN and no i2c mux. With single IMX219 camera, it can work on the devkit, but failed to work with our board (we use the devkit’s image file). So, I doubt we need do some changes to the device tree or the driver. As there are two cameras on the devkit carrier board, but we only have one on our board. So the I2C mux toggling has no effect on our board, it will always access the same camera. The driver may think there are two cameras on board. Will this cause some problem?

Anyone can confirm this?


hello diverger,

please modify the device tree since you’re having your customize board.
you may also share the kernel initial messages for camera device registration process.
furthermore, you should access Jetson Xavier NX Product Design Guide, please review [Chapter 9. MIPI CSI Video Input] for your CSI connection design.

Yes, we designed our board take both the DG and devkit as reference. The differences in camera design is:

  1. We use only CSI0 and CAM0_PWDN, and the camera is clocked by external OSC, but not MCLK0 from NX module, so MCLK0 is floating on our board.
  2. Since there is only one camera, so CAM_MUX_SEL is not used, and we allocated it for other functions.
  3. We haven’t do changes to the device tree, but use the one for devkit.

The signals routed to the camera is:


I wonder if the Linux image for devkit can work with this configuration. Because the same camera can work on the devkit, so we expect it may work with our board.

The attached file is the output after run “gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! \ ‘video/x-raw(memory:NVMM),width=1280,height=720,format=NV12,framerate=120/1’ ! \ nvoverlaysink”

camera.txt (4.9 KB)

hello diverger,

please check the reference driver,
for example, $L4T_Sources/r32.6.1/Linux_for_Tegra/source/public/hardware/nvidia/platform/t19x/jakku/kernel-dts/common/tegra194-camera-jakku-rbpcv2-imx219.dtsi

you’ll need to revise the device tree to adapt the settings to your customize board.

We’ve test this configuration on the devkit: DP + rbpcv2, it won’t work, same result with our carrier board. But with HDMI + rbpcv2, it work. So, the problem now is does devkit support DP and CSI co-work?


Are you talking about the DP cannot work (no matter the status of camera) at all or you are talking about the camera gst pipeline fails to render to the DP?

The DP is ok, but when connect both DP and rbpcv2,run “nvgstcapture-1.0” no output window pop out. If we connect a HDMI display, and connect rbpcv2, run same command, there will be a image window pop out. It seems the camera can’t capture any image if use a DP display, or the captured image can’t be shown on display with DP port?



Can you run the nvoverlaysink with display-id parameters and see if it can render over the DP?

I’ll try this later. But I find some interesting info on net. Please see the attached file, it’s from Waveshare’s tutorial for the camera, may Nvidia confirm this? And there are some discussion on net.


Maybe you can share what you want to say in English. Not everyone here speaks Chinese.

Waveshare’s tutorial say when run nvgstcapture-1.0 with the camera, must connect with HDMI display, or there will no image output. And in the link, some developers say when they run nvgstcapure on Jetson NANO with IMX219, and with DP display, no image output.

I think what the tutorial tries to say is when you use argus camera framework, it requires a EGL display to help …

And EGL display requires a physical display connected. If you can see xrandr result with your DP, EGL display is not an issue to you.

hello diverger,

it’s by default having preview display rendering.
however, you may have gst pipeline combination to disable preview and shows frame-rate only.
for example,
$ gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=30/1, format=NV12' ! nvvidconv ! 'video/x-raw(memory:NVMM),format=I420' ! fpsdisplaysink text-overlay=0 video-sink=fakesink sync=0 -v

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