I’ve written a camera driver for the R24.2.1 release, but now I’m tasked with porting that to an earlier release because of some vendors with 32-bit-only drivers/libraries.
Before R24.2.1, there are no instructions for integrating a new MIPI camera with the on-board ISP (e.g., using the Nvidia plugins for Gstreamer). The instructions only detail how to bypass the ISP and write a simple V4L2 driver.
So, my question: Is this possible?
I’ve back-ported my driver to the R23.2 kernel, and had to pull out a bunch of code: some camera_common functions were missing. They didn’t seem too important, and I can probably re-write or borrow code from the R24.2.1 kernel if necessary.
However, when I tried to launch a Gstreamer pipeline, I just get errors like the following about not finding the module. I suspect that I need to manually load the camera driver in the platform code, so that’s what I’ll try next, but I wanted to ask the general question before I go too far down the rabbit hole.
NvPclStateControllerOpen: error: could not match ImagerGUID 0 to module position
NvPclStateControllerOpen: Failed ImagerGUID 0. (error 0x0)
NvPclOpen: PCL Open Failed. Error: 0xf
SCF: Error ResourceError: No cameras on platform (in src/services/capture/CaptureServiceDeviceSensor.cpp, function listRealSensors(), line 450)
SCF: Error BadParameter: index out of range (in src/api/CameraDriver.cpp, function getSource(), line 497)
P.S., a 32-bit driver package for R24.2.x would also be nice. :-)