[PATCH v3 1/3] dt-bindings: iio: adc: add a7779 doc

Ramona Alexandra Nechita posted 3 patches 1 year, 6 months ago
Only 1 patches received!
There is a newer version of this series
[PATCH v3 1/3] dt-bindings: iio: adc: add a7779 doc
Posted by Ramona Alexandra Nechita 1 year, 6 months ago
Add dt bindings for adc ad7779.

Signed-off-by: Ramona Alexandra Nechita <ramona.nechita@analog.com>
---
 .../bindings/iio/adc/adi,ad7779.yaml          | 84 +++++++++++++++++++
 1 file changed, 84 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
new file mode 100644
index 000000000000..f1eec656acec
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
@@ -0,0 +1,84 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/adi,ad7779.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD777X family 8-Channel, 24-Bit, Simultaneous Sampling ADCs
+
+maintainers:
+  - Ramona Nechita <ramona.nechita@analog.com>
+
+description: |
+  The AD777X family consist of 8-channel, simultaneous sampling analog-to-
+  digital converter (ADC). Eight full Σ-Δ ADCs are on-chip. The
+  AD7771 provides an ultralow input current to allow direct sensor
+  connection. Each input channel has a programmable gain stage
+  allowing gains of 1, 2, 4, and 8 to map lower amplitude sensor
+  outputs into the full-scale ADC input range, maximizing the
+  dynamic range of the signal chain.
+
+  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7770.pdf
+  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7771.pdf
+  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7779.pdf
+
+$ref: /schemas/spi/spi-peripheral-props.yaml#
+
+properties:
+  compatible:
+    enum:
+      - adi,ad7770
+      - adi,ad7771
+      - adi,ad7779
+
+  reg:
+    maxItems: 1
+
+  '#address-cells':
+    const: 1
+
+  '#size-cells':
+    const: 0
+
+  clocks:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  vref-supply:
+    description:
+      ADC reference voltage supply
+
+  start-gpios:
+    description:
+      Pin that controls start synchronization pulse.
+    maxItems: 1
+
+  reset-gpios:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - clocks
+
+unevaluatedProperties: false
+
+examples:
+- |
+  #include <dt-bindings/gpio/gpio.h>
+  spi {
+      #address-cells = <1>;
+      #size-cells = <0>;
+
+      adc@0 {
+        compatible = "adi,ad7779";
+        reg = <0>;
+        vref-supply = <&vref>;
+        start-gpios = <&gpio0 87 GPIO_ACTIVE_LOW>;
+        reset-gpios = <&gpio0 93 GPIO_ACTIVE_LOW>;
+        clocks = <&adc_clk>;
+      };
+  };
+...
-- 
2.43.0

Re: [PATCH v3 1/3] dt-bindings: iio: adc: add a7779 doc
Posted by Conor Dooley 1 year, 6 months ago
On Wed, Jun 19, 2024 at 03:20:44PM +0300, Ramona Alexandra Nechita wrote:
> Add dt bindings for adc ad7779.
> 
> Signed-off-by: Ramona Alexandra Nechita <ramona.nechita@analog.com>
> ---
>  .../bindings/iio/adc/adi,ad7779.yaml          | 84 +++++++++++++++++++
>  1 file changed, 84 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
> 
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
> new file mode 100644
> index 000000000000..f1eec656acec
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
> @@ -0,0 +1,84 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/adc/adi,ad7779.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AD777X family 8-Channel, 24-Bit, Simultaneous Sampling ADCs
> +
> +maintainers:
> +  - Ramona Nechita <ramona.nechita@analog.com>
> +
> +description: |
> +  The AD777X family consist of 8-channel, simultaneous sampling analog-to-
> +  digital converter (ADC). Eight full Σ-Δ ADCs are on-chip. The
> +  AD7771 provides an ultralow input current to allow direct sensor
> +  connection. Each input channel has a programmable gain stage
> +  allowing gains of 1, 2, 4, and 8 to map lower amplitude sensor
> +  outputs into the full-scale ADC input range, maximizing the
> +  dynamic range of the signal chain.
> +
> +  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7770.pdf
> +  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7771.pdf
> +  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7779.pdf
> +
> +$ref: /schemas/spi/spi-peripheral-props.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - adi,ad7770
> +      - adi,ad7771
> +      - adi,ad7779
> +
> +  reg:
> +    maxItems: 1
> +
> +  '#address-cells':
> +    const: 1
> +
> +  '#size-cells':
> +    const: 0

Why does this device have address/size cells, but not have any child
nodes? Are you missing some channel child nodes? If you don't have
children, you don't need these properties.

Also, your patch is still not threaded with the other 2 patches in the
series (I see 1/3 in the subject). Where are those patches?

Thanks,
Conor.

> +
> +  clocks:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  vref-supply:
> +    description:
> +      ADC reference voltage supply
> +
> +  start-gpios:
> +    description:
> +      Pin that controls start synchronization pulse.
> +    maxItems: 1
> +
> +  reset-gpios:
> +    maxItems: 1
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +
> +unevaluatedProperties: false
> +
> +examples:
> +- |
> +  #include <dt-bindings/gpio/gpio.h>
> +  spi {
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +
> +      adc@0 {
> +        compatible = "adi,ad7779";
> +        reg = <0>;
> +        vref-supply = <&vref>;
> +        start-gpios = <&gpio0 87 GPIO_ACTIVE_LOW>;
> +        reset-gpios = <&gpio0 93 GPIO_ACTIVE_LOW>;
> +        clocks = <&adc_clk>;
> +      };
> +  };
> +...
> -- 
> 2.43.0
> 
Re: [PATCH v3 1/3] dt-bindings: iio: adc: add a7779 doc
Posted by Jonathan Cameron 1 year, 5 months ago
On Wed, 19 Jun 2024 18:42:31 +0100
Conor Dooley <conor@kernel.org> wrote:

> On Wed, Jun 19, 2024 at 03:20:44PM +0300, Ramona Alexandra Nechita wrote:
> > Add dt bindings for adc ad7779.
> > 
> > Signed-off-by: Ramona Alexandra Nechita <ramona.nechita@analog.com>
> > ---
> >  .../bindings/iio/adc/adi,ad7779.yaml          | 84 +++++++++++++++++++
> >  1 file changed, 84 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
> > 
> > diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
> > new file mode 100644
> > index 000000000000..f1eec656acec
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
> > @@ -0,0 +1,84 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/iio/adc/adi,ad7779.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Analog Devices AD777X family 8-Channel, 24-Bit, Simultaneous Sampling ADCs
> > +
> > +maintainers:
> > +  - Ramona Nechita <ramona.nechita@analog.com>
> > +
> > +description: |
> > +  The AD777X family consist of 8-channel, simultaneous sampling analog-to-
> > +  digital converter (ADC). Eight full Σ-Δ ADCs are on-chip. The
> > +  AD7771 provides an ultralow input current to allow direct sensor
> > +  connection. Each input channel has a programmable gain stage
> > +  allowing gains of 1, 2, 4, and 8 to map lower amplitude sensor
> > +  outputs into the full-scale ADC input range, maximizing the
> > +  dynamic range of the signal chain.
> > +
> > +  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7770.pdf
> > +  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7771.pdf
> > +  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7779.pdf
> > +
> > +$ref: /schemas/spi/spi-peripheral-props.yaml#
> > +
> > +properties:
> > +  compatible:
> > +    enum:
> > +      - adi,ad7770
> > +      - adi,ad7771
> > +      - adi,ad7779
> > +
> > +  reg:
> > +    maxItems: 1
> > +
> > +  '#address-cells':
> > +    const: 1
> > +
> > +  '#size-cells':
> > +    const: 0  
> 
> Why does this device have address/size cells, but not have any child
> nodes? Are you missing some channel child nodes? If you don't have
> children, you don't need these properties.
> 
> Also, your patch is still not threaded with the other 2 patches in the
> series (I see 1/3 in the subject). Where are those patches?

Yeah, I have 3 copies of the cover letter, one with patch 1, one with patch 2,
one on it's own and a stray patch 3 and patchwork has failed to figure
it out...  Can one of the other Analog devices folk help Ramona get a
working confirmation for sending patches please.

The b4 gateway is a good option if no one has the magic config incantation
to get emails out of a particular corporate network.

> 
> Thanks,
> Conor.
> 
> > +
> > +  clocks:
> > +    maxItems: 1
> > +
> > +  interrupts:
> > +    maxItems: 1
> > +
> > +  vref-supply:
> > +    description:
> > +      ADC reference voltage supply

I assume there is at least one more supply?  They should all
be listed in here and those that 'must' be turned on for the
device to function should be in required.  If it's optional, then
add to the description what happens if it isn't supplied. Typically that's
for reference supplies where the device has another option such as an internal
reference.

Jonathan

> > +
> > +  start-gpios:
> > +    description:
> > +      Pin that controls start synchronization pulse.
> > +    maxItems: 1
> > +
> > +  reset-gpios:
> > +    maxItems: 1
> > +
> > +required:
> > +  - compatible
> > +  - reg
> > +  - clocks
> > +
> > +unevaluatedProperties: false
> > +
> > +examples:
> > +- |
> > +  #include <dt-bindings/gpio/gpio.h>
> > +  spi {
> > +      #address-cells = <1>;
> > +      #size-cells = <0>;
> > +
> > +      adc@0 {
> > +        compatible = "adi,ad7779";
> > +        reg = <0>;
> > +        vref-supply = <&vref>;
> > +        start-gpios = <&gpio0 87 GPIO_ACTIVE_LOW>;
> > +        reset-gpios = <&gpio0 93 GPIO_ACTIVE_LOW>;
> > +        clocks = <&adc_clk>;
> > +      };
> > +  };
> > +...
> > -- 
> > 2.43.0
> >   
Re: [PATCH v3 1/3] dt-bindings: iio: adc: add a7779 doc
Posted by Rob Herring (Arm) 1 year, 6 months ago
On Wed, 19 Jun 2024 15:20:44 +0300, Ramona Alexandra Nechita wrote:
> Add dt bindings for adc ad7779.
> 
> Signed-off-by: Ramona Alexandra Nechita <ramona.nechita@analog.com>
> ---
>  .../bindings/iio/adc/adi,ad7779.yaml          | 84 +++++++++++++++++++
>  1 file changed, 84 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/iio/adc/adi,ad7779.yaml:69:1: [warning] wrong indentation: expected 2 but found 0 (indentation)

dtschema/dtc warnings/errors:

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240619122105.22642-2-ramona.nechita@analog.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
  • [PATCH v3 1/3] dt-bindings: iio: adc: add a7779 doc