Vi, nvcsi, Sensor driver -- Configurations

Hi All,

How to configure the below parameters:

Color Format: YUV_422
Color Depth: 12
Pixels Per Clock: 2

In Sensor driver and device tree, how to configure these values.

In Sensor driver, we may use the macro like this MEDIA_BUS_FMT_UYVY8_1X16.
But have the doubts on this. How to specify this Pixels per clock??



In TRM page no: 2790, Input Data Formats section, 27.10.1, then

RGB 4ppc: RGB666, RGB888

Whether 4ppc is must for RBG888 format?
For RGB888 format, Can we use the 2ppc?

If we can use the 2ppc, then where to configure these parameters in driver file or device tree values.


For the YUV sensor you need to add YUV/RGB support for the vi driver in the kernel/kernel-4.4/drivers/media/platform/camera/

Hi ShaneCCC,

Thanks for the reply.

In HDMI to CSI converter,

For 24 bpp mode the output is as follows:
Color Format: RGB
Color Depth: 8
Pixels Per Clock: 2

How to specify this in Vi driver?? In #2 comment, query, provide your inputs.


You can reference to the kernel/kernel-4.4/drivers/media/i2c/tc358840.c for HDMI-IN this driver support both RGB and YUV.

Checked this driver source code, this does not have info about Pixels Per Clock and its related information.

CSI operates at 8PPC or 4PPC depending on CSI pixel formats.
The same is true for VI as well. There is no programmability.

Hi ShaneCCC,

Thanks for the reply.

The camera device input is RGB888 and 2PPC. What do to do? Any ideas.

What are the camera devices compatible to Nvidia’s nvcsi and vi controller?


On CSI bus there is no concept of PPC.
It is a serial line and pixels are transferred one bit at a time.

Only inside NVCSI, it is grouped as either 4PPC or 8PPC.