From: Jonathan Cameron <jic23@kernel.org>
To: Antoniu Miclaus <antoniu.miclaus@analog.com>
Cc: <robh@kernel.org>, <conor+dt@kernel.org>,
<linux-iio@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <linux-pwm@vger.kernel.org>,
Conor Dooley <conor.dooley@microchip.com>
Subject: Re: [PATCH v9 7/8] dt-bindings: iio: adc: add ad4851
Date: Mon, 23 Dec 2024 11:40:08 +0000 [thread overview]
Message-ID: <20241223114008.71e00bee@jic23-huawei> (raw)
In-Reply-To: <20241220120134.42760-7-antoniu.miclaus@analog.com>
On Fri, 20 Dec 2024 14:01:33 +0200
Antoniu Miclaus <antoniu.miclaus@analog.com> wrote:
> Add devicetree bindings for ad485x family.
>
> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Mixed single end and differential channel devices that have per channel
child nodes need a more complex description to avoid reg have different
and possibly clashing meanings for the two types of channel.
See inline.
Thanks,
Jonathan
> ---
> changes in v9:
> - add back diff-channels property.
> .../bindings/iio/adc/adi,ad4851.yaml | 142 ++++++++++++++++++
> 1 file changed, 142 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad4851.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad4851.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad4851.yaml
> new file mode 100644
> index 000000000000..5911f1cfc39d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad4851.yaml
> @@ -0,0 +1,142 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright 2024 Analog Devices Inc.
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/adc/adi,ad4851.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AD485X family
> +
> +maintainers:
> + - Sergiu Cuciurean <sergiu.cuciurean@analog.com>
> + - Dragos Bogdan <dragos.bogdan@analog.com>
> + - Antoniu Miclaus <antoniu.miclaus@analog.com>
> +
> +description: |
> + Analog Devices AD485X fully buffered, 8-channel simultaneous sampling,
> + 16/20-bit, 1 MSPS data acquisition system (DAS) with differential, wide
> + common-mode range inputs.
> +
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad4855.pdf
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad4856.pdf
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad4857.pdf
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad4858.pdf
> +
> +$ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - adi,ad4851
> + - adi,ad4852
> + - adi,ad4853
> + - adi,ad4854
> + - adi,ad4855
> + - adi,ad4856
> + - adi,ad4857
> + - adi,ad4858
> + - adi,ad4858i
> +
> + reg:
> + maxItems: 1
> +
> + vcc-supply: true
> +
> + vee-supply: true
> +
> + vdd-supply: true
> +
> + vddh-supply: true
> +
> + vddl-supply: true
> +
> + vio-supply: true
> +
> + vrefbuf-supply: true
> +
> + vrefio-supply: true
> +
> + pwms:
> + description: PWM connected to the CNV pin.
> + maxItems: 1
> +
> + io-backends:
> + maxItems: 1
> +
> + pd-gpios:
> + maxItems: 1
> +
> + spi-max-frequency:
> + maximum: 25000000
> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 0
> +
> +patternProperties:
> + "^channel(@[0-7])?$":
> + $ref: adc.yaml
> + type: object
> + description: Represents the channels which are connected to the ADC.
> +
> + properties:
> + reg:
> + description: The channel number in single-ended mode.
And what is it in differential mode? (usually just an index).
Which is a problem if you have a mix. That's why we added
single-channel.
So for devices where reg isn't enough, you can use:
reg: index of channel, not real meaning just makes them unique.
single-channel: The channel number for single ended.
diff-channels: The channel numbers for differential channels.
> + minimum: 0
> + maximum: 7
> +
> + diff-channels: true
Should be constraints / information on the values possible.
I've no idea what the 8 is in your example for instance.
> +
> + bipolar: true
> +
> + required:
> + - reg
> +
> + additionalProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - vcc-supply
> + - vee-supply
> + - vdd-supply
> + - vio-supply
> + - pwms
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + adc@0{
> + #address-cells = <1>;
> + #size-cells = <0>;
> + compatible = "adi,ad4858";
> + reg = <0>;
> + spi-max-frequency = <10000000>;
> + vcc-supply = <&vcc>;
> + vdd-supply = <&vdd>;
> + vee-supply = <&vee>;
> + vddh-supply = <&vddh>;
> + vddl-supply = <&vddl>;
> + vio-supply = <&vio>;
> + pwms = <&pwm_gen 0 0>;
> + io-backends = <&iio_backend>;
> +
> + channel@0 {
> + reg = <0>;
> + diff-channels = <0 8>;
> + bipolar;
> + };
> +
> + channel@1 {
> + reg = <1>;
> + };
> + };
> + };
> +...
next prev parent reply other threads:[~2024-12-23 11:40 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-20 12:01 [PATCH v9 1/8] iio: backend: add API for interface get Antoniu Miclaus
2024-12-20 12:01 ` [PATCH v9 2/8] iio: backend: add support for data size set Antoniu Miclaus
2024-12-20 12:01 ` [PATCH v9 3/8] iio: backend: add API for oversampling Antoniu Miclaus
2024-12-20 12:01 ` [PATCH v9 4/8] iio: adc: adi-axi-adc: add interface type Antoniu Miclaus
2024-12-20 12:01 ` [PATCH v9 5/8] iio: adc: adi-axi-adc: set data format Antoniu Miclaus
2024-12-20 12:01 ` [PATCH v9 6/8] iio: adc: adi-axi-adc: add oversampling Antoniu Miclaus
2024-12-20 12:01 ` [PATCH v9 7/8] dt-bindings: iio: adc: add ad4851 Antoniu Miclaus
2024-12-23 11:40 ` Jonathan Cameron [this message]
2025-01-08 16:48 ` David Lechner
2024-12-20 12:01 ` [PATCH v9 8/8] iio: adc: ad4851: add ad485x driver Antoniu Miclaus
2024-12-23 12:00 ` Jonathan Cameron
2025-01-08 17:06 ` David Lechner
2025-01-08 23:24 ` David Lechner
2025-01-14 12:01 ` Miclaus, Antoniu
2025-01-14 13:20 ` Jonathan Cameron
2025-01-14 15:51 ` David Lechner
2025-01-17 9:59 ` Uwe Kleine-König
2025-01-17 15:43 ` Jonathan Cameron
2024-12-23 11:33 ` [PATCH v9 1/8] iio: backend: add API for interface get 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=20241223114008.71e00bee@jic23-huawei \
--to=jic23@kernel.org \
--cc=antoniu.miclaus@analog.com \
--cc=conor+dt@kernel.org \
--cc=conor.dooley@microchip.com \
--cc=devicetree@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pwm@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