mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Will Whang <will@willwhang.com>
To: Will Whang <will@willwhang.com>,
	Sakari Ailus <sakari.ailus@linux.intel.com>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	linux-media@vger.kernel.org (open list:SONY IMX585 SENSOR DRIVER),
	linux-kernel@vger.kernel.org (open list),
	devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND
	FLATTENED DEVICE TREE BINDINGS)
Subject: [PATCH v1 4/4] media: docs: Add userspace-API guide for the IMX585 driver
Date: Wed,  2 Jul 2025 07:38:36 +0100	[thread overview]
Message-ID: <20250702063836.3984-5-will@willwhang.com> (raw)
In-Reply-To: <20250702063836.3984-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 effect

Signed-off-by: Will Whang <will@willwhang.com>
---
 .../userspace-api/media/drivers/imx585.rst    | 95 +++++++++++++++++++
 1 file changed, 95 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..bb08afa93
--- /dev/null
+++ b/Documentation/userspace-api/media/drivers/imx585.rst
@@ -0,0 +1,95 @@
+.. 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``  - HG ½, LG ½  *(duplicate ratio present in the
+          datasheet)*
+        * - ``3``  - HG ⅞, LG ⅛
+        * - ``4``  - HG 15⁄16, LG 1⁄16
+        * - ``5``  - **2ⁿᵈ** HG ½, LG ½  *(second 50 %-50 % entry as
+          documented)*
+        * - ``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)
+``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.
-- 
2.39.5


      parent reply	other threads:[~2025-07-02  6:38 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-02  6:38 [PATCH v1 0/4] media: Add Sony IMX585 image sensor support Will Whang
2025-07-02  6:38 ` [PATCH v1 1/4] dt-bindings: media: Add Sony IMX585 CMOS image sensor Will Whang
2025-07-02  9:28   ` Laurent Pinchart
     [not found]     ` <CAFoNnrxquDp_yx_HSOe00cVDMcw2G+rTZs8x8RgOD3RO=tq-XA@mail.gmail.com>
2025-07-06 19:45       ` Laurent Pinchart
2025-07-04  8:08   ` Krzysztof Kozlowski
     [not found]     ` <CAFoNnry_BDeH9ERiDsncdpaH-f_qKqXyyM3e=M=j5ogJidU68g@mail.gmail.com>
2025-07-06  7:30       ` Krzysztof Kozlowski
2025-07-02  6:38 ` [PATCH v1 2/4] media: uapi: Add custom IMX585 control IDs Will Whang
2025-07-02  6:38 ` [PATCH v1 3/4] media: i2c: imx585: Add Sony IMX585 image-sensor driver Will Whang
2025-07-03 17:51   ` Laurent Pinchart
2025-07-03 17:54     ` Laurent Pinchart
     [not found]     ` <CAFoNnrx-YpQwY6_908x=8LK1uwWw0y5zKxsv+aTsW1fxX554vg@mail.gmail.com>
2025-07-06 20:30       ` Laurent Pinchart
2025-07-02  6:38 ` Will Whang [this message]

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=20250702063836.3984-5-will@willwhang.com \
    --to=will@willwhang.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robh@kernel.org \
    --cc=sakari.ailus@linux.intel.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

all inboxes | Powered by JetHome®