Hi, I’ve downloaded the bsp source for jetson linux 34.1.1 and I’ve written a custom V4L2 GMSL camera driver and its device tree for the omnivision sensor OX03A10 with imx185 and imx390 camera drivers as reference. I was following the sensor software driver programming guide and I have a few questions:
-
I want to register the camera driver by modifying the main platform device tree file, following this step:
Sensor Software Driver Programming — Jetson Linux<br/>Developer Guide 34.1 documentation
For the Orin AGX which file should I modify? Is it the file tegra234-p3701-0000-p3737-0000.dts under the path /hardware/nvidia/platform/t23x/concord/kernel-dts/ ?
Should I actually change anything in this file? For example, the plugin manager is not included in the .dts file. And the cvb/tegra234-p3737-camera-modules.dtsi file includes many camera device tree files, so in principle just including my camera device tree file in the above .dtsi file and changing it’s status to ‘okay’ should suffice right? Or should I create a new .dtsi file like the other sample camera .dtsi files ? In the sample files, I don’t see anywhere where there is a status = disabled or okay flag.
And will just saving the changes to this file, recompiling kernel and flashing the new image register the driver? -
If I use the above mentioned main platform device tree modification method to register a driver, should a device tree overlay file also be made?
-
An adaptor board is being made to connected the GMSL camera to the jetson camera connector, but the connector cable will arrive with a delay. Is it possible to check if the port bindings or the camera driver work properly in some way without connecting the camera?
-
And is there a way to update the kernel with the new driver without flashing again? I know we can make the driver a loadable module, but which file do I modify to add the CONFIG_VIDEO =m setting? And in this case the kernel has to be recompiled and flashed anyway when the driver is added for the first time right?
-
If the deserialiser on an external board is already configued with an external microcontroller, should I still include deserialiser settings in the device tree files? For example, can I use pix_clk_hz property instead of ser_des_pix_clk_hz?
I would really appreciate any answers you could provide.