linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robert Foss <robert.foss@linaro.org>
To: agross@kernel.org, bjorn.andersson@linaro.org,
	robert.foss@linaro.org, todor.too@gmail.com, mchehab@kernel.org,
	robh+dt@kernel.org, angelogioacchino.delregno@somainline.org,
	linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	AngeloGioacchino Del Regno <kholk11@gmail.com>,
	Sakari Ailus <sakari.ailus@iki.fi>,
	Nicolas Boichat <drinkcat@chromium.org>,
	Andrey Konovalov <andrey.konovalov@linaro.org>
Cc: Rob Herring <robh@kernel.org>, Tomasz Figa <tfiga@chromium.org>,
	Azam Sadiq Pasha Kapatrala Syed <akapatra@quicinc.com>,
	Sarvesh Sridutt <Sarvesh.Sridutt@smartwirelesscompute.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Jonathan Marek <jonathan@marek.ca>
Subject: [PATCH v5 08/22] media: camss: Add missing format identifiers
Date: Wed, 17 Feb 2021 12:21:08 +0100	[thread overview]
Message-ID: <20210217112122.424236-9-robert.foss@linaro.org> (raw)
In-Reply-To: <20210217112122.424236-1-robert.foss@linaro.org>

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.foss@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


  parent reply	other threads:[~2021-02-17 11:28 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-17 11:21 [PATCH v5 00/22] Add support for the SDM845 Camera Subsystem Robert Foss
2021-02-17 11:21 ` [PATCH v5 01/22] media: camss: Fix vfe_isr_comp_done() documentation Robert Foss
2021-02-19 21:05   ` Nicolas Dufresne
2021-02-22 10:51     ` Robert Foss
2021-02-20 18:44   ` Andrey Konovalov
2021-02-17 11:21 ` [PATCH v5 02/22] media: camss: Fix vfe_isr comment typo Robert Foss
2021-02-17 11:21 ` [PATCH v5 03/22] media: camss: Replace trace_printk() with dev_dbg() Robert Foss
2021-02-17 11:21 ` [PATCH v5 04/22] media: camss: Add CAMSS_845 camss version Robert Foss
2021-02-20 18:42   ` Andrey Konovalov
2021-02-17 11:21 ` [PATCH v5 05/22] media: camss: Make ISPIF subdevice optional Robert Foss
2021-02-18 19:49   ` Andrey Konovalov
2021-02-17 11:21 ` [PATCH v5 06/22] media: camss: Refactor VFE HW version support Robert Foss
2021-02-20 18:35   ` Andrey Konovalov
2021-02-22 10:46     ` Robert Foss
2021-02-17 11:21 ` [PATCH v5 07/22] media: camss: Add support for VFE hardware version Titan 170 Robert Foss
2021-02-20 21:40   ` Andrey Konovalov
2021-02-22 16:37     ` Robert Foss
2021-02-22 17:06       ` Andrey Konovalov
2021-02-22 17:21         ` Robert Foss
2021-02-22 17:24           ` Andrey Konovalov
2021-02-20 21:40   ` Andrey Konovalov
2021-02-17 11:21 ` Robert Foss [this message]
2021-02-22 16:26   ` [PATCH v5 08/22] media: camss: Add missing format identifiers Andrey Konovalov
2021-02-23 17:25     ` Robert Foss
2021-02-17 11:21 ` [PATCH v5 09/22] media: camss: Refactor CSID HW version support Robert Foss
2021-02-21 15:15   ` Andrey Konovalov
2021-02-21 17:50     ` Andrey Konovalov
2021-02-22 18:13       ` Robert Foss
2021-02-17 11:21 ` [PATCH v5 10/22] media: camss: Add support for CSID hardware version Titan 170 Robert Foss
2021-02-21 17:14   ` Andrey Konovalov
2021-02-22 17:06     ` Robert Foss
2021-02-17 11:21 ` [PATCH v5 11/22] media: camss: Add support for CSIPHY " Robert Foss
2021-02-21 18:17   ` Andrey Konovalov
2021-02-23  9:36     ` Robert Foss
2021-02-17 11:21 ` [PATCH v5 12/22] media: camss: Remove per VFE power domain toggling Robert Foss
2021-02-22 11:44   ` Andrey Konovalov
2021-02-24 14:53     ` Robert Foss
2021-02-17 11:21 ` [PATCH v5 13/22] media: camss: Enable SDM845 Robert Foss
2021-02-21 18:32   ` Andrey Konovalov
2021-02-17 11:21 ` [PATCH v5 14/22] dt-bindings: media: camss: Add qcom,msm8916-camss binding Robert Foss
2021-02-17 11:21 ` [PATCH v5 15/22] dt-bindings: media: camss: Add qcom,msm8996-camss binding Robert Foss
2021-02-17 11:21 ` [PATCH v5 16/22] dt-bindings: media: camss: Add qcom,sdm660-camss binding Robert Foss
2021-02-17 11:21 ` [PATCH v5 17/22] dt-bindings: media: camss: Add qcom,sdm845-camss binding Robert Foss
2021-02-17 11:21 ` [PATCH v5 18/22] MAINTAINERS: Change CAMSS documentation to use dtschema bindings Robert Foss
2021-02-17 11:21 ` [PATCH v5 19/22] media: dt-bindings: media: Remove qcom,camss documentation Robert Foss
2021-02-17 11:21 ` [PATCH v5 20/22] arm64: dts: sdm845: Add CAMSS ISP node Robert Foss
2021-02-21 18:39   ` Andrey Konovalov
2021-02-17 11:21 ` [PATCH v5 21/22] arm64: dts: sdm845-db845c: Configure regulators for camss node Robert Foss
2021-02-21 18:39   ` Andrey Konovalov
2021-02-17 11:21 ` [PATCH v5 22/22] arm64: dts: sdm845-db845c: Enable ov8856 sensor and connect to ISP Robert Foss
2021-02-21 18:39   ` Andrey Konovalov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210217112122.424236-9-robert.foss@linaro.org \
    --to=robert.foss@linaro.org \
    --cc=Sarvesh.Sridutt@smartwirelesscompute.com \
    --cc=agross@kernel.org \
    --cc=akapatra@quicinc.com \
    --cc=andrey.konovalov@linaro.org \
    --cc=angelogioacchino.delregno@somainline.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=drinkcat@chromium.org \
    --cc=jonathan@marek.ca \
    --cc=kholk11@gmail.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=robh@kernel.org \
    --cc=sakari.ailus@iki.fi \
    --cc=tfiga@chromium.org \
    --cc=todor.too@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).