From: David Lechner <dlechner@baylibre.com>
To: Alexandru Ardelean <aardelean@baylibre.com>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org
Cc: jic23@kernel.org, krzk+dt@kernel.org, robh@kernel.org,
lars@metafoo.de, michael.hennerich@analog.com,
gstols@baylibre.com
Subject: Re: [PATCH v4 7/8] dt-bindings: iio: adc: add docs for AD7606C-{16,18} parts
Date: Thu, 5 Sep 2024 16:54:04 -0500 [thread overview]
Message-ID: <4f522d0c-7ed8-4dd4-83ae-f400d6958c6f@baylibre.com> (raw)
In-Reply-To: <20240905082404.119022-8-aardelean@baylibre.com>
On 9/5/24 3:24 AM, Alexandru Ardelean wrote:
> The driver will support the AD7606C-16 and AD7606C-18.
> This change adds the compatible strings for these devices.
>
> The AD7606C-16,18 channels also support these (individually configurable)
> types of channels:
> - bipolar single-ended
> - unipolar single-ended
> - bipolar differential
>
> Signed-off-by: Alexandru Ardelean <aardelean@baylibre.com>
> ---
> .../bindings/iio/adc/adi,ad7606.yaml | 109 ++++++++++++++++++
> 1 file changed, 109 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml
> index 69408cae3db9..57537ab0ec82 100644
> --- a/Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml
> @@ -14,6 +14,8 @@ description: |
> https://www.analog.com/media/en/technical-documentation/data-sheets/AD7605-4.pdf
> https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606_7606-6_7606-4.pdf
> https://www.analog.com/media/en/technical-documentation/data-sheets/AD7606B.pdf
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606c-16.pdf
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606c-18.pdf
> https://www.analog.com/media/en/technical-documentation/data-sheets/AD7616.pdf
>
> properties:
> @@ -24,11 +26,19 @@ properties:
> - adi,ad7606-6
> - adi,ad7606-8 # Referred to as AD7606 (without -8) in the datasheet
> - adi,ad7606b
> + - adi,ad7606c-16
> + - adi,ad7606c-18
> - adi,ad7616
>
> reg:
> maxItems: 1
>
> + "#address-cells":
> + const: 1
> +
> + "#size-cells":
> + const: 0
> +
> spi-cpha: true
>
> spi-cpol: true
> @@ -114,6 +124,46 @@ properties:
> assumed that the pins are hardwired to VDD.
> type: boolean
>
> +patternProperties:
> + "^channel@[1-8]$":
> + type: object
> + $ref: adc.yaml
> + unevaluatedProperties: false
> +
> + properties:
> + reg:
> + description:
> + The channel number, as specified in the datasheet (from 1 to 8).
> + minimum: 1
> + maximum: 8
> +
> + diff-channels:
> + description:
> + Each channel can be configured as a differential bipolar channel.
> + The ADC uses the same positive and negative inputs for this.
> + This property must be specified as 'reg' (or the channel number) for
> + both positive and negative inputs (i.e. diff-channels = <reg reg>).
> + items:
> + minimum: 1
> + maximum: 8
> +
> + bipolar:
> + description:
> + Each channel can be configured as a unipolar or bipolar single-ended.
> + When this property is not specified, it's unipolar, so the ADC will
> + have only the positive input wired.
> + For this ADC the 'diff-channels' & 'bipolar' properties are mutually
> + exclusive.
> +
> + required:
> + - reg
> +
> + oneOf:
> + - required:
> + - diff-channels
> + - required:
> + - bipolar
The datasheet (ad7606c-18.pdf) lists the following combinations:
* Bipolar single-ended
* Unipolar single-ended
* Bipolar differential
The logic in the oneOf: doesn't match this.
This I think this would be sufficient:
- if:
required: [diff-channels]
then:
required: [bipolar]
> +
> required:
> - compatible
> - reg
> @@ -170,6 +220,17 @@ allOf:
> adi,conversion-start-gpios:
> maxItems: 1
>
> + - if:
> + not:
> + properties:
> + compatible:
> + enum:
> + - adi,ad7606c-16
> + - adi,ad7606c-18
> + then:
> + patternProperties:
> + "^channel@[1-8]$": false
> +
> unevaluatedProperties: false
>
> examples:
> @@ -202,4 +263,52 @@ examples:
> standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
> };
> };
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + #include <dt-bindings/interrupt-controller/irq.h>
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + adc@0 {
> + compatible = "adi,ad7606c-18";
> + reg = <0>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + spi-max-frequency = <1000000>;
> + spi-cpol;
> + spi-cpha;
> +
> + avcc-supply = <&adc_vref>;
> + vdrive-supply = <&vdd_supply>;
> +
> + interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
> + interrupt-parent = <&gpio>;
> +
> + adi,conversion-start-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
> + reset-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
> + adi,first-data-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
> + standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
> +
> + adi,sw-mode;
> +
> + channel@1 {
> + reg = <1>;
> + diff-channels = <1 1>;
bipolar;
> + };
> +
> + channel@3 {
> + reg = <3>;
> + bipolar;
> + };
> +
> + channel@8 {
> + reg = <8>;
> + diff-channels = <8 8>;
bipolar;
> + };
> +
> + };
> + };
> ...
next prev parent reply other threads:[~2024-09-05 21:54 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-05 8:23 [PATCH v4 0/8] iio: adc: ad7606: add support " Alexandru Ardelean
2024-09-05 8:23 ` [PATCH v4 1/8] iio: adc: ad7606: add 'bits' parameter to channels macros Alexandru Ardelean
2024-09-05 21:25 ` David Lechner
2024-09-06 5:10 ` Alexandru Ardelean
2024-09-05 8:23 ` [PATCH v4 2/8] iio: adc: ad7606: move 'val' pointer to ad7606_scan_direct() Alexandru Ardelean
2024-09-05 21:37 ` David Lechner
2024-09-05 8:23 ` [PATCH v4 3/8] iio: adc: ad7606: split a 'ad7606_sw_mode_setup()' from probe Alexandru Ardelean
2024-09-05 8:23 ` [PATCH v4 4/8] iio: adc: ad7606: wrap channel ranges & scales into struct Alexandru Ardelean
2024-09-05 8:23 ` [PATCH v4 5/8] iio: adc: ad7606: rework available attributes for SW channels Alexandru Ardelean
2024-09-05 8:24 ` [PATCH v4 6/8] dt-bindings: iio: adc: document diff-channels corner case for some ADCs Alexandru Ardelean
2024-09-05 8:24 ` [PATCH v4 7/8] dt-bindings: iio: adc: add docs for AD7606C-{16,18} parts Alexandru Ardelean
2024-09-05 8:27 ` Krzysztof Kozlowski
2024-09-05 21:54 ` David Lechner [this message]
2024-09-07 4:59 ` Alexandru Ardelean
2024-09-07 14:09 ` David Lechner
2024-09-07 17:57 ` Alexandru Ardelean
2024-09-05 22:02 ` David Lechner
2024-09-07 5:01 ` Alexandru Ardelean
2024-09-05 8:24 ` [PATCH v4 8/8] iio: adc: ad7606: add support " Alexandru Ardelean
2024-09-05 23:30 ` David Lechner
2024-09-06 5:34 ` Alexandru Ardelean
2024-09-06 13:33 ` David Lechner
2024-09-06 14:03 ` Alexandru Ardelean
2024-09-07 6:02 ` Alexandru Ardelean
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=4f522d0c-7ed8-4dd4-83ae-f400d6958c6f@baylibre.com \
--to=dlechner@baylibre.com \
--cc=aardelean@baylibre.com \
--cc=devicetree@vger.kernel.org \
--cc=gstols@baylibre.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.hennerich@analog.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®