Is it possible to connect two “Raspberry Pi Camera V2” to Jetson NANO at the same time?
Although there is only one “Raspberry Pi Camera V2” that can be connected to the carrier board of Jetson NANO, there are three MIPI-CSI(2lane) ports that Jetson NANO has.
When I make a carrier board by imitating NVIDIA carrier board and physically connect two “Raspberry Pi Camera V2” to NANO, can the two “Raspberry Pi Camera V2” operate at the same time?
I would like to connect two “Raspberry Pi Camera V2” to NANO and capture different images.
How do I connect a second camera RPI V2.1 to NANO?
I connect the first camera to MIPI-CSI.
What the testpoints can I use for a second camera?
Where are the CSI pins located on NANO?
I guess I’ll need a I2C multiplexer, for example, TCA9545A.
Only one CSI port is routed out on dev kit. The others are TPs on bottom side. Attach screen shot here for your reference. You can use different I2C on nano for them if the I2C address of two cameras can’t be changed to different.
Thanks for the TPs.
But in the doc JetsonNano_DataSheet_DS09366001v0.8.pdf on page 39 not all pins are coincided.
Only a CSI_B_D0, CSI_B_CLK, CSI_C_D0, CSI_C_CLK pins are coincided.
Why? Pin layout P and N doesn’t matter?
But if I connect the second camera to another I2C (for example 3 and 5 GPIO on J41), I will have to manually control the camera (initialization, exposion and etc.), is not it?
I would like the second camera to be defined as \dev\video1. Next I’ll use gstreamer.
The Docs in DLC are only for production design (B01), yours looks like earlier module (A02), what i post is for your board, please ignore the datasheet. If you want to one I2C for two cameras, a multiplexer is necessary then.
How to setup the NANO to work with a I2C multiplexer for two cameras?
Need to initialize the multiplexer before initializing the cameras.
I tried to connect a TCA9545 (address 0x70) to CAM_SCL0 and CAM_SDA0 through MIPI-CSI. It’s doesn’t work.
I checked this TCA9545 through GPIO (3 and 5 GPIO pins on J41). It’s work, but only manually after starting the OS.
I used the following pinout for MIPI-CSI:
1 -> Ground
2 -> CAM1_DN0 - Data Lane 0
3 -> CAM1_DP0 - Data Lane 0
4 -> Ground
5 -> CAM1_DN1 - Data Lane 1
6 -> CAM1_DP1 - Data Lane 1
7 -> Ground
8 -> CAM1_CN - MIPI Clock
9 -> CAM1_CP - MIPI Clock
10 -> Ground
11 -> CAM_GPIO
12 -> CAM_CLK
13 -> SCL0 - CAM_I2C
14 -> SDA0 - CAM_I2C
15 -> +3.3 V
If I connect the SCL0 and SDA0 contacts through the multiplexer, the camera is not detected. Device /dev/video0 is none.
I downloaded the public_sources.tbz2 (L4T Driver Package (BSP) Sources) from https://developer.nvidia.com/embedded/linux-tegra and found the following information in the i2c-ivc-multi.c file (public_sources\kernel_src\kernel\nvidia\drivers\i2c\busses):
* behind an I2C multiplexer: /i2c@3180000/tca9548@77/i2c@0/ov5693_a@36
* without an I2C multiplexer: /i2c@3180000/ov5693_c@36
Where can I change this setting?
I guess the following changes need to be made:
/i2c@3180000/tca9545@70/i2c@0/imx219 // for first camera
/i2c@3180000/tca9545@70/i2c@1/imx219 // for second camera
You need to modify the device tree to match your design.
Have a reference to below doc to remove plugin manager to use main, how ever the path for nano should be this “hardware/nvidia/platform/t210/porg/…” Also you can use …/porg/kernel-dts/porg-platforms/tegra210-camera-rbpcv2-imx219.dtsi for two imx219 as base to modify to match yours.
No really understand your problem.
Can you access different sensor from sensor-id?
Did you mean sensor-id 1/0 always access to the same device?
Could you check the context of /proc/device-tree/tegra-camera-platform/modules/ exactly as your define.
Yes, sensor-id 1/0 always access to the same device (it’s first physical camera).
I can even connect twice to the same physical camera through sensor-id 1/0.
This part of DTS (see above) is decompiled from tegra210-p3448-0000-p3449-0000-a02.dtb.
Maybe the “orientation” should be unique?