The CSI-2 spec defines the following types:
 - Data Type - Often abbreviated DT
 - Decode Format - Often abbreviated as DF
 - Encode Format

These definitions are as far as I can tell complete for CSI-2.

Additionally the Qualcomm internal type describing Plain Formats
has been added. Plain formats describe the size of the pixels
written by the RDI units to memory. PLAIN8 for example has the size
8 bits, and PLAIN32 32 bits. The appropriate Plain Format is
determined by the Decode Format used. The smallest Plain Format
that is able to contain a pixel of the used Decode Format is the
appropriate one to use.

Signed-off-by: Robert Foss <robert.f...@linaro.org>
---
 .../media/platform/qcom/camss/camss-csid.h    | 50 +++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/drivers/media/platform/qcom/camss/camss-csid.h 
b/drivers/media/platform/qcom/camss/camss-csid.h
index 1824b3745e10..02fc34ee8a41 100644
--- a/drivers/media/platform/qcom/camss/camss-csid.h
+++ b/drivers/media/platform/qcom/camss/camss-csid.h
@@ -21,6 +21,56 @@
 #define MSM_CSID_PAD_SRC 1
 #define MSM_CSID_PADS_NUM 2
 
+#define DATA_TYPE_EMBEDDED_DATA_8BIT   0x12
+#define DATA_TYPE_YUV420_8BIT          0x18
+#define DATA_TYPE_YUV420_10BIT         0x19
+#define DATA_TYPE_YUV420_8BIT_LEGACY   0x1a
+#define DATA_TYPE_YUV420_8BIT_SHIFTED  0x1c /* Chroma Shifted Pixel Sampling */
+#define DATA_TYPE_YUV420_10BIT_SHIFTED 0x1d /* Chroma Shifted Pixel Sampling */
+#define DATA_TYPE_YUV422_8BIT          0x1e
+#define DATA_TYPE_YUV422_10BIT         0x1f
+#define DATA_TYPE_RGB444               0x20
+#define DATA_TYPE_RGB555               0x21
+#define DATA_TYPE_RGB565               0x22
+#define DATA_TYPE_RGB666               0x23
+#define DATA_TYPE_RGB888               0x24
+#define DATA_TYPE_RAW_24BIT            0x27
+#define DATA_TYPE_RAW_6BIT             0x28
+#define DATA_TYPE_RAW_7BIT             0x29
+#define DATA_TYPE_RAW_8BIT             0x2a
+#define DATA_TYPE_RAW_10BIT            0x2b
+#define DATA_TYPE_RAW_12BIT            0x2c
+#define DATA_TYPE_RAW_14BIT            0x2d
+#define DATA_TYPE_RAW_16BIT            0x2e
+#define DATA_TYPE_RAW_20BIT            0x2f
+
+#define DECODE_FORMAT_UNCOMPRESSED_6_BIT       0x0
+#define DECODE_FORMAT_UNCOMPRESSED_8_BIT       0x1
+#define DECODE_FORMAT_UNCOMPRESSED_10_BIT      0x2
+#define DECODE_FORMAT_UNCOMPRESSED_12_BIT      0x3
+#define DECODE_FORMAT_UNCOMPRESSED_14_BIT      0x4
+#define DECODE_FORMAT_UNCOMPRESSED_16_BIT      0x5
+#define DECODE_FORMAT_UNCOMPRESSED_20_BIT      0x6
+#define DECODE_FORMAT_DPCM_10_6_10             0x7
+#define DECODE_FORMAT_DPCM_10_8_10             0x8
+#define DECODE_FORMAT_DPCM_12_6_12             0x9
+#define DECODE_FORMAT_DPCM_12_8_12             0xA
+#define DECODE_FORMAT_DPCM_14_8_14             0xB
+#define DECODE_FORMAT_DPCM_14_10_14            0xC
+#define DECODE_FORMAT_USER_DEFINED             0xE
+#define DECODE_FORMAT_PAYLOAD_ONLY             0xF
+
+#define ENCODE_FORMAT_RAW_8_BIT                0x1
+#define ENCODE_FORMAT_RAW_10_BIT       0x2
+#define ENCODE_FORMAT_RAW_12_BIT       0x3
+#define ENCODE_FORMAT_RAW_14_BIT       0x4
+#define ENCODE_FORMAT_RAW_16_BIT       0x5
+
+#define PLAIN_FORMAT_PLAIN8    0x0 /* supports DPCM, UNCOMPRESSED_6/8_BIT */
+#define PLAIN_FORMAT_PLAIN16   0x1 /* supports DPCM, UNCOMPRESSED_10/16_BIT */
+#define PLAIN_FORMAT_PLAIN32   0x2 /* supports UNCOMPRESSED_20_BIT */
+
+
 enum csid_payload_mode {
        CSID_PAYLOAD_MODE_INCREMENTING = 0,
        CSID_PAYLOAD_MODE_ALTERNATING_55_AA = 1,
-- 
2.27.0

Reply via email to