Re: [PATCH v2 15/17] dt-bindings:iio:adc:ad7280a: Add binding

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

 



On 01/30, Jonathan Cameron wrote:
> On Sat, 18 Dec 2021 18:18:12 -0300
> Marcelo Schmitt <marcelo.schmitt1@xxxxxxxxx> wrote:
> 
> > Think it would be more intuitive to use the number of active channels as enum
> > elements for adi,temp-alert-last-chan and adi,voltage-alert-last-chan.
> 
> Just to check I understand correctly, you mean active number of channels
> across all devices, or just in the last device?

I was thinking about the number of channels enabled for alert detection only in
the last device.
For voltage inputs, we would have 6, 5, or 4 channels enabled. So the possible
values for adi,voltage-alert-last-chan would be [4, 5, 6], default: 6.
For temperature inputs, things get a bit hairy.
* We may have all 6 AUX enabled.
* We may have 3 AUX enabled if D15:D14 = 01 in the control register. If so, we still may:
  + disable AUX5, or
  + disable AUX5 and AUX3
So the possibilities for adi,temp-alert-last-chan would be 1, 2, 3, or 6 AUX
channels enabled for alert detection.

> 
> If all devices it would get tricky to handle because if set to a value
> before the last device I'm not sure how we'd handle it.
> 
> Or do you mean just index in that device form 1, so when we disable
> VIN5 we still have VIN0,1,2,3,4 so 5 devices?

You mean the index of the last channel (of the last device) enabled to generate alerts?
For voltage inputs, I guess that would end up almost the same as for the number
of active channels. For temperature inputs, AUX6, AUX5, AUX3, or AUX1 would be
the last channels enabled to generate alerts in each of the above cases.
Taking just the indexes: 1, 3, 5, 6.
This seems harder to explain, though.

> 
> The AUX version as per earlier patch is a real pain to describe. If
> we do support it we'll probably just have to fall back to strings
> or similar which isn't nice.
> 
> Jonathan
> 
> > This, though, is just my personal opinion so 
> > Reviewed-by: Marcelo Schmitt <marcelo.schmitt1@xxxxxxxxx>
> > 
> > On 12/05, Jonathan Cameron wrote:
> > > From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> > > 
> > > Add a binding for this Lithium Ion Battery monitoring chip/chain of chips
> > > as it is now clean and ready to move out of staging.
> > > 
> > > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> > > Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
> > > ---
> > >  .../bindings/iio/adc/adi,ad7280a.yaml         | 87 +++++++++++++++++++
> > >  1 file changed, 87 insertions(+)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7280a.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7280a.yaml
> > > new file mode 100644
> > > index 000000000000..77b8f67fe446
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7280a.yaml
> > > @@ -0,0 +1,87 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/iio/adc/adi,ad7280a.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Analog Devices AD7280a Lithium Ion Battery Monitoring System
> > > +
> > > +maintainers:
> > > +  - Michael Hennerich <michael.hennerich@xxxxxxxxxx>
> > > +  - Jonathan Cameron <jic23@xxxxxxxxxx>
> > > +
> > > +description: |
> > > +  Bindings for the Analog Devices AD7280a Battery Monitoring System.
> > > +  Used in devices such as hybrid electric cars, battery backup and power tools.
> > > +  Multiple chips can be daisy chained and accessed via a single SPI interface.
> > > +  Data sheet found here:
> > > +    https://www.analog.com/media/en/technical-documentation/data-sheets/AD7280A.pdf
> > > +
> > > +properties:
> > > +  compatible:
> > > +    const: adi,ad7280a
> > > +
> > > +  reg:
> > > +    maxItems: 1
> > > +
> > > +  interrupts:
> > > +    description: IRQ line for the ADC
> > > +    maxItems: 1
> > > +
> > > +  spi-max-frequency: true
> > > +
> > > +  adi,temp-alert-last-chan:
> > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > +    description:
> > > +      Allows limiting of scope of which channels are considered for temperature
> > > +      alerts, typically because not all are wired to anything. Only applies to
> > > +      last device in the daisy chain.
> > > +    default: 5
> > > +    enum: [3, 4, 5]
> > > +
> > > +  adi,voltage-alert-last-chan:
> > > +    $ref: /schemas/types.yaml#/definitions/uint32
> > > +    description:
> > > +      Allows limiting of scope of which channels are considered for voltage
> > > +      alerts, typically because not all are wired to anything. Only applies to
> > > +      last device in the daisy chain.
> > > +    default: 5
> > > +    enum: [3, 4, 5]
> > > +
> > > +  adi,acquisition-time-ns:
> > > +    description:
> > > +      Additional time may be needed to charge the sampling capacitors depending
> > > +      on external writing.
> > > +    default: 400
> > > +    enum: [400, 800, 1200, 1600]
> > > +
> > > +  adi,thermistor-termination:
> > > +    type: boolean
> > > +    description:
> > > +      Enable the thermistor termination function.
> > > +
> > > +required:
> > > +  - compatible
> > > +  - reg
> > > +
> > > +additionalProperties: false
> > > +
> > > +examples:
> > > +  - |
> > > +    spi {
> > > +      #address-cells = <1>;
> > > +      #size-cells = <0>;
> > > +
> > > +      adc@0 {
> > > +        compatible = "adi,ad7280a";
> > > +        reg = <0>;
> > > +        spi-max-frequency = <700000>;
> > > +        interrupt-parent = <&gpio>;
> > > +        interrupts = <25 2>;
> > > +        adi,thermistor-termination;
> > > +        adi,acquisition-time-ns = <800>;
> > > +        adi,voltage-alert-last-chan = <5>;
> > > +        adi,temp-alert-last-chan = <5>;
> > > +      };
> > > +    };
> > > +...
> > > -- 
> > > 2.34.1
> > >   
> 



[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