All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Rob Herring <robh@kernel.org>
Cc: Alexandru Tachici <alexandru.tachici@analog.com>,
	linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
	Mircea Caprioru <mircea.caprioru@analog.com>
Subject: Re: [PATCH v4 2/2] dt-bindings: iio: dac: Add docs for AD5770R DAC
Date: Sat, 21 Mar 2020 10:38:05 +0000	[thread overview]
Message-ID: <20200321103805.74285450@archlinux> (raw)
In-Reply-To: <20200320004922.GA3641@bogus>

On Thu, 19 Mar 2020 18:49:22 -0600
Rob Herring <robh@kernel.org> wrote:

> On Tue, Feb 18, 2020 at 02:10:31PM +0200, Alexandru Tachici wrote:
> > Adding dt-bindings documentation for AD5770R DAC.  
> 
> DT list needs to be Cc'ed if you want bindings reviewed.

Doh. I missed that.

> 
> > Signed-off-by: Mircea Caprioru <mircea.caprioru@analog.com>
> > Signed-off-by: Alexandru Tachici <alexandru.tachici@analog.com>
> > ---
> >  .../bindings/iio/dac/adi,ad5770r.yaml         | 185 ++++++++++++++++++
> >  1 file changed, 185 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml b/Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml
> > new file mode 100644
> > index 000000000000..13d6b5ff479d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/dac/adi,ad5770r.yaml
> > @@ -0,0 +1,185 @@
> > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > +# Copyright 2020 Analog Devices Inc.
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/bindings/iio/adc/adi,ad5770r.yaml#  
> 
> Jonathan mentioned 'adc' part, but 'bindings' is also wrong. Should be:

Alexandru, please send a fixup patch for the various things Rob has highlighted.

Jonathan


> 
> .../schemas/iio/dac/...
> 
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Analog Devices AD5770R DAC device driver
> > +
> > +maintainers:
> > +  - Mircea Caprioru <mircea.caprioru@analog.com>
> > +
> > +description: |
> > +  Bindings for the Analog Devices AD5770R current DAC device. Datasheet can be
> > +  found here:
> > +    https://www.analog.com/media/en/technical-documentation/data-sheets/AD5770R.pdf
> > +
> > +properties:
> > +  compatible:
> > +    enum:
> > +      - adi,ad5770r
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  avdd-supply:
> > +    description:
> > +      AVdd voltage supply. Represents two different supplies in the datasheet
> > +      that are in fact the same.
> > +
> > +  iovdd-supply:
> > +    description:
> > +      Voltage supply for the chip interface.
> > +
> > +  vref-supply:
> > +    description: Specify the voltage of the external reference used.
> > +      Available reference options are 1.25 V or 2.5 V. If no
> > +      external reference declared then the device will use the
> > +      internal reference of 1.25 V.
> > +
> > +  adi,external-resistor:
> > +    description: Specify if an external 2.5k ohm resistor is used. If not
> > +      specified the device will use an internal 2.5k ohm resistor.
> > +      The precision resistor is used for reference current generation.
> > +    type: boolean
> > +
> > +  reset-gpios:
> > +    description: GPIO spec for the RESET pin. If specified, it will be
> > +      asserted during driver probe.
> > +    maxItems: 1
> > +
> > +  channel0:  
> 
> channel@0 ???
> 
> Once you fix that, your example will start failing.
> 
> > +    description: Represents an external channel which are
> > +      connected to the DAC. Channel 0 can act both as a current
> > +      source and sink.
> > +    type: object
> > +
> > +    properties:
> > +      num:  
> 
> Use 'reg' instead.
> 
> > +        description: This represents the channel number.
> > +        items:  
> 
> You can drop items.
> 
> > +          const: 0
> > +
> > +      adi,range-microamp:
> > +          description: Output range of the channel.
> > +          oneOf:
> > +            - $ref: /schemas/types.yaml#/definitions/int32-array  
> 
> *-microamp already has a type, so this should be dropped. However, I 
> believe it's unsigned currently, but we can fix it to be signed.
> 
> > +            - items:
> > +                - enum: [0 300000]
> > +                - enum: [-60000 0]
> > +                - enum: [-60000 300000]  
> 
> Negative values don't yet work until we fix dtc to be able to output 
> negative values. For now, can you just avoid negative numbers in the 
> example.
> 
> What's defined here doesn't match the example. You are saying there are 
> 3 cells with 2 possible values each. I think you want:
> 
> oneOf:
>   - items:
>       - const: 0
>       - const: 300000
>   - items:
>       - const: -60000
>       - const: 0
>   - items:
>       - const: -60000
>       - const: 300000
>       
> 
> > +
> > +  channel1:
> > +    description: Represents an external channel which are
> > +      connected to the DAC.
> > +    type: object
> > +
> > +    properties:
> > +      num:
> > +        description: This represents the channel number.
> > +        items:
> > +          const: 1
> > +
> > +      adi,range-microamp:
> > +          description: Output range of the channel.
> > +          oneOf:
> > +            - $ref: /schemas/types.yaml#/definitions/uint32-array
> > +            - items:
> > +                - enum: [0 140000]
> > +                - enum: [0 250000]
> > +
> > +  channel2:
> > +    description: Represents an external channel which are
> > +      connected to the DAC.
> > +    type: object
> > +
> > +    properties:
> > +      num:
> > +        description: This represents the channel number.
> > +        items:
> > +          const: 2
> > +
> > +      adi,range-microamp:
> > +          description: Output range of the channel.
> > +          oneOf:
> > +            - $ref: /schemas/types.yaml#/definitions/uint32-array
> > +            - items:
> > +                - enum: [0 140000]
> > +                - enum: [0 250000]
> > +
> > +patternProperties:
> > +  "^channel@([3-5])$":
> > +    type: object
> > +    description: Represents the external channels which are connected to the DAC.
> > +    properties:
> > +      num:
> > +        description: This represents the channel number.
> > +        items:
> > +          minimum: 3
> > +          maximum: 5
> > +
> > +      adi,range-microamp:
> > +          description: Output range of the channel.
> > +          oneOf:
> > +            - $ref: /schemas/types.yaml#/definitions/uint32-array
> > +            - items:
> > +                - enum: [0 45000]
> > +                - enum: [0 100000]
> > +
> > +required:
> > +- reg
> > +- diff-channels
> > +- channel0
> > +- channel1
> > +- channel2
> > +- channel3
> > +- channel4
> > +- channel5
> > +
> > +examples:
> > +  - |
> > +        spi {
> > +                #address-cells = <1>;
> > +                #size-cells = <0>;
> > +
> > +                ad5770r@0 {
> > +                        compatible = "ad5770r";
> > +                        reg = <0>;
> > +                        spi-max-frequency = <1000000>;
> > +                        vref-supply = <&vref>;
> > +                        adi,external-resistor;
> > +                        reset-gpios = <&gpio 22 0>;
> > +
> > +                        channel@0 {
> > +                                num = <0>;
> > +                                adi,range-microamp = <(-60000) 300000>;
> > +                        };
> > +
> > +                        channel@1 {
> > +                                num = <1>;
> > +                                adi,range-microamp = <0 140000>;
> > +                        };
> > +
> > +                        channel@2 {
> > +                                num = <2>;
> > +                                adi,range-microamp = <0 55000>;
> > +                        };
> > +
> > +                        channel@3 {
> > +                                num = <3>;
> > +                                adi,range-microamp = <0 45000>;
> > +                        };
> > +
> > +                        channel@4 {
> > +                                num = <4>;
> > +                                adi,range-microamp = <0 45000>;
> > +                        };
> > +
> > +                        channel@5 {
> > +                                num = <5>;
> > +                                adi,range-microamp = <0 45000>;
> > +                        };
> > +                };
> > +        };
> > +...
> > -- 
> > 2.20.1
> >   


      reply	other threads:[~2020-03-21 10:38 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-18 12:10 [PATCH v4 0/2] iio: dac: AD5770R: Add support Alexandru Tachici
2020-02-18 12:10 ` [PATCH v4 1/2] iio: dac: ad5770r: Add AD5770R support Alexandru Tachici
2020-02-21 15:05   ` Jonathan Cameron
2020-03-21 21:09   ` Andy Shevchenko
2020-03-22  9:17     ` Ardelean, Alexandru
2020-03-22 22:19       ` andriy.shevchenko
2020-02-18 12:10 ` [PATCH v4 2/2] dt-bindings: iio: dac: Add docs for AD5770R DAC Alexandru Tachici
2020-02-21 15:07   ` Jonathan Cameron
2020-03-20  0:49   ` Rob Herring
2020-03-21 10:38     ` Jonathan Cameron [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200321103805.74285450@archlinux \
    --to=jic23@kernel.org \
    --cc=alexandru.tachici@analog.com \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mircea.caprioru@analog.com \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.