drivers/media/platform/raspberrypi/rp1-cfe/cfe-fmts.h

Source file repositories/reference/linux-study-clean/drivers/media/platform/raspberrypi/rp1-cfe/cfe-fmts.h

File Facts

System
Linux kernel
Corpus path
drivers/media/platform/raspberrypi/rp1-cfe/cfe-fmts.h
Extension
.h
Size
8323 bytes
Lines
333
Domain
Driver Families
Bucket
drivers/media
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _CFE_FMTS_H_
#define _CFE_FMTS_H_

#include "cfe.h"
#include <media/mipi-csi2.h>

static const struct cfe_fmt formats[] = {
	/* YUV Formats */
	{
		.fourcc = V4L2_PIX_FMT_YUYV,
		.code = MEDIA_BUS_FMT_YUYV8_1X16,
		.depth = 16,
		.csi_dt = MIPI_CSI2_DT_YUV422_8B,
	},
	{
		.fourcc = V4L2_PIX_FMT_UYVY,
		.code = MEDIA_BUS_FMT_UYVY8_1X16,
		.depth = 16,
		.csi_dt = MIPI_CSI2_DT_YUV422_8B,
	},
	{
		.fourcc = V4L2_PIX_FMT_YVYU,
		.code = MEDIA_BUS_FMT_YVYU8_1X16,
		.depth = 16,
		.csi_dt = MIPI_CSI2_DT_YUV422_8B,
	},
	{
		.fourcc = V4L2_PIX_FMT_VYUY,
		.code = MEDIA_BUS_FMT_VYUY8_1X16,
		.depth = 16,
		.csi_dt = MIPI_CSI2_DT_YUV422_8B,
	},
	{
		/* RGB Formats */
		.fourcc = V4L2_PIX_FMT_RGB565, /* gggbbbbb rrrrrggg */
		.code = MEDIA_BUS_FMT_RGB565_2X8_LE,
		.depth = 16,
		.csi_dt = MIPI_CSI2_DT_RGB565,
	},
	{	.fourcc = V4L2_PIX_FMT_RGB565X, /* rrrrrggg gggbbbbb */
		.code = MEDIA_BUS_FMT_RGB565_2X8_BE,
		.depth = 16,
		.csi_dt = MIPI_CSI2_DT_RGB565,
	},
	{
		.fourcc = V4L2_PIX_FMT_RGB555, /* gggbbbbb arrrrrgg */
		.code = MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE,
		.depth = 16,
		.csi_dt = MIPI_CSI2_DT_RGB555,
	},
	{
		.fourcc = V4L2_PIX_FMT_RGB555X, /* arrrrrgg gggbbbbb */
		.code = MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE,
		.depth = 16,
		.csi_dt = MIPI_CSI2_DT_RGB555,
	},
	{
		.fourcc = V4L2_PIX_FMT_RGB24, /* rgb */
		.code = MEDIA_BUS_FMT_RGB888_1X24,
		.depth = 24,
		.csi_dt = MIPI_CSI2_DT_RGB888,
	},
	{
		.fourcc = V4L2_PIX_FMT_BGR24, /* bgr */
		.code = MEDIA_BUS_FMT_BGR888_1X24,
		.depth = 24,
		.csi_dt = MIPI_CSI2_DT_RGB888,
	},
	{
		.fourcc = V4L2_PIX_FMT_RGB32, /* argb */
		.code = MEDIA_BUS_FMT_ARGB8888_1X32,
		.depth = 32,
		.csi_dt = 0x0,
	},

	/* Bayer Formats */
	{
		.fourcc = V4L2_PIX_FMT_SBGGR8,
		.code = MEDIA_BUS_FMT_SBGGR8_1X8,
		.depth = 8,
		.csi_dt = MIPI_CSI2_DT_RAW8,
		.remap = { V4L2_PIX_FMT_SBGGR16, V4L2_PIX_FMT_PISP_COMP1_BGGR },
	},
	{
		.fourcc = V4L2_PIX_FMT_SGBRG8,
		.code = MEDIA_BUS_FMT_SGBRG8_1X8,
		.depth = 8,
		.csi_dt = MIPI_CSI2_DT_RAW8,
		.remap = { V4L2_PIX_FMT_SGBRG16, V4L2_PIX_FMT_PISP_COMP1_GBRG },
	},

Annotation

Implementation Notes