Hello,
I have a problem with a multi-camera setup. There are two ov9782
and one imx477
. Three video devices seem correctly created: /dev/video0
, /dev/video1
, /dev/video2
.
Somehow, when using nvarguscamerasrc
with gst-launch-1.0
, the IMX is the one being used with both sensor-id=0
and sensor-id=2
, usable at the same time.
The test pipeline is the following, with $1
being one of 0,1,2
gst-launch-1.0 nvarguscamerasrc sensor-id=$1 ! 'video/x-raw(memory:NVMM), width=1280, height=800, framerate=60/1' ! omxh264enc control-rate=2 bitrate=4000000 ! video/x-h264 ! rtspclientsink location=rtsp://127.0.0.1:8554/cam$1
I figured it should be a CSI ↔ VI mapping issue but I am completely stuck, the configuration looks correct to me.
This is a JetsonNano SOM, with a custom carrier board.
The ov9782
are on CSI A
and CSI E
, 2 lanes each. The imx477
is on CSI C+D
, 4 lanes.
media-ctl --print-dot
:
$ media-ctl -p
Media controller API version 0.1.0
Media device information
------------------------
driver vi
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 0.0.0
Device topology
- entity 1: nvcsi--3 (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
<- "imx477 30-0010":0 [ENABLED]
pad1: Source
-> "vi-output, imx477 30-0010":0 [ENABLED]
- entity 4: imx477 30-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev1
pad0: Source
[fmt:SRGGB10_1X10/1920x1080 field:none colorspace:srgb]
-> "nvcsi--3":0 [ENABLED]
- entity 6: vi-output, imx477 30-0010 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "nvcsi--3":1 [ENABLED]
- entity 18: nvcsi--2 (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev2
pad0: Sink
<- "ov9782 60-0010":0 [ENABLED]
pad1: Source
-> "vi-output, ov9782 60-0010":0 [ENABLED]
- entity 21: ov9782 60-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev3
pad0: Source
[fmt:SBGGR10_1X10/1280x800 field:none colorspace:srgb]
-> "nvcsi--2":0 [ENABLED]
- entity 23: vi-output, ov9782 60-0010 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "nvcsi--2":1 [ENABLED]
- entity 35: nvcsi--1 (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev4
pad0: Sink
<- "ov9782 61-0010":0 [ENABLED]
pad1: Source
-> "vi-output, ov9782 61-0010":0 [ENABLED]
- entity 38: ov9782 61-0010 (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev5
pad0: Source
[fmt:SBGGR10_1X10/1280x800 field:none colorspace:srgb]
-> "nvcsi--1":0 [ENABLED]
- entity 40: vi-output, ov9782 61-0010 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video2
pad0: Sink
<- "nvcsi--1":1 [ENABLED]
The following should be the relevant dtsi files
tegra210-camera-rbpcv2-dual-ov9782_tegra.dtsi (29.0 KB)
tegra210-porg-camera-rbpcv2-dual-ov9782.dtsi (2.6 KB)
Thanks in advance for any help you can provide.