Hello,
I have run into some issues with cameras and drivers on the Nano, the current situation I have is that I require two cameras to be operating at the same time.
Specifically one Allied Vision CSI-2 camera, and one raspberry pi camera. However, when I install the drivers for the Allied Vision drivers, I lose compatibility with the raspberry pi camera, and if I don’t install those drivers, I can’t use the Allied vision camera.
Seems like the new driver overwrites the old driver?
So, my question is why does this happen, and is there any solution to this?
please check https://developer.nvidia.com/embedded/linux-tegra-archive and download the L4T sources release package. you may see the device tree definition for the CSI port usage by checking port-index.
for example, public_sources/kernel_src/hardware/nvidia/platform/t210/porg/kernel-dts/porg-platforms/tegra210-camera-rbpcv2-dual-imx219.dtsi
you may also refer to Port Index session in developer guide, each CSI brick is able to support x1, x2, or x4 lane configurations, it uses numbers in the device tree to assign the port index.
for example, port-index = <4> it means CSI-E is used.
please look into your drivers,
you should double confirm both of Raspberry Pi, and Allied Visionand were using separate CSI port.
thanks
Hi Jerry,
Thanks for that, I did some digging earlier and did find those files.
I see that the IMX219 uses index 0 and 4, while the avt (Allied vision) driver, also uses the same index.
I assume this means that they are both using the same CSI port?
as you can see, that’s simply copy Raspberry Pi’s node definitions and assign both of the cam_module0 and cam_module1 to the same nodes.
heterogeneous cameras were supported, but you’ll need to correct the device tree settings, please revise the CSI port mappings, for example, you can use CSI-A for Raspberry Pi, and CSI-E for Allied Visionand.
thanks
and the
proc-device-tree = “/proc/device-tree/cam_i2cmux/i2c@1/rbpcv2_imx219_e@10”;
Could you explain why those differences would fix the issue? Also, do I need to change any of the other files? Since the avt drivers has two files, the one I sent and another called “tegra210-porg-camera-avt-dual-b00.dtsi”
I will link the Allied vision’s open source code on github if it helps.
that’s code snippets recap from your source, tegra210-camera-avt-dual-b00.dtsi, the camera node definition in the tegra-camera-platform is incorrect.
note, device tree blob taking several sources and compose them into single binary file, i.e. tegra210-p3448-0000-p3449-0000-a02.dtb; you should review the sources to make camera nodes to use separate CSI ports.
here’s simple command to disassembler the dtb file into text file for examination,
for example, $ dtc -I dtb -O dts -o output.txt tegra210.dtb.
thanks
I see, so, tegra210-p3448-0000-p3449-0000-a02.dtb is all the sources like tegra210-camera-avt-dual-b00.dtsi compiled into one tree.
I will try and do some modifications to the driver files, I will send them here when I have because I probably won’t have done it correctly. So it would be awesome if you can help me correct them when I get them sent here.