I am currently testing cameras based on the onsemi AR2020 sensor to be used with the jetson orin nano.
I have a development kit of the AR2020 which is connected with a MIPI cable to the orin nano carrier board. I am looking to bring up the camera working with the jetson and I need a suitable driver for it.
I am familiar with the suitable drivers and device tree files the jetson nano (not orin nano).
I am asking for assistance with the required files for the orin nano, as I was not able to modify them by myself. What I understand that I need is:
dts files for the camera relevant to the orin nano
.c and .h driver files for the ar2020 driver updated to the orin nano platform
We tried looking for the AR2020 camera driver on NVIDIA sources, as well as on Onsemi and other different web-sites but were unable to find them.
It seems like the Datasheet for the sensor can be requested to Onsemi via their website, which is great since there are a couple approaches one could take:
The easiest option is to write to Onsemi support and ask them if they are able to provide a camera driver.
If you are familiar with the driver for Jetson Nano, one option would be to port that driver to Jetson Orin Nano, which would be faster than developing the driver from scratch.
The final option could be to write the camera driver using the sensor data sheet and other documentation available.
If you need assistance porting the Jetson Nano driver or developing the driver from scratch, please do not hesitate to reach out, we have plenty of experience with camera drivers and would be happy to assist you.
best regards,
Andrew
Embedded Software Engineer at ProventusNova
you may visit L4T page, i.e. jetson-linux-r3643 to download [Driver Package (BSP) Sources] package.
please extract [kernel_oot_modules_src.tbz2] package for reference sensor drivers and also device tree.
let me taking IMX185 camera sensor as an example,
sensor kernel driver: $public_sources/r36.4.3/Linux_for_Tegra/source/kernel_oot_modules_src/nvidia-oot/drivers/media/i2c/nv_imx185.c
sensor device tree: $public_sources/r36.4.3/Linux_for_Tegra/source/kernel_oot_modules_src/hardware/nvidia/t23x/nv-public/overlay/tegra234-camera-imx185-a00.dtsi
that failure usually caused by an unrecognised DT entry.
I’ve went through your code quickly, it looks there’s no node point-to rbpcv2_ar2020_csi_out0.
please note that..
the port bindings is.. Sensor [sensor_out] → [csi_in] CSI [csi_out] → [vi_in] VI.
please check below, such as.. liimx185_csi_in0 and liimx185_csi_out0.
it looks you’re based-on IMX185 for development, you should revise those node to match your ar2020 nodes to have correct port bindings.
BTW, I usually use dtc utility for quick testing, otherwise, I build from sources to develop the *.dtb.
please see-also developer guide, Kernel Customization to build the DTBs.
Thanks for checking out the files
I am not able to build a device tree for my jetson orin nano yet, and I did not find an example device tree for my hardware in the resources.
I am working on a jetson orin nano 8BG with it’s regular carrier board with the following part numbers:
P3767-0003 module
P3768-0000 carrier board
can you please share the dts and dtsi files for reference design for them?
you may check Kernel Customization to obtain the Jetson Linux kernel sources and also the steps to build the Jetson Linux Kernel/NVIDIA Out-of-Tree Modules/DTBs.
please check the Jetpack installation path if you download Jetpack public release via SDK Manager,
for instance, ~/nvidia/nvidia_sdk/JetPack_6.2_Linux_JETSON_ORIN_NANO_TARGETS/Linux_for_Tegra/
there’s board configuration file, jetson-orin-nano-devkit.conf for flashing Orin Nano DevKit, which will process the board SKUs and indicate the specific binary file.
for instance,