[PATCH 0/4] Add MCP48XX bindings and driver support

From: Nicolas Frattaroli
Date: Wed Apr 05 2023 - 10:03:58 EST


This series aims to add support for the following DAC chips by Microchip:
- MCP4801 (8 bit, 1 channel)
- MCP4802 (8 bit, 2 channels)
- MCP4811 (10 bit, 1 channel)
- MCP4812 (10 bit, 2 channels)
- MCP4821 (12 bit, 1 channel)
- MCP4822 (12 bit, 2 channels)

The chips' interface is compatible with that of the MCP49XX ones, but they
come with an internal 2.048V voltage reference, meaning there is no need
for an external voltage reference (and no way to use one.)

The first patch rectifies an issue with the mcp4922 bindings where there
was no vdd-supply property modeled. Those chips do have a second supply
aside from vref, the vdd-supply, which powers the digital logic side of
things.

Patch number 2 uses the vdd regulator in the driver. This is just fairly
boring "enable it here, disable it here" type stuff.

Patch number 3 adds the bindings for the MCP48XX chips. We add the whole
family, not just the ones that have an analogous 4922 enum. There is a
need for a separate binding as making vref only required for some in the
mcp4922 binding would make it more complicated than it's worth.

Patch number 4 finally makes all the driver changes to support the
MCP48XX chips.

All changes have been tested on an MCP4821. I don't own the full line of
MCP48XX and MCP49XX chips, so couldn't exhaustively test everything for
all of them, but if Microchip feels like sending some over then I am more
than happy to receive them.

Kind regards,
Nicolas Frattaroli

Nicolas Frattaroli (4):
dt-bindings: iio: dac: mcp4922: add vdd-supply property
iio: dac: mcp4922: get and enable vdd regulator
dt-bindings: iio: dac: add mcp4822
iio: dac: mcp4922: add support for mcp48xx series chips

.../bindings/iio/dac/microchip,mcp4822.yaml | 49 +++++++
.../bindings/iio/dac/microchip,mcp4922.yaml | 4 +
drivers/iio/dac/mcp4922.c | 130 ++++++++++++++----
3 files changed, 154 insertions(+), 29 deletions(-)
create mode 100644 Documentation/devicetree/bindings/iio/dac/microchip,mcp4822.yaml

--
2.40.0