Hello,
I have a working setup with a floyd board (Xavier NX) and 2 IMX492-based camera+driver with Jetpack 4.6.x.
I am now moving to Jetpack 5.x and defined a DTS file and overlay for this dual IMX492 configuration.
After flashing and booting, driver gets loaded and communication to cameras is established as shown with dmesg:
[ 1736.198854] imx492 30-001a: probing v4l2 sensor: pleno/alain/8
[ 1736.199620] imx492 30-001a: tegracam sensor driver:imx492_v2.0.6
[ 1736.401137] imx492 30-001a: imx492_set_gain: val:1000000, gain:1, again:(1, 0), dgain:(1, 0)
[ 1736.401801] imx492 30-001a: imx492_set_exposure: val: 0
...
[ 1736.406985] imx492 30-001a: imx492_set_frame_rate: PCLK:576000000, LL:9622, fps:2.00, HMAX:0, VMAX:5728, SVR=0
[ 1736.407046] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx492 30-001a bound
[ 1736.407741] imx492 31-001a: probing v4l2 sensor: pleno/alain/8
...
[ 1736.614171] imx492 31-001a: imx492_set_frame_rate: val: 2000000, svr:0, vmax:5728
[ 1736.614945] imx492 31-001a: imx492_set_frame_rate: PCLK:576000000, LL:9622, fps:2.00, HMAX:0, VMAX:5728, SVR=0
[ 1736.614973] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx492 31-001a bound
[ 1736.614979] imx492 31-001a: Probed IMX492 sensor
but I don’t see the /dev/video* entries.
I have a /dev/media0 entry which I can dump:
Media controller API version 5.10.104
Media device information
------------------------
driver tegra-camrtc-ca
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 5.10.104
Device topology
- entity 5: 13e10000.host1x:nvcsi@15a00000- (2 pads, 0 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
pad1: Source
- entity 8: 13e10000.host1x:nvcsi@15a00000- (2 pads, 0 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
pad1: Source
- entity 11: imx492 30-001a (1 pad, 0 link)
type V4L2 subdev subtype Sensor flags 0
pad0: Source
- entity 13: imx492 31-001a (1 pad, 0 link)
type V4L2 subdev subtype Sensor flags 0
pad0: Source
But that doesn’t look like the working case (jetpack 4.x):
Media controller API version 0.1.0
Media device information
------------------------
driver tegra194-vi5
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 0.0.0
Device topology
- entity 1: 15a00000.nvcsi--3 (2 pads, 0 link)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
pad1: Source
- entity 4: imx492 31-001a (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev1
pad0: Source
[fmt:SRGGB12_1X12/8432x5648 field:none colorspace:srgb]
-> "15a00000.nvcsi--2":0 [ENABLED]
- entity 6: 15a00000.nvcsi--2 (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev2
pad0: Sink
<- "imx492 31-001a":0 [ENABLED]
pad1: Source
-> "vi-output, imx492 31-001a":0 [ENABLED]
- entity 9: vi-output, imx492 31-001a (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "15a00000.nvcsi--2":1 [ENABLED]
- entity 23: 15a00000.nvcsi--1 (2 pads, 0 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
pad1: Source
I’m pretty sure it’s related to the overlay or DTS, maybe an incorrect connection between VI, NVCSI?
Came across this thread: JP5.0 .. custom camera can't show /dev/video0 device - #8 by channinglan but it doesn’t help.
I dumped the DTB and /proc/device-tree using “dtc” and see that some paths are generated with the same name:
[ 6.296461] tegra-camrtc-capture-vi tegra-capture-vi: subdev 13e10000.host1x:nvcsi@15a00000- bound
[ 6.305003] tegra-camrtc-capture-vi tegra-capture-vi: subdev 13e10000.host1x:nvcsi@15a00000- bound
with jetpack4, I see unique names at least, but I don’t know if that could be a problem:
[ 3.671599] tegra194-vi5 15c10000.vi: subdev 15a00000.nvcsi--3 bound
[ 3.671665] tegra194-vi5 15c10000.vi: subdev imx492 31-001a bound
[ 3.671672] tegra194-vi5 15c10000.vi: subdev 15a00000.nvcsi--2 bound
[ 3.673234] tegra194-vi5 15c10000.vi: subdev 15a00000.nvcsi--1 bound
Anyway, I would appreciate any hint or pointer as to what could be wrong.
Thanks in advance!
Alain
DTSI files:
tegra194-p3668-p3509-camera-imx492.dtsi (2.5 KB)
tegra194-camera-imx492.dtsi (8.4 KB)
dual IMX492 overlay:
tegra194-p3668-all-p3509-0000-camera-imx492-dual.dts (2.4 KB)
dtc output for /proc/device-tree and DTB:
dtc_fs_floyd12.txt (657.3 KB)
dtc_dtb_floyd12.txt (478.1 KB)
dmesg file:
dmesg_floyd12.txt (66.5 KB)