iio: dac: adding support for Microchip MCP47FEB02

This is the iio driver for Microchip MCP47F(E/V)B(0/1/2)1,
MCP47F(E/V)B(0/1/2)2, MCP47F(E/V)B(0/1/2)4 and MCP47F(E/V)B(0/1/2)8 series
of buffered voltage output Digital-to-Analog Converters with nonvolatile or
volatile memory and an I2C Interface.

The families support up to 8 output channels.

The devices can be 8-bit, 10-bit and 12-bit.

Signed-off-by: Ariana Lazar <ariana.lazar@microchip.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Ariana Lazar 2025-12-16 14:05:51 +02:00 committed by Jonathan Cameron
parent 4ba12d3041
commit bf394cc803
4 changed files with 1272 additions and 0 deletions

View File

@ -15660,6 +15660,7 @@ M: Ariana Lazar <ariana.lazar@microchip.com>
L: linux-iio@vger.kernel.org
S: Supported
F: Documentation/devicetree/bindings/iio/dac/microchip,mcp47feb02.yaml
F: drivers/iio/dac/mcp47feb02.c
MCP4821 DAC DRIVER
M: Anshul Dalal <anshulusr@gmail.com>

View File

@ -524,6 +524,26 @@ config MCP4728
To compile this driver as a module, choose M here: the module
will be called mcp4728.
config MCP47FEB02
tristate "MCP47F(E/V)B01/02/04/08/11/12/14/18/21/22/24/28 DAC driver"
depends on I2C
help
Say yes here if you want to build the driver for the Microchip:
- 8-bit DAC:
MCP47FEB01, MCP47FEB02, MCP47FEB04, MCP47FEB08,
MCP47FVB01, MCP47FVB02, MCP47FVB04, MCP47FVB08
- 10-bit DAC:
MCP47FEB11, MCP47FEB12, MCP47FEB14, MCP47FEB18,
MCP47FVB11, MCP47FVB12, MCP47FVB14, MCP47FVB18
- 12-bit DAC:
MCP47FEB21, MCP47FEB22, MCP47FEB24, MCP47FEB28,
MCP47FVB21, MCP47FVB22, MCP47FVB24, MCP47FVB28
having 1 to 8 channels, 8/10/12-bit digital-to-analog converter
(DAC) with I2C interface.
To compile this driver as a module, choose M here: the module
will be called mcp47feb02.
config MCP4821
tristate "MCP4801/02/11/12/21/22 DAC driver"
depends on SPI

View File

@ -52,6 +52,7 @@ obj-$(CONFIG_MAX5522) += max5522.o
obj-$(CONFIG_MAX5821) += max5821.o
obj-$(CONFIG_MCP4725) += mcp4725.o
obj-$(CONFIG_MCP4728) += mcp4728.o
obj-$(CONFIG_MCP47FEB02) += mcp47feb02.o
obj-$(CONFIG_MCP4821) += mcp4821.o
obj-$(CONFIG_MCP4922) += mcp4922.o
obj-$(CONFIG_STM32_DAC_CORE) += stm32-dac-core.o

1250
drivers/iio/dac/mcp47feb02.c Normal file

File diff suppressed because it is too large Load Diff