Re: [PATCH v2 1/2] dt-bindings: iio: dac: add MCP4821

From: David Lechner
Date: Sun Dec 17 2023 - 20:30:22 EST


On Sun, Dec 17, 2023 at 7:25 PM David Lechner <dlechner@xxxxxxxxxxxx> wrote:
>
> On Sun, Dec 17, 2023 at 12:11 PM Anshul Dalal <anshulusr@xxxxxxxxx> wrote:
> >
> > Adds support for MCP48xx series of DACs.
> >
> > Datasheet: https://ww1.microchip.com/downloads/en/DeviceDoc/22244B.pdf #MCP48x1
> > Datasheet: https://ww1.microchip.com/downloads/en/DeviceDoc/20002249B.pdf #MCP48x2
> > Reviewed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> > Signed-off-by: Anshul Dalal <anshulusr@xxxxxxxxx>
> >
> > ---
> >
> > Changes for v2:
> > - Changed order in device table to numerical
> > - Made vdd_supply required
> > - Added 'Reviewed-by: Conor Dooley'
> >
> > Previous versions:
> > v1: https://lore.kernel.org/lkml/20231117073040.685860-1-anshulusr@xxxxxxxxx/
> > ---
> > .../bindings/iio/dac/microchip,mcp4821.yaml | 64 +++++++++++++++++++
> > 1 file changed, 64 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/iio/dac/microchip,mcp4821.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/iio/dac/microchip,mcp4821.yaml b/Documentation/devicetree/bindings/iio/dac/microchip,mcp4821.yaml
> > new file mode 100644
> > index 000000000000..97da9f9ef450
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/dac/microchip,mcp4821.yaml
> > @@ -0,0 +1,64 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/iio/dac/microchip,mcp4821.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Microchip MCP4821 and similar DACs
> > +
> > +description: |
> > + Supports MCP48x1 (single channel) and MCP48x2 (dual channel) series of DACs.
> > + Device supports simplex communication over SPI in Mode 0,1 and Mode 1,1.
>
> It seems like SPI modes usually only have one number in them, i.e.
> mode 1 and mode 3 in this case, I'm guessing.

Oh, and doesn't this mean that we need to include spi-cpha and
spi-cpol properties since they aren't implicit in the bindings anymore
since [1]?

[1]: https://lore.kernel.org/all/20220722191539.90641-2-krzysztof.kozlowski@xxxxxxxxxx/

>
> > +
> > + +---------+--------------+-------------+
> > + | Device | Resolution | Channels |
> > + |---------|--------------|-------------|
> > + | MCP4801 | 8-bit | 1 |
> > + | MCP4802 | 8-bit | 2 |
> > + | MCP4811 | 10-bit | 1 |
> > + | MCP4812 | 10-bit | 2 |
> > + | MCP4821 | 12-bit | 1 |
> > + | MCP4822 | 12-bit | 2 |
> > + +---------+--------------+-------------+
> > +
> > + Datasheet:
> > + MCP48x1: https://ww1.microchip.com/downloads/en/DeviceDoc/22244B.pdf
> > + MCP48x2: https://ww1.microchip.com/downloads/en/DeviceDoc/20002249B.pdf
> > +
> > +maintainers:
> > + - Anshul Dalal <anshulusr@xxxxxxxxx>
> > +
> > +properties:
> > + compatible:
> > + enum:
> > + - microchip,mcp4801
> > + - microchip,mcp4802
> > + - microchip,mcp4811
> > + - microchip,mcp4812
> > + - microchip,mcp4821
> > + - microchip,mcp4822
> > +
> > + reg:
> > + maxItems: 1
> > +
> > + vdd-supply: true
>
> What about the SHDN and LDAC pins? It seems like all should have an
> ldac-gpios property and MCP48x1 should have a shdn-gpios property for
> these.
>
> > +
> > +required:
> > + - compatible
> > + - reg
> > + - vdd-supply
> > +
> > +additionalProperties: false
> > +
> > +examples:
> > + - |
> > + spi {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + dac@0 {
> > + compatible = "microchip,mcp4821";
> > + reg = <0>;
> > + vdd-supply = <&vdd_regulator>;
> > + };
> > + };
> > --
> > 2.43.0
> >
> >