From: Will Whang <will@willwhang.com>
To: Will Whang <will@willwhang.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>
Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 4/4] media: docs: Add userspace-API guide for the IMX585 driver
Date: Sun, 10 Aug 2025 23:09:21 +0100 [thread overview]
Message-ID: <20250810220921.14307-5-will@willwhang.com> (raw)
In-Reply-To: <20250810220921.14307-1-will@willwhang.com>
The new IMX585 V4L2 sub-device driver introduces several
driver-specific controls for configuring Clear-HDR blending,
gradation compression thresholds, and HCG enabling. This patch adds
an rst document under Documentation/userspace-api/media/drivers/
that details each control, allowed values, and their effects.
Signed-off-by: Will Whang <will@willwhang.com>
---
.../userspace-api/media/drivers/imx585.rst | 122 ++++++++++++++++++
.../userspace-api/media/drivers/index.rst | 1 +
MAINTAINERS | 1 +
3 files changed, 124 insertions(+)
create mode 100644 Documentation/userspace-api/media/drivers/imx585.rst
diff --git a/Documentation/userspace-api/media/drivers/imx585.rst b/Documentation/userspace-api/media/drivers/imx585.rst
new file mode 100644
index 000000000..9f7c16f30
--- /dev/null
+++ b/Documentation/userspace-api/media/drivers/imx585.rst
@@ -0,0 +1,122 @@
+.. SPDX-License-Identifier: GPL-2.0-only
+
+Sony IMX585 driver
+==================
+
+The IMX585 image-sensor driver provides the following *driver-specific*
+V4L2 controls. They are visible only when the IMX585 driver is loaded
+and sit in the sensor-private control class.
+
+HDR data blending
+-----------------
+
+``V4L2_CID_IMX585_HDR_DATASEL_TH`` (``U16[2]``)
+ Lower/upper **thresholds** (0 – 4095) that decide which exposure is
+ chosen—or blended—for each pixel in Clear-HDR mode.
+
+``V4L2_CID_IMX585_HDR_DATASEL_BK`` (menu)
+ **Blending ratio** between the long-gain (LG) and
+ high-gain (HG) read-outs.
+
+ .. flat-table::
+ :stub-columns: 0
+ :widths: 1 5
+
+ * - ``0``
+ - HG ½, LG ½
+ * - ``1``
+ - HG ¾, LG ¼
+ * - ``2`` # duplicate ratio present in the datasheet
+ - HG ½, LG ½
+ * - ``3``
+ - HG ⅞, LG ⅛
+ * - ``4``
+ - HG 15⁄16, LG 1⁄16
+ * - ``5`` # second 50/50 entry as documented
+ - **2ⁿᵈ** HG ½, LG ½
+ * - ``6``
+ - HG 1⁄16, LG 15⁄16
+ * - ``7``
+ - HG ⅛, LG ⅞
+ * - ``8``
+ - HG ¼, LG ¾
+
+Gradation compression
+---------------------
+
+``V4L2_CID_IMX585_HDR_GRAD_TH`` (``U32[2]``)
+ 17-bit **break-points** (0 – 0x1ffff) that shape the 16-bit
+ gradation-compression curve.
+
+``V4L2_CID_IMX585_HDR_GRAD_COMP_L`` (menu)
+ See V4L2_CID_IMX585_HDR_GRAD_COMP_H
+
+``V4L2_CID_IMX585_HDR_GRAD_COMP_H`` (menu)
+ **Compression ratios** below the first break-point and between the
+ two break-points, respectively.
+
+ .. flat-table::
+ :stub-columns: 0
+ :widths: 1 4
+
+ * - ``0``
+ - 1 : 1
+ * - ``1``
+ - 1 : 2
+ * - ``2``
+ - 1 : 4 *(default for COMP_L)*
+ * - ``3``
+ - 1 : 8
+ * - ``4``
+ - 1 : 16
+ * - ``5``
+ - 1 : 32
+ * - ``6``
+ - 1 : 64 *(default for COMP_H)*
+ * - ``7``
+ - 1 : 128
+ * - ``8``
+ - 1 : 256
+ * - ``9``
+ - 1 : 512
+ * - ``10``
+ - 1 : 1024
+ * - ``11``
+ - 1 : 2048
+
+Gain settings
+-------------
+
+``V4L2_CID_IMX585_HDR_GAIN`` (menu)
+ **Additional gain** (in dB) applied to the high-gain path when
+ Clear-HDR is active.
+
+ .. flat-table::
+ :stub-columns: 0
+ :widths: 1 3
+
+ * - ``0``
+ - +0 dB
+ * - ``1``
+ - +6 dB
+ * - ``2``
+ - +12 dB *(default)*
+ * - ``3``
+ - +18 dB
+ * - ``4``
+ - +24 dB
+ * - ``5``
+ - +29.1 dB
+
+``V4L2_CID_IMX585_HCG_GAIN`` (boolean)
+ Toggle **High-Conversion-Gain** mode.
+
+ *0 = LCG (default), 1 = HCG.*
+
+Notes
+-----
+
+* Controls are writable while streaming; changes take effect from the
+ next frame.
+* HDR-specific controls are hidden when HDR is disabled.
+* Inter-control dependencies are enforced by the driver.
diff --git a/Documentation/userspace-api/media/drivers/index.rst b/Documentation/userspace-api/media/drivers/index.rst
index d706cb47b..87912acfb 100644
--- a/Documentation/userspace-api/media/drivers/index.rst
+++ b/Documentation/userspace-api/media/drivers/index.rst
@@ -32,6 +32,7 @@ For more details see the file COPYING in the source distribution of Linux.
cx2341x-uapi
dw100
imx-uapi
+ imx585
max2175
npcm-video
omap3isp-uapi
diff --git a/MAINTAINERS b/MAINTAINERS
index 175f5236a..42e32b6ba 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -23183,6 +23183,7 @@ M: Will Whang <will@willwhang.com>
L: linux-media@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/media/i2c/sony,imx585.yaml
+F: Documentation/userspace-api/media/drivers/imx585.rst
F: drivers/media/i2c/imx585.c
F: include/uapi/linux/imx585.h
--
2.39.5
next prev parent reply other threads:[~2025-08-10 22:10 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-10 22:09 [PATCH v2 0/4] media: Add Sony IMX585 image sensor support Will Whang
2025-08-10 22:09 ` [PATCH v2 1/4] dt-bindings: media: Add Sony IMX585 CMOS image sensor Will Whang
2025-08-11 8:00 ` Krzysztof Kozlowski
2025-08-12 2:47 ` Will Whang
2025-08-12 6:23 ` Krzysztof Kozlowski
2025-08-12 6:31 ` Will Whang
2025-08-12 6:47 ` Krzysztof Kozlowski
2025-08-12 9:55 ` Laurent Pinchart
2025-08-13 4:30 ` Will Whang
2025-08-13 6:00 ` Krzysztof Kozlowski
2025-08-13 6:38 ` Will Whang
2025-08-13 7:34 ` Krzysztof Kozlowski
2025-08-10 22:09 ` [PATCH v2 2/4] media: uapi: Add custom IMX585 control IDs Will Whang
2025-08-10 22:09 ` [PATCH v2 3/4] media: i2c: imx585: Add Sony IMX585 image-sensor driver Will Whang
2025-08-11 8:05 ` Krzysztof Kozlowski
2025-08-11 8:06 ` Krzysztof Kozlowski
2025-08-16 19:44 ` Will Whang
2025-08-17 6:13 ` Krzysztof Kozlowski
2025-08-10 22:09 ` Will Whang [this message]
2025-08-11 14:17 ` [PATCH v2 4/4] media: docs: Add userspace-API guide for the IMX585 driver Dave Stevenson
2025-08-12 2:31 ` Will Whang
2025-08-12 11:28 ` Laurent Pinchart
2025-08-13 4:20 ` Will Whang
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=20250810220921.14307-5-will@willwhang.com \
--to=will@willwhang.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=sakari.ailus@linux.intel.com \
--cc=shawnguo@kernel.org \
/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
all inboxes | Powered by JetHome®