[PATCH v2 0/2] iio: dac: mcp47a1: add support for new device
Joshua Crofts <[email protected]>
| 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 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 | 169 +++++++++++++++++++++ 5 files changed, 236 insertions(+) --- base-commit: 0506462caaecb179708657142575823177c83783 change-id: 20260711-mcp47a1-add-support-3af1248f13a5 Best regards, -- Kind regards, Joshua Crofts