media: Define MIPI CSI-2 data types in a shared header file
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Sun, 23 Jan 2022 15:36:19 +0000 (16:36 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Thu, 17 Feb 2022 09:29:44 +0000 (10:29 +0100)
There are many CSI-2-related drivers in the media subsystem that come
with their own macros to handle the CSI-2 data types (or just hardcode
the numerical values). Provide a shared header with definitions for
those data types that driver can use.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
include/media/mipi-csi2.h [new file with mode: 0644]

diff --git a/include/media/mipi-csi2.h b/include/media/mipi-csi2.h
new file mode 100644 (file)
index 0000000..392794e
--- /dev/null
@@ -0,0 +1,45 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * MIPI CSI-2 Data Types
+ *
+ * Copyright (C) 2022 Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+ */
+
+#ifndef _MEDIA_MIPI_CSI2_H
+#define _MEDIA_MIPI_CSI2_H
+
+/* Short packet data types */
+#define MIPI_CSI2_DT_FS                        0x00
+#define MIPI_CSI2_DT_FE                        0x01
+#define MIPI_CSI2_DT_LS                        0x02
+#define MIPI_CSI2_DT_LE                        0x03
+#define MIPI_CSI2_DT_GENERIC_SHORT(n)  (0x08 + (n))    /* 0..7 */
+
+/* Long packet data types */
+#define MIPI_CSI2_DT_NULL              0x10
+#define MIPI_CSI2_DT_BLANKING          0x11
+#define MIPI_CSI2_DT_EMBEDDED_8B       0x12
+#define MIPI_CSI2_DT_YUV420_8B         0x18
+#define MIPI_CSI2_DT_YUV420_10B                0x19
+#define MIPI_CSI2_DT_YUV420_8B_LEGACY  0x1a
+#define MIPI_CSI2_DT_YUV420_8B_CS      0x1c
+#define MIPI_CSI2_DT_YUV420_10B_CS     0x1d
+#define MIPI_CSI2_DT_YUV422_8B         0x1e
+#define MIPI_CSI2_DT_YUV422_10B                0x1f
+#define MIPI_CSI2_DT_RGB444            0x20
+#define MIPI_CSI2_DT_RGB555            0x21
+#define MIPI_CSI2_DT_RGB565            0x22
+#define MIPI_CSI2_DT_RGB666            0x23
+#define MIPI_CSI2_DT_RGB888            0x24
+#define MIPI_CSI2_DT_RAW24             0x27
+#define MIPI_CSI2_DT_RAW6              0x28
+#define MIPI_CSI2_DT_RAW7              0x29
+#define MIPI_CSI2_DT_RAW8              0x2a
+#define MIPI_CSI2_DT_RAW10             0x2b
+#define MIPI_CSI2_DT_RAW12             0x2c
+#define MIPI_CSI2_DT_RAW14             0x2d
+#define MIPI_CSI2_DT_RAW16             0x2e
+#define MIPI_CSI2_DT_RAW20             0x2f
+#define MIPI_CSI2_DT_USER_DEFINED(n)   (0x30 + (n))    /* 0..7 */
+
+#endif /* _MEDIA_MIPI_CSI2_H */