Hello,
I have a Jetson Nano board and I’m trying to use it with a custom-designed carrier board. Most of the I/O on my board is working correctly, but I’m facing an issue with the CSI camera interface. The problem is: I connected two cameras, but I’m only able to receive data from one of them. Only /dev/video0
is visible, while /dev/video1
is missing. I suspect there might be something missing or misconfigured in the Device Tree. I’m using a TCA9548 I2C MUX and have updated the Device Tree accordingly. Below, I’ll share the steps I’ve taken, my DTS file, and some command outputs.
My Circuit Diagram:
There are three important points in the schematic section:
- I’m using CSI3 and CSI0 interfaces.
- I’m using output channel 1 of the I2C MUX for CAM0, and output channel 0 for CAM1.
- I’m actively using the CAM0 and CAM1 data lanes.
File:
-
dts file:
jetson_nano_dts.txt (310.3 KB) -
dmesg log:
log.txt (47.2 KB)
Terminal Output:
root@jetson-nano:~# i2cdetect -l
i2c-35 i2c i2c-6-mux (chan_id 5) I2C adapter
i2c-3 i2c 7000c700.i2c I2C adapter
i2c-33 i2c i2c-6-mux (chan_id 3) I2C adapter
i2c-1 i2c 7000c400.i2c I2C adapter
i2c-31 i2c i2c-6-mux (chan_id 1) I2C adapter
i2c-6 i2c Tegra I2C adapter I2C adapter
i2c-36 i2c i2c-6-mux (chan_id 6) I2C adapter
i2c-4 i2c 7000d000.i2c I2C adapter
i2c-34 i2c i2c-6-mux (chan_id 4) I2C adapter
i2c-2 i2c 7000c500.i2c I2C adapter
i2c-32 i2c i2c-6-mux (chan_id 2) I2C adapter
i2c-0 i2c 7000c000.i2c I2C adapter
i2c-30 i2c i2c-6-mux (chan_id 0) I2C adapter
i2c-37 i2c i2c-6-mux (chan_id 7) I2C adapter
i2c-5 i2c 7000d100.i2c
- You can see from the I2C output that both cameras are detected, but when listing video devices, only
video0
appears.
root@jetson-nano:~# i2cdetect -y -r 30
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- 64 -- -- -- -- -- -- -- -- -- -- --
70: UU -- -- -- -- -- -- --
root@jetson-nano:~# i2cdetect -y -r 31
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- 64 -- -- -- -- -- -- -- -- -- -- --
70: UU -- -- -- -- -- -- --
root@jetson-nano:~# ls /dev/video*
/dev/video0
root@jetson-nano:~# sudo dmesg | grep -i imx219
[ 0.227821] DTS File Name: tegra210-nano-cti-NGX004-RPI-IMX219-2CAM.dts
[ 0.432193] DTS File Name: tegra210-nano-cti-NGX004-RPI-IMX219-2CAM.dts
[ 4.145191] imx219 30-0010: tegracam sensor driver:imx219_v2.0.6
[ 4.177642] imx219 31-0010: tegracam sensor driver:imx219_v2.0.6
[ 4.953227] vi 54080000.vi: subdev imx219 31-0010 bound
[ 4.953230] vi 54080000.vi: subdev imx219 30-0010 bound
root@jetson-nano:~# udevadm info --query=all --name=/dev/video0
P: /devices/50000000.host1x/54080000.vi/video4linux/video0
N: video0
L: 0
S: v4l/by-path/platform-54080000.vi-video-index0
E: DEVPATH=/devices/50000000.host1x/54080000.vi/video4linux/video0
E: DEVNAME=/dev/video0
E: MAJOR=81
E: MINOR=0
E: SUBSYSTEM=video4linux
E: USEC_INITIALIZED=6833916
E: ID_V4L_VERSION=2
E: ID_V4L_PRODUCT=vi-output, imx219 31-0010
E: ID_V4L_CAPABILITIES=:capture:
E: ID_PATH=platform-54080000.vi
E: ID_PATH_TAG=platform-54080000_vi
E: ID_FOR_SEAT=video4linux-platform-54080000_vi
E: DEVLINKS=/dev/v4l/by-path/platform-54080000.vi-video-index0
E: TAGS=:uaccess:seat:
I don’t have a clear idea why video1
is not showing up. I’m not sure what I need to do or which files or settings I should check or fix.
Thank you in advance for your help