Add devicetree bindings for ad458x DAS family.
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
---
.../bindings/iio/adc/adi,ad485x.yaml | 82 +++++++++++++++++++
1 file changed, 82 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml
diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml
new file mode 100644
index 000000000000..5f5bdfa9522b
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml
@@ -0,0 +1,82 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright 2022 Analog Devices Inc.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/adi,ad485x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD485X DAS family device driver
+
+maintainers:
+ - Sergiu Cuciurean <sergiu.cuciurean@analog.com>
+ - Dragos Bogdan <dragos.bogdan@analog.com>
+ - Antoniu Miclaus <antoniu.miclaus@analog.com>
+
+description: |
+ Analog Devices AD485X DAS family
+
+ https://www.analog.com/media/en/technical-documentation/data-sheets/ad4858.pdf
+
+properties:
+ compatible:
+ enum:
+ - adi,ad4858
+ - adi,ad4857
+ - adi,ad4856
+ - adi,ad4855
+ - adi,ad4854
+ - adi,ad4853
+ - adi,ad4852
+ - adi,ad4851
+ - adi,ad4858i
+
+ reg:
+ maxItems: 1
+
+ vcc-supply: true
+
+ vdd-supply: true
+
+ vddh-supply: true
+
+ vio-supply: true
+
+ pwms:
+ maxItems: 1
+
+ io-backends:
+ maxItems: 1
+
+ spi-max-frequency:
+ maximum: 100000000
+
+required:
+ - compatible
+ - reg
+ - vcc-supply
+ - vdd-supply
+ - vddh-supply
+ - vio-supply
+ - pwms
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ spi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ adc@0{
+ compatible = "adi,ad4858";
+ reg = <0>;
+ spi-max-frequency = <10000000>;
+ vcc-supply = <&vcc>;
+ vdd-supply = <&vdd>;
+ vddh-supply = <&vddh>;
+ vio-supply = <&vio>;
+ pwms = <&pwm_gen 0 0>;
+ io-backends = <&iio_backend>;
+ };
+ };
+...
--
2.46.0
On Mon, Sep 23, 2024 at 01:10:22PM +0300, Antoniu Miclaus wrote:
> Add devicetree bindings for ad458x DAS family.
typo: ad485x
Subject too.
>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> ---
> .../bindings/iio/adc/adi,ad485x.yaml | 82 +++++++++++++++++++
> 1 file changed, 82 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml
> new file mode 100644
> index 000000000000..5f5bdfa9522b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml
> @@ -0,0 +1,82 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright 2022 Analog Devices Inc.
It's 2024
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/adc/adi,ad485x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AD485X DAS family device driver
What's DAS?
This is a binding, not 'device driver'. Just drop.
> +
> +maintainers:
> + - Sergiu Cuciurean <sergiu.cuciurean@analog.com>
> + - Dragos Bogdan <dragos.bogdan@analog.com>
> + - Antoniu Miclaus <antoniu.miclaus@analog.com>
> +
> +description: |
> + Analog Devices AD485X DAS family
> +
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad4858.pdf
> +
> +properties:
> + compatible:
> + enum:
> + - adi,ad4858
> + - adi,ad4857
> + - adi,ad4856
> + - adi,ad4855
> + - adi,ad4854
> + - adi,ad4853
> + - adi,ad4852
> + - adi,ad4851
> + - adi,ad4858i
> +
> + reg:
> + maxItems: 1
> +
> + vcc-supply: true
> +
> + vdd-supply: true
> +
> + vddh-supply: true
> +
> + vio-supply: true
> +
> + pwms:
> + maxItems: 1
> +
> + io-backends:
> + maxItems: 1
> +
> + spi-max-frequency:
> + maximum: 100000000
> +
> +required:
> + - compatible
> + - reg
> + - vcc-supply
> + - vdd-supply
> + - vddh-supply
> + - vio-supply
> + - pwms
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + adc@0{
> + compatible = "adi,ad4858";
> + reg = <0>;
> + spi-max-frequency = <10000000>;
> + vcc-supply = <&vcc>;
> + vdd-supply = <&vdd>;
> + vddh-supply = <&vddh>;
> + vio-supply = <&vio>;
> + pwms = <&pwm_gen 0 0>;
> + io-backends = <&iio_backend>;
> + };
> + };
> +...
> --
> 2.46.0
>
On Mon, Sep 23, 2024 at 12:17 PM Antoniu Miclaus
<antoniu.miclaus@analog.com> wrote:
>
> Add devicetree bindings for ad458x DAS family.
>
> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> ---
> .../bindings/iio/adc/adi,ad485x.yaml | 82 +++++++++++++++++++
> 1 file changed, 82 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml
> new file mode 100644
> index 000000000000..5f5bdfa9522b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml
> @@ -0,0 +1,82 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +# Copyright 2022 Analog Devices Inc.
> +%YAML 1.2
> +---
I think we could make the bindings a bit more complete (even if the
driver doesn't use everything yet). Some suggestions below.
> +$id: http://devicetree.org/schemas/iio/adc/adi,ad485x.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AD485X DAS family device driver
> +
> +maintainers:
> + - Sergiu Cuciurean <sergiu.cuciurean@analog.com>
> + - Dragos Bogdan <dragos.bogdan@analog.com>
> + - Antoniu Miclaus <antoniu.miclaus@analog.com>
> +
> +description: |
> + Analog Devices AD485X DAS family
> +
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad4858.pdf
Links for other parts? (I only looked at this datasheet, so some of my
comments below might only apply to this part and not the others.)
Since this is a SPI peripheral, we should add...
$ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - adi,ad4858
> + - adi,ad4857
> + - adi,ad4856
> + - adi,ad4855
> + - adi,ad4854
> + - adi,ad4853
> + - adi,ad4852
> + - adi,ad4851
> + - adi,ad4858i
> +
> + reg:
> + maxItems: 1
> +
> + vcc-supply: true
Do we also need vee-supply (it can be a negative voltage or 0V)? Or is
vcc-supply the voltage between V_CC and V_EE?
> +
> + vdd-supply: true
> +
> + vddh-supply: true
Datasheet says V_DDL can be the same or separate supply as V_DDH, so
should probably also have vddl-supply: true.
> +
> + vio-supply: true
What about reference supplies (REFIO and REFBUF)?
> +
> + pwms:
> + maxItems: 1
I suppose this is connected to the CNV pin? Probably worth adding a
description to say that since it isn't so obvious.
> +
> + io-backends:
> + maxItems: 1
For PD pin (power down):
pd-gpios:
maxItems: 1
> +
> + spi-max-frequency:
> + maximum: 100000000
Datasheet says that minimum CSCK Period is 40 ns, so that would be
25000000 Hz max frequency.
> +
> +required:
> + - compatible
> + - reg
> + - vcc-supply
> + - vdd-supply
> + - vddh-supply
Datasheet says to tie V_DDH to GND to disable LDO, so it sounds like
vddh-supply should be optional, not required.
> + - vio-supply
> + - pwms
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + spi {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + adc@0{
> + compatible = "adi,ad4858";
> + reg = <0>;
> + spi-max-frequency = <10000000>;
> + vcc-supply = <&vcc>;
> + vdd-supply = <&vdd>;
> + vddh-supply = <&vddh>;
> + vio-supply = <&vio>;
> + pwms = <&pwm_gen 0 0>;
> + io-backends = <&iio_backend>;
> + };
> + };
> +...
> --
> 2.46.0
>
On Mon, Sep 23, 2024 at 01:10:22PM +0300, Antoniu Miclaus wrote: > Add devicetree bindings for ad458x DAS family. > > Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com> > --- > .../bindings/iio/adc/adi,ad485x.yaml | 82 +++++++++++++++++++ > 1 file changed, 82 insertions(+) > create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml > > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml > new file mode 100644 > index 000000000000..5f5bdfa9522b > --- /dev/null > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad485x.yaml > @@ -0,0 +1,82 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright 2022 Analog Devices Inc. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/iio/adc/adi,ad485x.yaml# The filename should match one of the compatibles. > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Analog Devices AD485X DAS family device driver > + > +maintainers: > + - Sergiu Cuciurean <sergiu.cuciurean@analog.com> > + - Dragos Bogdan <dragos.bogdan@analog.com> > + - Antoniu Miclaus <antoniu.miclaus@analog.com> > + > +description: | > + Analog Devices AD485X DAS family > + > + https://www.analog.com/media/en/technical-documentation/data-sheets/ad4858.pdf > + > +properties: > + compatible: > + enum: > + - adi,ad4858 > + - adi,ad4857 > + - adi,ad4856 > + - adi,ad4855 > + - adi,ad4854 > + - adi,ad4853 > + - adi,ad4852 > + - adi,ad4851 > + - adi,ad4858i I take it that all of these devices have some differences between them? Everything else here seems pretty okay.
© 2016 - 2026 Red Hat, Inc.