[PATCH RFC 0/2] regmap: support firmware-described non-sequential register reads
Richard Leitner <[email protected]> Wed, 22 Jul 2026 10:42:45 +0200
| Newsgroups | dev.linux.lists.driver-core,org.kernel.feeds.b4-sent,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Hi all, this series adds support for firmware/device-tree described constraints on sequential register reads. The motivating use case are camera modules from Vision Components. These modules may integrate image sensors that normally support incrementing multi-register reads, while the MCU (which sits basically "between" the I2C host and the camera sensors) breaks them. In such cases, single-register reads work, but sequential/bulk register reads do not. This limitation is therefore not a property of the sensor silicon itself, but of the hardware module/integration in which the device is used. As a result, it cannot be identified from the deivce driver and handling it in each affected device driver does not scale well. To address this, the series introduces a common firmware property (no-sequential-read) describing hardware integrations where reading multiple consecutive registers in a single operation is not reliable. regmap then consumes that property and maps it to its existing use_single_read configuration. This keeps the hardware constraint described in firmware/device-tree while applying it in the layer that already owns the register read transfer policy. The initial discussion that motivated this approach can be found here: https://lore.kernel.org/lkml/[email protected]/ Feedback is especially welcome on the property naming, the placement of the common binding schema, and if regmap is the best place to implment this. Thanks, Richard Link: https://lore.kernel.org/lkml/[email protected]/ Signed-off-by: Richard Leitner <[email protected]> --- Richard Leitner (2): dt-bindings: regmap: add common schema for no-sequential-read regmap: implement no-sequential-read firmware property .../devicetree/bindings/regmap/common.yaml | 26 ++++++++++++++++++++++ drivers/base/regmap/regmap.c | 14 +++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) --- base-commit: 248951ddc14de84de3910f9b13f51491a8cd91df change-id: 20260722-regmap-single-read-a2e95070cd66 Best regards, -- Richard Leitner <[email protected]>