Hi Jonathan, On Sun, 11 Oct 2020 18:07:40 +0100 Jonathan Cameron <jic23@xxxxxxxxxx> wrote: > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > I'm not sure vdd-supply absolutely has to be provided if vref-supply > is, but as the previous binding docs stated it was required it seems > reasonable to leave it as such. Good catch. Vdd is useless on MCP4726 if Vref is specified. The driver requires Vdd... How to proceed there? Thanks, Tomas > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > Cc: Tomas Novotny <tomas@xxxxxxxxxx> > --- > .../devicetree/bindings/iio/dac/mcp4725.txt | 35 --------- > .../bindings/iio/dac/microchip,mcp4725.yaml | 71 +++++++++++++++++++ > 2 files changed, 71 insertions(+), 35 deletions(-) > > diff --git a/Documentation/devicetree/bindings/iio/dac/mcp4725.txt b/Documentation/devicetree/bindings/iio/dac/mcp4725.txt > deleted file mode 100644 > index 1bc6c093fbfe..000000000000 > --- a/Documentation/devicetree/bindings/iio/dac/mcp4725.txt > +++ /dev/null > @@ -1,35 +0,0 @@ > -Microchip mcp4725 and mcp4726 DAC device driver > - > -Required properties: > - - compatible: Must be "microchip,mcp4725" or "microchip,mcp4726" > - - reg: Should contain the DAC I2C address > - - vdd-supply: Phandle to the Vdd power supply. This supply is used as a > - voltage reference on mcp4725. It is used as a voltage reference on > - mcp4726 if there is no vref-supply specified. > - > -Optional properties (valid only for mcp4726): > - - vref-supply: Optional phandle to the Vref power supply. Vref pin is > - used as a voltage reference when this supply is specified. > - - microchip,vref-buffered: Boolean to enable buffering of the external > - Vref pin. This boolean is not valid without the vref-supply. Quoting > - the datasheet: This is offered in cases where the reference voltage > - does not have the current capability not to drop its voltage when > - connected to the internal resistor ladder circuit. > - > -Examples: > - > - /* simple mcp4725 */ > - mcp4725@60 { > - compatible = "microchip,mcp4725"; > - reg = <0x60>; > - vdd-supply = <&vdac_vdd>; > - }; > - > - /* mcp4726 with the buffered external reference voltage */ > - mcp4726@60 { > - compatible = "microchip,mcp4726"; > - reg = <0x60>; > - vdd-supply = <&vdac_vdd>; > - vref-supply = <&vdac_vref>; > - microchip,vref-buffered; > - }; > diff --git a/Documentation/devicetree/bindings/iio/dac/microchip,mcp4725.yaml b/Documentation/devicetree/bindings/iio/dac/microchip,mcp4725.yaml > new file mode 100644 > index 000000000000..271998610ceb > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/dac/microchip,mcp4725.yaml > @@ -0,0 +1,71 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/dac/microchip,mcp4725.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Microchip mcp4725 and mcp4726 DAC > + > +maintainers: > + - Tomas Novotny <tomas@xxxxxxxxxx> > + > +properties: > + compatible: > + enum: > + - microchip,mcp4725 > + - microchip,mcp4726 > + > + reg: > + maxItems: 1 > + > + vdd-supply: > + description: | > + Provides both power and acts as the reference supply on the mcp4725. > + For the mcp4726 it will be used as the reference voltage if vref-supply > + is not provided. > + > + vref-supply: > + description: > + Vref pin is used as a voltage reference when this supply is specified. > + > + microchip,vref-buffered: > + type: boolean > + description: | > + Enable buffering of the external Vref pin. This boolean is not valid > + without the vref-supply. Quoting the datasheet: This is offered in > + cases where the reference voltage does not have the current > + capability not to drop its voltage when connected to the internal > + resistor ladder circuit. > + > +allOf: > + - if: > + not: > + properties: > + compatible: > + contains: > + const: microchip,mcp4726 > + then: > + properties: > + vref-supply: false > + microchip,vref-buffered: false > + > +required: > + - compatible > + - reg > + - vdd-supply > + > +additionalProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + mcp4725@60 { > + compatible = "microchip,mcp4725"; > + reg = <0x60>; > + vdd-supply = <&vdac_vdd>; > + }; > + }; > +...