Use ISP on R23.2/R24.1, 32-bit, with custom MIPI camera.

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. :-)

Hi actuated
Before the 24.2.1 only support soc_camera, and nvcamerasrc not support soc_camera. For the soc_camera you only can get the raw data by v4l2src and need convert the bayer to rgb by yourself.

That’s what I suspected. Thanks.