From: Jonathan Cameron <jic23@jic23.retrosnub.co.uk>
To: "Sa, Nuno" <Nuno.Sa@analog.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Cc: Rob Herring <robh@kernel.org>,
"linux-iio@vger.kernel.org" <linux-iio@vger.kernel.org>,
Lars-Peter Clausen <lars@metafoo.de>,
"Hennerich, Michael" <Michael.Hennerich@analog.com>
Subject: Re: [PATCH 3/3] dt-bindings: iio: Add ltc2688 documentation
Date: Thu, 30 Dec 2021 15:43:54 +0000 [thread overview]
Message-ID: <20211230154354.06a54b7c@jic23-huawei> (raw)
In-Reply-To: <PH0PR03MB67866ABB9AE677429560125599789@PH0PR03MB6786.namprd03.prod.outlook.com>
On Fri, 17 Dec 2021 09:09:30 +0000
"Sa, Nuno" <Nuno.Sa@analog.com> wrote:
> > From: Jonathan Cameron <jic23@jic23.retrosnub.co.uk>
> > Sent: Thursday, December 16, 2021 2:33 PM
> > To: Rob Herring <robh@kernel.org>
> > Cc: Sa, Nuno <Nuno.Sa@analog.com>; linux-iio@vger.kernel.org;
> > devicetree@vger.kernel.org; Lars-Peter Clausen <lars@metafoo.de>;
> > Hennerich, Michael <Michael.Hennerich@analog.com>
> > Subject: Re: [PATCH 3/3] dt-bindings: iio: Add ltc2688 documentation
> >
> >
> > On Wed, 15 Dec 2021 15:30:37 -0600
> > Rob Herring <robh@kernel.org> wrote:
> >
> > > On Tue, Dec 14, 2021 at 05:56:08PM +0100, Nuno Sá wrote:
> > > > Document the LTC2688 devicetree properties.
> > > >
> > > > Signed-off-by: Nuno Sá <nuno.sa@analog.com>
> > > > ---
> > > > .../bindings/iio/dac/adi,ltc2688.yaml | 146
> > ++++++++++++++++++
> > > > MAINTAINERS | 1 +
> > > > 2 files changed, 147 insertions(+)
> > > > create mode 100644
> > Documentation/devicetree/bindings/iio/dac/adi,ltc2688.yaml
> > > >
> > > > diff --git
> > a/Documentation/devicetree/bindings/iio/dac/adi,ltc2688.yaml
> > b/Documentation/devicetree/bindings/iio/dac/adi,ltc2688.yaml
> > > > new file mode 100644
> > > > index 000000000000..7919cd8ec7c9
> > > > --- /dev/null
> > > > +++
> > b/Documentation/devicetree/bindings/iio/dac/adi,ltc2688.yaml
> > > > @@ -0,0 +1,146 @@
> > > > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > > > +%YAML 1.2
> > > > +---
> > > > +$id:
> > https://urldefense.com/v3/__http://devicetree.org/schemas/iio/dac/
> > adi,ltc2688.yaml*__;Iw!!A3Ni8CS0y2Y!rHThZYvGYZfm2zOTRFsr1xH61Bf
> > mq371ojtDKEdpTSeC7lCU_dS7CnRBJvPcEQ$
> > > > +$schema:
> > https://urldefense.com/v3/__http://devicetree.org/meta-
> > schemas/core.yaml*__;Iw!!A3Ni8CS0y2Y!rHThZYvGYZfm2zOTRFsr1xH
> > 61Bfmq371ojtDKEdpTSeC7lCU_dS7CnSFhKxW0w$
> > > > +
> > > > +title: Analog Devices LTC2688 DAC
> > > > +
> > > > +maintainers:
> > > > + - Nuno Sá <nuno.sa@analog.com>
> > > > +
> > > > +description: |
> > > > + Analog Devices LTC2688 16 channel, 16 bit, +-15V DAC
> > > > + https://www.analog.com/media/en/technical-
> > documentation/data-sheets/ltc2688.pdf
> > > > +
> > > > +properties:
> > > > + compatible:
> > > > + enum:
> > > > + - adi,ltc2688
> > > > +
> > > > + reg:
> > > > + maxItems: 1
> > > > +
> > > > + vcc-supply:
> > > > + description: Analog Supply Voltage Input.
> > > > +
> > > > + iovcc-supply:
> > > > + description: Digital Input/Output Supply Voltage.
> > > > +
> > > > + vref-supply:
> > > > + description:
> > > > + Reference Input/Output. The voltage at the REF pin sets the
> > full-scale
> > > > + range of all channels. By default, the internal reference is
> > routed to
> > > > + this pin.
> > > > +
> > > > + reset-gpios:
> > > > + description:
> > > > + If specified, it will be asserted during driver probe. As the line is
> > > > + active low, it should be marked GPIO_ACTIVE_LOW.
> > > > + maxItems: 1
> > > > +
> > > > + clocks:
> > > > + minItems: 1
> > > > + maxItems: 3
> > > > +
> > > > + clock-names:
> > > > + minItems: 1
> > > > + maxItems: 3
> > > > + items:
> > > > + enum: [TGP1, TGP2, TGP3]
> > >
> > > pattern: '^TGP[1-3]$'
> > >
> > > > +
> > > > + '#address-cells':
> > > > + const: 1
> > > > +
> > > > + '#size-cells':
> > > > + const: 0
> > > > +
> > > > +patternProperties:
> > > > + "^channel@([0-9]|1[0-5])$":
> > > > + type: object
> > > > +
> > > > + properties:
> > > > + reg:
> > > > + description: The channel number representing the DAC
> > output channel.
> > > > + maximum: 15
> > > > +
> > > > + adi,toggle-mode:
> > > > + description:
> > > > + Set the channel as a toggle enabled channel. Toggle
> > operation enables
> > > > + fast switching of a DAC output between two different DAC
> > codes without
> > > > + any SPI transaction. It will result in a different ABI for the
> > > > + channel.
> > > > + type: boolean
> > > > +
> > > > + adi,output-range-millivolt:
> > >
> > > Not one of the defined units. Use '-microvolt'
> >
> > > > + description:
> > > > + Specify the channel output full scale range. Allowed values
> > are
> > > > + <0 5000>
> > > > + <0 10000>
> > > > + <-5000 5000>
> > > > + <-10000 10000>
> > > > + <-15000 15000>
> > >
> > > Looks like constraints.
> > >
> > > items:
> > > - enum: [ -15000, -10000, -5000, 0 ]
> > > - enum: [ 5000, 10000, 15000 ]
> > >
> > > though that will need to all be x1000.
> >
> > also should be constrained to allowed combinations which probably
> > means a oneOf construct.
> >
>
> Exactly. AFICT, with Rob's suggestion things like <-15000 5000> would
> be validated but not really possible and the driver does not allow it. I did
> tried some stuff before sending this simplified form (constrains in description):
>
> ...
> oneOf:
> - items:
> - const: 0
> - enum: [5000, 10000]
> - items:
> - const: -5000
> - const: 5000
> ...
>
> Whiles things worked for <0 5000> and <0 10000>, they failed for <(-5000) 5000>:
>
> "
> next/Documentation/devicetree/bindings/iio/dac/adi,ltc2688.example.dt.y
> aml: ltc2688@0: channel@1:adi,output-range-millivolt: 'oneOf'
> conditional failed, one must be fixed:
> 0 was expected
> -5000 was expected
> From schema: /home/nsa/work/linux-adi-
> next/Documentation/devicetree/bindings/iio/dac/adi,ltc2688.yam"
>
> Trying this combination <0 (-5000)> led to:
>
> "
> next/Documentation/devicetree/bindings/iio/dac/adi,ltc2688.example.dt.y
> aml: ltc2688@0: channel@1:adi,output-range-microvolt: 'oneOf'
> conditional failed, one must be fixed:
> -5000 was expected
> 4294962296 is not one of [5000, 10000]
> From schema: /home/nsa/work/linux-adi-
> next/Documentation/devicetree/bindings/iio/dac/adi,ltc2688.yaml
> "
>
> it makes me feel that something is going on with signed/unsigned
> comparisons. But I might be completely off with this approach :)
I'll go with huh...
Documentation/devicetree/bindings/iio/dac/adi,ad3552r.yaml
and other places have pretty much the same construct though examples
don't actually use it.
I have some vague recollection of a previous discussion about negatives
and that Rob had some plan to make them work long term. In the meantime
we just avoid them in the examples.
Rob, is my memory deceiving me?
Thanks,
Jonathan
>
> - Nuno Sá
>
next prev parent reply other threads:[~2021-12-30 15:38 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-14 16:56 [PATCH 0/3] Add support for LTC2688 Nuno Sá
2021-12-14 16:56 ` [PATCH 1/3] iio: dac: add support for ltc2688 Nuno Sá
2021-12-15 10:23 ` Lars-Peter Clausen
2021-12-15 13:40 ` Sa, Nuno
2021-12-15 13:55 ` Sa, Nuno
2021-12-15 15:58 ` Lars-Peter Clausen
2021-12-15 17:08 ` Sa, Nuno
2021-12-16 14:11 ` Jonathan Cameron
2021-12-17 12:31 ` Sa, Nuno
2021-12-30 15:28 ` Jonathan Cameron
2022-01-07 15:44 ` Sa, Nuno
2021-12-14 16:56 ` [PATCH 2/3] iio: ABI: add ABI file for the LTC2688 DAC Nuno Sá
2021-12-16 13:35 ` Jonathan Cameron
2021-12-17 11:59 ` Sa, Nuno
2021-12-14 16:56 ` [PATCH 3/3] dt-bindings: iio: Add ltc2688 documentation Nuno Sá
2021-12-15 21:30 ` Rob Herring
2021-12-16 13:32 ` Jonathan Cameron
2021-12-17 9:09 ` Sa, Nuno
2021-12-30 15:43 ` Jonathan Cameron [this message]
2022-01-07 15:49 ` Sa, Nuno
2021-12-30 15:13 ` [PATCH 0/3] Add support for LTC2688 Jonathan Cameron
2022-01-07 15:32 ` Sa, Nuno
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=20211230154354.06a54b7c@jic23-huawei \
--to=jic23@jic23.retrosnub.co.uk \
--cc=Michael.Hennerich@analog.com \
--cc=Nuno.Sa@analog.com \
--cc=devicetree@vger.kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).