All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Marcelo Schmitt <marcelo.schmitt1@gmail.com>
Cc: linux-iio@vger.kernel.org, Nuno Sa <Nuno.Sa@analog.com>,
	lars@metafoo.de, Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Rob Herring <robh@kernel.org>
Subject: Re: [PATCH v2 15/17] dt-bindings:iio:adc:ad7280a: Add binding
Date: Sun, 6 Feb 2022 18:13:57 +0000	[thread overview]
Message-ID: <20220206181357.62b871a4@jic23-huawei> (raw)
In-Reply-To: <Yf8y+U0BVK/WOTl/@marsc.168.1.7>

On Sat, 5 Feb 2022 23:31:21 -0300
Marcelo Schmitt <marcelo.schmitt1@gmail.com> wrote:

> On 01/30, Jonathan Cameron wrote:
> > On Sat, 18 Dec 2021 18:18:12 -0300
> > Marcelo Schmitt <marcelo.schmitt1@gmail.com> 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.

Glad I just dropped support for that ;)

For the voltage one I'm going to leave it as adi,voltage-alert-last-chan
because I'm not sure what naming would work if we changed it to number supported
because it feels like adi,voltage-alert-last-num-chan is weird and I don't want
complexity of adi,voltage-alert-num-chans as that would have to include the
channels on previous devices and if we ever support the 1,3,5 mode the two will couple
in a horrible fashion.

From a lazy point of view, if I don't touch this I can avoid bothering Rob again
as I feel like I can drop the temperature one without removing his RB, but
would have to ask him to take another look if we change the way the other one works.

So all in all, lets go with good enough for this one rather than looping around
trying to find perfect.

Thanks,

Jonathan

> 
> > 
> > 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@gmail.com>
> > > 
> > > On 12/05, Jonathan Cameron wrote:  
> > > > From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > > > 
> > > > 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@huawei.com>
> > > > Reviewed-by: Rob Herring <robh@kernel.org>
> > > > ---
> > > >  .../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@analog.com>
> > > > +  - Jonathan Cameron <jic23@kernel.org>
> > > > +
> > > > +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
> > > >     
> >   


  reply	other threads:[~2022-02-06 18:07 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-05 20:26 [PATCH v2 00/17] iio:adc:ad7280a Cleanup and proposed staging graduation Jonathan Cameron
2021-12-05 20:26 ` [PATCH v2 01/17] staging:iio:adc:ad7280a: Fix handing of device address bit reversing Jonathan Cameron
2021-12-13 12:26   ` Marcelo Schmitt
2021-12-05 20:26 ` [PATCH v2 02/17] staging:iio:adc:ad7280a: Register define cleanup Jonathan Cameron
2021-12-13 12:41   ` Marcelo Schmitt
2022-02-06 17:01     ` Jonathan Cameron
2021-12-05 20:26 ` [PATCH v2 03/17] staging:iio:adc:ad7280a: rename _read() to _read_reg() Jonathan Cameron
2021-12-14 17:05   ` Marcelo Schmitt
2021-12-05 20:26 ` [PATCH v2 04/17] staging:iio:adc:ad7280a: Split buff[2] into tx and rx parts Jonathan Cameron
2021-12-14 17:05   ` Marcelo Schmitt
2021-12-05 20:26 ` [PATCH v2 05/17] staging:iio:adc:ad7280a: Use bitfield ops to managed fields in transfers Jonathan Cameron
2021-12-14 17:12   ` Marcelo Schmitt
2022-02-06 17:14     ` Jonathan Cameron
2022-02-06 18:02       ` Marcelo Schmitt
2021-12-05 20:26 ` [PATCH v2 06/17] staging:iio:adc:ad7280a: Switch to standard event control Jonathan Cameron
2021-12-14 17:41   ` Marcelo Schmitt
2022-02-06 17:34     ` Jonathan Cameron
2021-12-05 20:27 ` [PATCH v2 07/17] staging:iio:adc:ad7280a: Standardize extended ABI naming Jonathan Cameron
2021-12-18 20:17   ` Marcelo Schmitt
2021-12-05 20:27 ` [PATCH v2 08/17] staging:iio:adc:ad7280a: Drop unused timestamp channel Jonathan Cameron
2021-12-18 20:18   ` Marcelo Schmitt
2021-12-05 20:27 ` [PATCH v2 09/17] staging:iio:adc:ad7280a: Trivial comment formatting cleanup Jonathan Cameron
2021-12-18 20:21   ` Marcelo Schmitt
2021-12-05 20:27 ` [PATCH v2 10/17] staging:iio:adc:ad7280a: Make oversampling_ratio a runtime control Jonathan Cameron
2021-12-18 20:22   ` Marcelo Schmitt
2021-12-05 20:27 ` [PATCH v2 11/17] staging:iio:adc:ad7280a: Cleanup includes Jonathan Cameron
2021-12-18 20:22   ` Marcelo Schmitt
2021-12-05 20:27 ` [PATCH v2 12/17] staging:iio:ad7280a: Reflect optionality of irq in ABI Jonathan Cameron
2021-12-18 20:30   ` Marcelo Schmitt
2022-01-30 20:05     ` Jonathan Cameron
2021-12-05 20:27 ` [PATCH v2 13/17] staging:iio:adc:ad7280a: Use a local dev pointer to avoid &spi->dev Jonathan Cameron
2021-12-18 20:31   ` Marcelo Schmitt
2021-12-05 20:27 ` [PATCH v2 14/17] staging:iio:adc:ad7280a: Use device properties to replace platform data Jonathan Cameron
2021-12-18 21:06   ` Marcelo Schmitt
2022-01-30 20:24     ` Jonathan Cameron
2022-02-06 18:06       ` Jonathan Cameron
2021-12-05 20:27 ` [PATCH v2 15/17] dt-bindings:iio:adc:ad7280a: Add binding Jonathan Cameron
2021-12-18 21:18   ` Marcelo Schmitt
2022-01-30 20:29     ` Jonathan Cameron
2022-02-06  2:31       ` Marcelo Schmitt
2022-02-06 18:13         ` Jonathan Cameron [this message]
2021-12-05 20:27 ` [PATCH v2 16/17] iio:adc:ad7280a: Document ABI for cell balance switches Jonathan Cameron
2021-12-18 21:20   ` Marcelo Schmitt
2021-12-05 20:27 ` [PATCH v2 17/17] iio:adc:ad7280a: Move out of staging Jonathan Cameron
2021-12-18 22:08   ` Marcelo Schmitt
2022-01-30 20:46     ` Jonathan Cameron
2022-02-06 18:45       ` Jonathan Cameron
2021-12-13 12:51 ` [PATCH v2 00/17] iio:adc:ad7280a Cleanup and proposed staging graduation Marcelo Schmitt
2021-12-16 11:46   ` Jonathan Cameron

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=20220206181357.62b871a4@jic23-huawei \
    --to=jic23@kernel.org \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=Nuno.Sa@analog.com \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=marcelo.schmitt1@gmail.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.