MIPI Camera Driver Development


I have been developing a camera setup that can support one (or multiple) GMSL2 cameras for a project. In my setup, a Leopard Imaging LI-AR0820-GMSL2 camera is connected to Connect Tech’s Xavier GMSL Camera Platform. That board is in turn connected to the CSI port of a Xavier DevKit.

Leopard Imaging sent me a guide to download and flash the kernel with the driver for the camera. However, that driver does not work with my setup, which I guess is because they are using their own CSI breakout and deserializer board. Since I am a beginner, I would appreciate some guidance on what I need to do to adapt the driver to my particular setup.

For reference, I have access to both the source of the Leopard Imaging driver and the Connect Tech L4T BSP (though it is for their own carrier boards), if that helps. The image below is of the setup that I am using.

It’s could be better to consult with Leopard directly.

Hi goodarzm,
Have you tested the driver with our MIPI adapter and De-Serializer board? I think the issue should be caused by the different hardware. You may need to check with ConnectTech to see if they have driver reference for their MIPI and De-Serializer board and also refer to our AR0820 source code build the driver for this camera kit.

Thanks for the information. I have LI’s GMSL2 to USB3 board which I am not sure if it works with this driver. In Connect Tech’s source I saw a couple of drivers for sensors like IMX390. I will check with them again to see if they have a driver reference.

On a broader note though, I am interested in learning what I should do for working with GMSL2 cameras that may not have a driver readily available. Would it be possible to create a driver for them by modifying the source C++ file of an existing camera (say imx390.cpp) or if additional steps are needed.

Hi goodarzm,

Our current AR0820 Xavier driver works with our LI-JXAV-MIPI-ADPT-4CAM and LI-GMSL2-IPX-DESER board.
If you apply our driver patches to R32.3.1 kernel code, you will see the code files we modified. Then you can migrate the code to ConnectTech’s source.

Did you ever get this setup working with the Leopard Imaging camera? I am also interested in the Connect Tech GMSL board. Thanks.

No, because among other things, I had the JCB002 variant (shorter camera header) which could not fit on the DevKit and using a cable between the two headers caused voltage drop and the DevKit would act strangely. I have ordered the LI setup in post 5 to try again.

Hi @goodarzm ,

Did you get Xavier->Serdes->LI-AR0820 setup to work? I have started to work on the same. Any leads would be a time saver.


I ended up using the setup here.