Re: [PATCH RFC 1/3] dt-bindings: iio: adc: add AD762x/AD796x ADCs

From: Trevor Gamblin
Date: Wed Jul 31 2024 - 11:24:13 EST



On 2024-07-31 10:11 a.m., Krzysztof Kozlowski wrote:
On 31/07/2024 15:48, Trevor Gamblin wrote:
This adds a binding specification for the Analog Devices Inc. AD7625,
AD7626, AD7960, and AD7961 ADCs.
Please do not use "This commit/patch/change", but imperative mood. See
longer explanation here:
https://elixir.bootlin.com/linux/v5.17.1/source/Documentation/process/submitting-patches.rst#L95
Will do.

Why this is not ready, but RFC? What exactly needs to be commented here?
There's one outstanding question about whether or not there should be a DT property for specifying whether DCO+/- lines are connected (mentioned in the cover letter but not here). I guess it doesn't need to be an RFC just for that.

Signed-off-by: Trevor Gamblin <tgamblin@xxxxxxxxxxxx>
---
.../devicetree/bindings/iio/adc/adi,ad7625.yaml | 176 +++++++++++++++++++++
MAINTAINERS | 9 ++
2 files changed, 185 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/adc/adi,ad7625.yaml b/Documentation/devicetree/bindings/iio/adc/adi,ad7625.yaml
new file mode 100644
index 000000000000..e88db0ac2534
--- /dev/null
+++ b/Documentation/devicetree/bindings/iio/adc/adi,ad7625.yaml
@@ -0,0 +1,176 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/iio/adc/adi,ad7625.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Analog Devices Fast PulSAR Analog to Digital Converters
+
+maintainers:
+ - Michael Hennerich <Michael.Hennerich@xxxxxxxxxx>
+ - Nuno Sá <nuno.sa@xxxxxxxxxx>
+
+description: |
+ A family of single channel differential analog to digital converters
+ in a LFCSP package. Note that these bindings are for the device when
+ used with the PulSAR LVDS project:
+ http://analogdevicesinc.github.io/hdl/projects/pulsar_lvds/index.html.
Eh? And what could be other case - used for what? What are the
differences? Why mentioning it?
Poor wording on my part - I'm not aware of another configuration. Will fix on the resend.

+
+ * https://www.analog.com/en/products/ad7625.html
+ * https://www.analog.com/en/products/ad7626.html
+ * https://www.analog.com/en/products/ad7960.html
+ * https://www.analog.com/en/products/ad7961.html
+
+properties:
+ compatible:
+ enum:
+ - adi,ad7625
+ - adi,ad7626
+ - adi,ad7960
+ - adi,ad7961
+
+ vdd1-supply:
+ description: A supply that powers the analog and digital circuitry.
+
+ vdd2-supply:
+ description: A supply that powers the analog and digital circuitry.
+
+ vio-supply:
+ description: A supply for the inputs and outputs.
+
+ ref-supply:
+ description:
+ Voltage regulator for the external reference voltage (REF).
+
+ refin-supply:
+ description:
+ Voltage regulator for the reference buffer input (REFIN).
+
+ clocks:
+ description:
+ The clock connected to the CLK pins, gated by the clk_gate PWM.
+ maxItems: 1
+
+ pwms:
+ maxItems: 2
+
+ pwm-names:
+ maxItems: 2
+ items:
+ - const: cnv
+ description: PWM connected to the CNV input on the ADC.
+ - const: clk_gate
+ description: PWM that gates the clock connected to the ADC's CLK input.
+
+ io-backends:
+ description:
+ The AXI ADC IP block connected to the D+/- and DCO+/- lines of the ADC.
+ maxItems: 1
+
+ adi,en0-always-on:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description:
+ Indicates if EN0 is hard-wired to the high state. If neither this
+ nor en0-gpios are present, then EN0 is hard-wired low.
+
+ adi,en1-always-on:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description:
+ Indicates if EN1 is hard-wired to the high state. If neither this
+ nor en1-gpios are present, then EN1 is hard-wired low.
+
+ adi,en2-always-on:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description:
+ Indicates if EN2 is hard-wired to the high state. If neither this
+ nor en2-gpios are present, then EN2 is hard-wired low.
+
+ adi,en3-always-on:
+ $ref: /schemas/types.yaml#/definitions/flag
+ description:
+ Indicates if EN3 is hard-wired to the high state. If neither this
+ nor en3-gpios are present, then EN3 is hard-wired low.
+
+ en0-gpios:
+ description:
+ Configurable EN0 pin.
+
+ en1-gpios:
+ description:
+ Configurable EN1 pin.
+
+ en2-gpios:
+ description:
+ Configurable EN2 pin.
+
+ en3-gpios:
+ description:
+ Configurable EN3 pin.
+
+required:
+ - compatible
+ - vdd1-supply
+ - vdd2-supply
+ - vio-supply
+ - clocks
+ - pwms
+ - pwm-names
+ - io-backends
+
+- if:
+ properties:
I don't think this was ever tested. Please use existing bindings or
example-schema as template.

Ok, I'll look into it.

Thanks!


+ compatible:
+ contains:
+ enum:
+ - adi,ad7625
+ - adi,ad7626

Best regards,
Krzysztof