Re: [PATCH v2 3/3] dt-bindings: iio: adc: add adi,max11410.yaml

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 19 Jul 2022 14:59:30 +0000
Ibrahim Tilki <Ibrahim.Tilki@xxxxxxxxxx> wrote:

> > On Thu, 7 Jul 2022 08:31:26 +0000
> > Ibrahim Tilki <Ibrahim.Tilki@xxxxxxxxxx> wrote:
> >   
> > > Adding devicetree binding documentation for max11410 adc.
> > > 
> > > Signed-off-by: Ibrahim Tilki <Ibrahim.Tilki@xxxxxxxxxx>
> > > Reviewed-by: Nurettin Bolucu <Nurettin.Bolucu@xxxxxxxxxx>  
> > 
> > Hi.
> > 
> > A few questions inline. Mostly stuff I couldn't figure out from a quick
> > scan through the datasheet.
> >   
> > > ---
> > >  .../bindings/iio/adc/adi,max11410.yaml        | 168 ++++++++++++++++++
> > >  1 file changed, 168 insertions(+)
> > >  create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,max11410.yaml
> > > 
> > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,max11410.yaml b/Documentation/devicetree/bindings/iio/adc/adi,max11410.yaml
> > > new file mode 100644
> > > index 000000000..f28d29fb2
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/iio/adc/adi,max11410.yaml
> > > @@ -0,0 +1,168 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +# Copyright 2022 Analog Devices Inc.
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/iio/adc/adi,max11410.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Analog Devices MAX11410 ADC device driver
> > > +
> > > +maintainers:
> > > +  - Ibrahim Tilki <ibrahim.tilki@xxxxxxxxxx>
> > > +
> > > +description: |
> > > +  Bindings for the Analog Devices MAX11410 ADC device. Datasheet can be
> > > +  found here:
> > > +    https://datasheets.maximintegrated.com/en/ds/MAX11410.pdf
> > > +
> > > +properties:
> > > +  compatible:
> > > +    enum:
> > > +      - adi,max11410
> > > +
> > > +  reg:
> > > +    description: SPI chip select number for the device  
> > 
> > Description not needed as same for all SPI devices.
> >   
> 
> Removed in v3.
> 
> > > +    maxItems: 1
> > > +
> > > +  interrupts:
> > > +    description: IRQ line for the ADC  
> > The description doesn't tell us anything so drop it.
> > There is no need to provide description lines for self documenting
> > items like this.  
> 
> Removed in v3.
> 
> > > +    maxItems: 1
> > > +
> > > +  '#address-cells':
> > > +    const: 1
> > > +
> > > +  '#size-cells':
> > > +    const: 0
> > > +
> > > +  avdd-supply:
> > > +    description: avdd supply can be used as reference for conversion.  
> > 
> > Mention it's also a necessary power supply.  As mentioned in driver review
> > I'd suggest you actually treat this as 'no explicit reference supplied'.
> > That simplifies the meaning of the adi,reference below.
> >   
> 
> Please see my comments to this in section "adi,reference".
> 
> > > +
> > > +  vref0p-supply:
> > > +    description: vref0p supply can be used as reference for conversion.
> > > +
> > > +  vref1p-supply:
> > > +    description: vref1p supply can be used as reference for conversion.
> > > +
> > > +  vref2p-supply:
> > > +    description: vref2p supply can be used as reference for conversion.
> > > +
> > > +  vref0n-supply:
> > > +    description: vref0n supply can be used as reference for conversion.
> > > +
> > > +  vref1n-supply:
> > > +    description: vref1n supply can be used as reference for conversion.
> > > +
> > > +  vref2n-supply:
> > > +    description: vref2n supply can be used as reference for conversion.
> > > +
> > > +  spi-max-frequency:
> > > +    maximum: 8000000
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +  - avdd-supply
> > > +
> > > +patternProperties:
> > > +  "^channel(@[0-9a-f]+)?$":
> > > +    $ref: "adc.yaml"
> > > +    type: object
> > > +    description: Represents the external channels which are connected to the ADC.
> > > +
> > > +    properties:
> > > +      reg:
> > > +        description: The channel number in single-ended mode.
> > > +        minimum: 0
> > > +        maximum: 10
> > > +
> > > +      adi,reference:
> > > +        description: |
> > > +          Select the reference source to use when converting on
> > > +          the specific channel. Valid values are:
> > > +          0: REF0P/REF0N  
> > 
> > VREF0P etc to match namign above.
> >   
> 
> Corrected in v3.
> 
> > > +          1: REF1P/REF1N
> > > +          2: REF2P/REF2N
> > > +          3: AVDD/AGND
> > > +          4: REF0P/AGND
> > > +          5: REF1P/AGND
> > > +          6: REF2P/AGND  
> > 
> > Is it valid to use REF0P/AGND for a differential channel?  If not
> > I would reduce this list to 0-2 only.  If it is valid (so actually
> > useful to do so) then we are stuck with this.  That does make me wonder
> > if there is a difference between 3 and 7?  If not, just don't list 7
> >   
> 
> Yes, it is valid. Option 3 and 7 are the same, 7 is removed in v3.
> 
> I think we should list 4-6 here and removing 3 would cause more confusion
> to users in that case. This enum reflects the register field directly, maybe we
> can do some mapping for convenience. AVDD is already treated as default reference
> and user is free to specify it explicitly.
> 
> Maybe we can split reference description into two parts:
> "adi,reference" = <0>; // [0-2], AVDD if not specified.
> "adi,reference-n-agnd"; // boolean for connecting negative input to agnd.
> 
> But I think it would be more confusing. The most straightforward way is the enum IMO.
> I cannot think of a better way to describe reference than what we already have.

Fair enough.  Sometimes we can't do better than something opaque :(

Jonathan

> 
> > > +          7: AVDD/AGND
> > > +          If this field is left empty, AVDD/AGND is selected.
> > > +        $ref: /schemas/types.yaml#/definitions/uint32
> > > +        enum: [0, 1, 2, 3, 4, 5, 6, 7]
> > > +        default: 7  
> 
> ...




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux