| From: |
| Ramshouriesh R <rshouriesh-AT-gmail.com> |
| To: |
| Mauro Carvalho Chehab <mchehab-AT-kernel.org>, Sakari Ailus <sakari.ailus-AT-linux.intel.com>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org> |
| Subject: |
| [PATCH v4 0/2] media: Add Himax HM1092 mono NIR sensor driver |
| Date: |
| Sun, 05 Jul 2026 08:43:33 +0530 |
| Message-ID: |
| <20260705-hm1092-driver-v4-0-0a13ec274d89@gmail.com> |
| Cc: |
| Hans Verkuil <hverkuil+cisco-AT-kernel.org>, Bryan O'Donoghue <bod-AT-kernel.org>, Vladimir Zapolskiy <vladimir.zapolskiy-AT-linaro.org>, linux-media-AT-vger.kernel.org, devicetree-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, Ramshouriesh R <rshouriesh-AT-gmail.com>, Conor Dooley <conor.dooley-AT-microchip.com> |
| Archive-link: |
| Article |
This adds a V4L2 subdev driver and DT binding for the Himax HM1092, a
1 megapixel monochrome near-infrared image sensor. On laptops it sits
behind the IR camera used for face unlock. It speaks a single MIPI CSI-2
data lane and outputs 10-bit RAW at 560x360.
The driver exposes that one native mode, a test pattern control and the
standard fwnode properties (orientation, rotation). It has been tested on
real hardware (an ASUS Zenbook A14): the sensor probes, streams, and the
on-chip test patterns come through the full CSI-2 pipeline.
The available HM1092 documentation does not describe the test pattern
modes. Their menu names are based on output observed during hardware
testing; the register programming was recovered from the Windows driver.
The sensor driver and its binding are SoC-neutral, so they are sent on
their own through the media tree. The board-level device tree and PHY
work that wires this camera up on the ASUS Zenbook A14 will be sent as
its own series.
Signed-off-by: Ramshouriesh R <rshouriesh@gmail.com>
---
Changes in v4:
- dt-bindings: make data-lanes optional for the fixed single-lane sensor,
constrain explicit values to <1>, and omit it from the example.
- hm1092: add the copyright notice.
- hm1092: replace the private register representation and write helper
with CCI register sequences and direct CCI writes.
- hm1092: use descriptive test-pattern names based on hardware captures;
the available documentation does not identify these modes.
- hm1092: parse fwnode properties before creating controls and set
read-only flags after validating control creation.
- hm1092: use the generic get_fmt callback for the fixed sensor mode.
- hm1092: initialize endpoint parsing with the fixed one-lane default,
reject other lane configurations, and remove the redundant endpoint
presence check.
- hm1092: use fsleep() and null-safe GPIO calls, and apply the requested
declaration, brace, return-value and error-path formatting cleanups.
- Link to v3: https://patch.msgid.link/20260702-hm1092-driver-v3-0-85fa...
Changes in v3:
- dt-bindings: add the Reviewed-by tag from Conor Dooley.
- hm1092: initialize RAW colorimetry fields in the pad format helper so
userspace values cannot leak into subdevice state.
- hm1092: return -ENXIO when the required firmware graph endpoint is
absent instead of deferring probe indefinitely.
- Link to v2: https://patch.msgid.link/20260702-hm1092-driver-v2-0-4f9f...
Changes in v2:
- hm1092: use pm_ptr() instead of pm_sleep_ptr() for the dev_pm_ops
pointer. The ops come from DEFINE_RUNTIME_DEV_PM_OPS(), so gating them
on CONFIG_PM_SLEEP dropped runtime PM on a CONFIG_PM=y, PM_SLEEP=n
build.
- hm1092: free the control handler on the error paths in
hm1092_init_controls(); the fwnode-parse and ctrl_hdlr->error returns
leaked the handler.
- Link to v1: https://patch.msgid.link/20260701-hm1092-driver-v1-0-d1bd...
To: Ramshouriesh R <rshouriesh@gmail.com>
To: Mauro Carvalho Chehab <mchehab@kernel.org>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
Cc: linux-media@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
Ramshouriesh R (2):
media: dt-bindings: Add Himax HM1092 NIR sensor
media: i2c: hm1092: add Himax HM1092 mono NIR sensor driver
.../bindings/media/i2c/himax,hm1092.yaml | 109 +++
MAINTAINERS | 7 +
drivers/media/i2c/Kconfig | 11 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/hm1092.c | 728 +++++++++++++++++++++
5 files changed, 856 insertions(+)
---
base-commit: be5c93fa674f0fc3c8f359c2143abce6bbb422e6
change-id: 20260618-hm1092-driver-a6f2aaddf201
Best regards,
--
Ramshouriesh R <rshouriesh@gmail.com>