[PATCH v3 0/2] iio: dac: mcp47a1: add support for new device
Joshua Crofts <[email protected]> Mon, 03 Aug 2026 19:32:24 +0200
| Newsgroups | org.kernel.vger.linux-iio,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
This patch series adds support for the MCP47A1 DAC. The Microchip MCP47A1 is a volatile 6-bit Digital-to-Analog converter which communicates via I2C. It is a low-power, low-cost DAC commonly used in embedded systems. Reasons for adding a new driver: - Existing Microchip DACs use a more complicated set of commands whereas the MCP47A1 communicates via SMBus using only one command. - The closest Microchip DAC already in the tree - the MCP4725 - uses an EEPROM while the MCP47A1 is volatile, meaning that altering the driver of the former would worsen the code flow. - The MCP47A1 maps cleanly to a standard regmap. The driver was tested on a Raspberry Pi 4 using a breakout board with the MCP47A1. The datasheet can be viewed here: https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/25154A.pdf Signed-off-by: Joshua Crofts <[email protected]> --- Changes in v3: - remove iio_chan_spec array and define a separate single channel as only one is used - change scale denominator from 63 to 64 as former would produce scaling errors - Link to v2: https://lore.kernel.org/r/[email protected] Changes in v2: - dt-bindings: add slave address enum to dt-binding - dt-bindings: remove unnecessary example - move driver from regmap to i2c_smbus_* functions to reduce overhead - remove read test on probe as it's too unstable - add 20us delay on startup - style changes - remove excess mailing list entry from MAINTAINERS - Link to v1: https://lore.kernel.org/r/[email protected] --- Joshua Crofts (2): dt-bindings: iio: dac: add support for mcp47a1 iio: dac: mcp47a1: add support for new device .../bindings/iio/dac/microchip,mcp47a1.yaml | 50 +++++++ MAINTAINERS | 6 + drivers/iio/dac/Kconfig | 10 ++ drivers/iio/dac/Makefile | 1 + drivers/iio/dac/mcp47a1.c | 166 +++++++++++++++++++++ 5 files changed, 233 insertions(+) --- base-commit: e0484d62e8e1cff75b210938be835ea6221bda59 change-id: 20260711-mcp47a1-add-support-3af1248f13a5 Best regards, -- Kind regards, Joshua Crofts