Re: [PATCH v2 2/2] dt-bindings: iio: adc: devicetree bindings for texas instruments ads7142
From: Jonathan Cameron <jic23@kernel.org>
Date: 2021-05-16 09:56:19
Also in:
linux-iio, lkml
On Sun, 16 May 2021 07:31:05 +0000 Jozsef Horvath [off-list ref] wrote:
This is a device tree schema for iio driver for Texas Instruments ADS7142 dual-channel, programmable sensor monitor. Datasheet: https://www.ti.com/lit/ds/symlink/ads7142.pdf Signed-off-by: Jozsef Horvath <redacted>
Hi József, A few comments inline. thanks, Jonathan
quoted hunk ↗ jump to hunk
--- changes v1 - Redundant parameters (ti,threshold-rising, etc.) are removed - Supply name changed(vref -> avdd) - Added dvdd supply - All the properties are removed with prefix "ti," changes v2 - "ti,prealert-count" parameter added, just for completeness. --- .../bindings/iio/adc/ti,ads7142.yaml | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,ads7142.yamldiff --git a/Documentation/devicetree/bindings/iio/adc/ti,ads7142.yaml b/Documentation/devicetree/bindings/iio/adc/ti,ads7142.yaml new file mode 100644 index 000000000000..6e52079c68f7 --- /dev/null +++ b/Documentation/devicetree/bindings/iio/adc/ti,ads7142.yaml@@ -0,0 +1,110 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/iio/adc/ti,ads7142.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Texas Instruments ADS7142 adc driver device tree bindings
ADC
+ +maintainers: + - József Horváth [off-list ref] + +description: | + This document is for describing the required device tree parameters + for ads7142 adc
ADC
+ The required parameters for proper operation are described below. + + Datasheet: https://www.ti.com/lit/ds/symlink/ads7142.pdf + +properties: + compatible: + const: ti,ads7142 + + reg: + maxItems: 1 + + interrupts: + description: | + The BUSY/PDY pin is used as interrupt line
RDY ?
+ in autonomous monitoring mode. + maxItems: 1 + + avdd-supply: + description: Regulator for the reference voltage + + dvdd-supply: true + + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + + "#io-channel-cells": + const: 1 + + ti,prealert-count: + description: | + Sets the Pre-Alert Event Count for both, + high and low comparators, for both the channels.
Interesting. Why is this a device tree property rather than something we want to configure from userspace? Looks like it would map to _period after scaling by the sampling frequency. https://elixir.bootlin.com/linux/latest/source/Documentation/ABI/testing/sysfs-bus-iio#L1003
+ $ref: /schemas/types.yaml#/definitions/uint32 + maximum: 15 + minimum: 0 + +patternProperties: + "^channel@[0-1]$": + $ref: "adc.yaml" + type: object + description: | + Represents the external channels which are connected to the ADC. + properties: + reg: + description: | + The channel number. + items: + minimum: 0 + maximum: 1
enum: [0 1] is a more compact way of putting this IIRC.
+
+ required:
+ - reg
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - "#io-channel-cells"
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ adc@1f {
+ compatible = "ti,ads7142";
+ reg = <0x1f>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ #io-channel-cells = <1>;
+
+ avdd-supply = <&vdd_3v3_reg>;
+ dvdd-supply = <&vdd_1v8_reg>;
+
+ interrupt-parent = <&gpio>;
+ interrupts = <7 2>;
+
+ ti,prealert-count = <4>;
+
+ channel@0 {
+ reg = <0>;
+ };
+
+ channel@1 {
+ reg = <1>;
+ };
+ };
+ };
+...
+