2019-10-13 14:16:10

by Marcelo Schmitt

[permalink] [raw]
Subject: [PATCH 2/2] dt-bindings: iio: adc: Add DT docs for AD7292

Add a device tree binding doc for AD7292 monitor and control system.

Signed-off-by: Marcelo Schmitt <[email protected]>
---
.../bindings/iio/adc/adi,ad7292.yaml | 71 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 72 insertions(+)
create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml
new file mode 100644
index 000000000000..16be9ea4194d
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml
@@ -0,0 +1,71 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/adi,ad7292.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices AD7292 10-Bit Monitor and Control System
+
+maintainers:
+ - Marcelo Schmitt <[email protected]>
+
+description: |
+ Analog Devices AD7292 10-Bit Monitor and Control System with ADC, DACs,
+ Temperature Sensor, and GPIOs
+
+ Specifications about the part can be found at:
+ https://www.analog.com/media/en/technical-documentation/data-sheets/ad7292.pdf
+
+properties:
+ compatible:
+ enum:
+ - adi,ad7292
+
+ reg:
+ maxItems: 1
+
+ vref-supply:
+ description: |
+ The regulator supply for ADC and DAC reference voltage.
+ maxItems: 1
+
+ spi-cpha:
+ description: |
+ See Documentation/devicetree/bindings/spi/spi-controller.yaml
+ maxItems: 1
+
+ diff-channels:
+ description: |
+ Empty property to tell whether VIN0 and VIN1 shall work as differential
+ inputs.
+ maxItems: 1
+
+ '#address-cells':
+ const: 1
+
+ '#size-cells':
+ const: 0
+
+required:
+ - compatible
+ - reg
+
+examples:
+ - |
+ spi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ ad7292: ad7292@0 {
+ compatible = "adi,ad7292";
+ reg = <0>;
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ spi-max-frequency = <25000000>;
+ vref-supply = <&adc_vref>;
+ spi-cpha;
+ diff-channels;
+ };
+ }
diff --git a/MAINTAINERS b/MAINTAINERS
index e78317a5f4f1..5941cfc0d6f7 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -819,6 +819,7 @@ L: [email protected]
W: http://ez.analog.com/community/linux-device-drivers
S: Supported
F: drivers/iio/adc/ad7292.c
+F: Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml

ANALOG DEVICES INC AD7606 DRIVER
M: Stefan Popa <[email protected]>
--
2.23.0


2019-10-14 11:50:22

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH 2/2] dt-bindings: iio: adc: Add DT docs for AD7292

On Sun, 13 Oct 2019 11:13:47 -0300
Marcelo Schmitt <[email protected]> wrote:

> Add a device tree binding doc for AD7292 monitor and control system.
>
> Signed-off-by: Marcelo Schmitt <[email protected]>
> ---
> .../bindings/iio/adc/adi,ad7292.yaml | 71 +++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 72 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml
> new file mode 100644
> index 000000000000..16be9ea4194d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml
> @@ -0,0 +1,71 @@
> +# SPDX-License-Identifier: GPL-2.0
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iio/adc/adi,ad7292.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Analog Devices AD7292 10-Bit Monitor and Control System
> +
> +maintainers:
> + - Marcelo Schmitt <[email protected]>
> +
> +description: |
> + Analog Devices AD7292 10-Bit Monitor and Control System with ADC, DACs,
> + Temperature Sensor, and GPIOs
> +
> + Specifications about the part can be found at:
> + https://www.analog.com/media/en/technical-documentation/data-sheets/ad7292.pdf
> +
> +properties:
> + compatible:
> + enum:
> + - adi,ad7292
> +
> + reg:
> + maxItems: 1
> +
> + vref-supply:
> + description: |
> + The regulator supply for ADC and DAC reference voltage.
> + maxItems: 1
> +
> + spi-cpha:
> + description: |
> + See Documentation/devicetree/bindings/spi/spi-controller.yaml
> + maxItems: 1
> +
> + diff-channels:
> + description: |
> + Empty property to tell whether VIN0 and VIN1 shall work as differential
> + inputs.
> + maxItems: 1

This looks like a nice general interface, but really isn't as it only applies
to the first two channels.

Can you use the standard channel defintions
Documentation/devicetree/bindings/iio/adc.txt
to specify this?

It may seem overly complex, but it has the benefit of being generic.

Would be something like:

channel@0 {
diff-channels = < 0 1 >
};
channel@2 {
};
vs all the channels being present, none set as diff.

Thanks,

Jonathan

> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 0
> +
> +required:
> + - compatible
> + - reg
> +
> +examples:
> + - |
> + spi0 {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ad7292: ad7292@0 {
> + compatible = "adi,ad7292";
> + reg = <0>;
> +
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + spi-max-frequency = <25000000>;
> + vref-supply = <&adc_vref>;
> + spi-cpha;
> + diff-channels;
> + };
> + }
> diff --git a/MAINTAINERS b/MAINTAINERS
> index e78317a5f4f1..5941cfc0d6f7 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -819,6 +819,7 @@ L: [email protected]
> W: http://ez.analog.com/community/linux-device-drivers
> S: Supported
> F: drivers/iio/adc/ad7292.c
> +F: Documentation/devicetree/bindings/iio/adc/adi,ad7292.yaml
>
> ANALOG DEVICES INC AD7606 DRIVER
> M: Stefan Popa <[email protected]>