I assume you’re working with JP-5, may I confirm which public release version it is?
you may double check the release tag, i.e. $ cat /etc/nv_tegra_release for confirmation.
besides, please see-also developer guide, To verify the port binding result.
the correct device topology should report the connections of nvcsi/vi/sensor.
cat /etc/nv_tegra_release
# R35 (release), REVISION: 3.1, GCID: 32827747, BOARD: t186ref, EABI: aarch64, DATE: Sun Mar 19 15:19:21 UTC 2023
The problem is port binding now work. I checked the device tree, and it seems there is no error.
media-ctl -p /dev/media0
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 1: 13e40000.host1x:nvcsi@15a00000- (2 pads, 0 link)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
pad1: Source
/proc/device-tree/i2c@3180000/tca9546@70/i2c@0/radar@50/status is okay
I don’t see the NVCSI/VI port bindings according to your results.
BTW, there’re several camera bugs within early JP-5 public release version, it is suggest you moving to JP-5.1.4/r35.6.0 (or later) to include the bug fixes for sensor bring-up.
it looks you’ve several camera node that using the same remote-endpoint.
for instance, ar0231_a@50 {, ov5693_a@36 {..etc.
you’ll need to have device tree settings to match your camera hardware connections, please try to update the it accordingly.
mmwave.txt (624.9 KB)
Hi Jerry,
I removed all other node. but the port binding still now work. please check the new dts file.
media-ctl -p /dev/media0
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 1: 13e40000.host1x:nvcsi@15a00000- (2 pads, 0 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
pad1: Source
the issue should be on sensor side, during kernel initialization stage, it’s step for camera device registration to setup a video device node to linux kernel. sensor probing only run once during kernel initialization stage of system boot-up.
for a typical camera application running cycle, the driver will Power On the sensor, Start Sensor Streaming, sending relevant v4l2 controls, and finally power off the sensor.
so… if there’s a error returns, it’ll not register a video node, (/dev/video0).
please see-also Topic 293662 and Topic 290610 to examine camera device registration process.
BTW,
please also add some debug prints to your sensor driver.
for instance, it’s subdev: Holds a handle for the V4L2 subdevice; used to run subdev operations (ops).
here’s an example of IMX185, it’s the operations to toggle sensor controls.
Hi Jerry,
I modified imx214
driver and only left the necessary part, but when insmod the system painc. I attached the source code. It’s very simple, I did not find the problem.
I’ve found the problem. I’m using the driver code below kernel/driver/media/i2c/imx214.c as template,but the right file should be kernel/nvidia/driver/media/i2c/ .