GMSL camera integration

Hello everybody,
we would like to integrate the GMSL camera design in our custom Linux image.
I wasn’t able to find any detailed information on the topic. I don’t know for example what should I add to my device tree, which drivers need to be included, more information about the nvargus, and so forth.
Could someone help? Thanks

1 Like

HI,
thanks, I reviewed already this document, but I’ll do it again for you.

1 Like

Hi, the main things that are needed are some changes to the camera nodes in the device-tree to properly link the GMSL Driver and camera driver. The Nvidia documentation has an example of the changes needed, such as dser and ser nodes seen here:

tca9546@70 {
    compatible = "nxp,pca9546";

    i2c@0 {
        ...
        reg = <0>;

        dser: max9296@48 {
            /* single common deserializer at 0x48 */
            compatible = "nvidia,max9296";
            ...
        };

        ser_prim: max9295_prim@62 { /* Default serializer device */
            compatible = "nvidia,max9295";
            ...
        };

        ser_a: max9295_a@40 {
            ...
        };

        imx390_a@1b {
            ...
            gmsl-link {
                src-csi-port = "b";         /* Port at which sensor is connected to its serializer device. */
                dst-csi-port = "a";         /* Destination CSI port on the Jetson side, connected at deserializer. */
                serdes-csi-link = "a";      /* GMSL link sensor/serializer connected to sensor CSI node. */
                csi-mode = "1x4";
                st-vc = <0>;                /* Sensor source default VC ID: 0 unless overridden by sensor. */
                vc-id = <0>;                /* Destination VC ID, assigned to sensor stream by deserializer. */
                num-lanes = <2>;            /* Number of CSI lanes used. */        
                streams = "ued-u1", "raw12";/* Types of streams sensor is streaming. */
            };
        };
    };

This of course would have to be updated to your specific hardware settings.

In terms of drivers you would need the drivers for the serializer, deserializer and camera. These likely would have dependencies on one another since the stream requires for all of these devices to be setup in order for the frame stream to start.

Jafeth Garcia
Embedded SW Engineer at RidgeRun

Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com/
Website: www.ridgerun.com