From: David Lechner <dlechner@baylibre.com>
To: Alexandru Ardelean <aardelean@baylibre.com>,
Krzysztof Kozlowski <krzk@kernel.org>
Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org, jic23@kernel.org, krzk+dt@kernel.org,
robh@kernel.org, lars@metafoo.de, michael.hennerich@analog.com,
gstols@baylibre.com
Subject: Re: [PATCH v2 7/8] dt-bindings: iio: adc: add adi,ad7606c-{16,18} compatible strings
Date: Mon, 2 Sep 2024 14:58:56 -0500 [thread overview]
Message-ID: <7cd270b3-9df3-41a6-82ee-43bab78f379b@baylibre.com> (raw)
In-Reply-To: <CA+GgBR-aQw+JHky5XwRDQj=6y1pHD=OvBeGW1ocd=ZR6ieBJrw@mail.gmail.com>
On 9/2/24 1:38 PM, Alexandru Ardelean wrote:
> On Mon, Sep 2, 2024 at 2:55 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>>
>> On Mon, Sep 02, 2024 at 01:36:30PM +0300, Alexandru Ardelean wrote:
>>> reg:
>>> @@ -114,6 +118,25 @@ properties:
>>> assumed that the pins are hardwired to VDD.
>>> type: boolean
>>>
>>> +patternProperties:
>>> + "^channel@([0-7])$":
>>> + type: object
>>> + $ref: adc.yaml
>>> + unevaluatedProperties: false
>>> +
>>> + properties:
>>> + reg:
>>> + description: The channel number.
>>> + minimum: 0
>>> + maximum: 7
>>> +
>>> + diff-channels: true
>>
>> Shouldn't this be specific?
>
> Umm.
> Specific how?
> Like if:then check for certain compatible strings?
>
diff-channels is not a boolean property, it is an array of two
integers that specify the positive and negative pins. So this
should have e.g. minimum: and maximum: constraints for each
item in the array. Even if we only use this like a boolean flag
in the driver, we need to make the bindings use the already
established definition of diff-channels from adc.yaml.
It would look like this in the .dts:
diff-channels = <1 1>;
The datasheet numbers the pins 1 to 8 instead of 0 to 7,
so it would make sense to have the pin number be reg + 1
(or redefine reg to be minimum: 1, maximum: 8).
We also recently introduced a single-channel property
that can be used when the pin number of of the input
doesn't match the reg number.
>>
>>> +
>>> + bipolar: true
>>> +
>>> + required:
>>> + - reg
>>> +
>>> required:
>>> - compatible
>>> - reg
>>> @@ -202,4 +225,44 @@ 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>;
>>> + 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>;
>>> +
>>> + 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-channel;
>>
>> Where is this property defined (which schema)?
>>
>> Did you test it?
>
> Tested on my board.
> But forgot to update the DT schema docs.
> Though, if you're referring to testing it somehow via some make
> command, I'm a little behind on how all this works now.
> I'll go re-check the "make dtbs_check" and similar commands.
>
> Maybe I sound a bit old (now), but when I last saw these DT bindings
> going from txt-to-yaml, they seemed relatively simple.
> Now, they're almost like their own programming language.
> I'll search for some quick setup guides for these; any pointers are welcome :)
I can help you with this.
next prev parent reply other threads:[~2024-09-02 19:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-02 10:36 [PATCH v2 0/8] iio: adc: ad7606: add support for AD7606C-{16,18} parts Alexandru Ardelean
2024-09-02 10:36 ` [PATCH v2 1/8] iio: adc: ad7606: add 'bits' parameter to channels macros Alexandru Ardelean
2024-09-02 10:36 ` [PATCH v2 2/8] iio: adc: ad7606: move 'val' pointer to ad7606_scan_direct() Alexandru Ardelean
2024-09-02 10:36 ` [PATCH v2 3/8] iio: adc: ad7606: split a 'ad7606_sw_mode_setup()' from probe Alexandru Ardelean
2024-09-02 10:36 ` [PATCH v2 4/8] iio: adc: ad7606: wrap channel ranges & scales into struct Alexandru Ardelean
2024-09-02 10:36 ` [PATCH v2 5/8] iio: adc: ad7606: rework available attributes for SW channels Alexandru Ardelean
2024-09-02 10:36 ` [PATCH v2 6/8] dt-bindings: iio: adc: document diff-channels corner case for some ADCs Alexandru Ardelean
2024-09-02 11:54 ` Krzysztof Kozlowski
2024-09-02 18:28 ` Alexandru Ardelean
2024-09-02 10:36 ` [PATCH v2 7/8] dt-bindings: iio: adc: add adi,ad7606c-{16,18} compatible strings Alexandru Ardelean
2024-09-02 11:55 ` Krzysztof Kozlowski
2024-09-02 18:38 ` Alexandru Ardelean
2024-09-02 19:58 ` David Lechner [this message]
2024-09-03 7:17 ` Krzysztof Kozlowski
2024-09-02 10:36 ` [PATCH v2 8/8] iio: adc: ad7606: add support for AD7606C-{16,18} parts 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=7cd270b3-9df3-41a6-82ee-43bab78f379b@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=krzk@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