[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250810220921.14307-5-will@willwhang.com>
Date: Sun, 10 Aug 2025 23:09:21 +0100
From: Will Whang <will@...lwhang.com>
To: Will Whang <will@...lwhang.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Shawn Guo <shawnguo@...nel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Fabio Estevam <festevam@...il.com>,
Sakari Ailus <sakari.ailus@...ux.intel.com>
Cc: linux-media@...r.kernel.org,
devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
imx@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org
Subject: [PATCH v2 4/4] media: docs: Add userspace-API guide for the IMX585 driver
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@...lwhang.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@...lwhang.com>
L: linux-media@...r.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
Powered by blists - more mailing lists