From: Conor Dooley <conor@kernel.org>
To: "Sperling, Tobias" <Tobias.Sperling@softing.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-hwmon@vger.kernel.org" <linux-hwmon@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"jdelvare@suse.com" <jdelvare@suse.com>,
"linux@roeck-us.net" <linux@roeck-us.net>,
"robh@kernel.org" <robh@kernel.org>,
"krzk+dt@kernel.org" <krzk+dt@kernel.org>,
"conor+dt@kernel.org" <conor+dt@kernel.org>,
"corbet@lwn.net" <corbet@lwn.net>,
Jonathan Cameron <jic23@kernel.org>,
linux-iio@vger.kernel.org
Subject: Re: [PATCH 1/2] dt-bindings: hwmon: Introduce ADS71x8
Date: Fri, 30 Aug 2024 14:14:20 +0100 [thread overview]
Message-ID: <20240830-chaos-unrivaled-04c5c4c6add9@spud> (raw)
In-Reply-To: <BE1P281MB24208CB90AF549578AA5C384EF972@BE1P281MB2420.DEUP281.PROD.OUTLOOK.COM>
[-- Attachment #1: Type: text/plain, Size: 5144 bytes --]
Hey Tobias, Guenter, Jonathan,
On Fri, Aug 30, 2024 at 11:49:53AM +0000, Sperling, Tobias wrote:
> From b2e04ce5500faf274654be5284be9db4f3abefce Mon Sep 17 00:00:00 2001
> From: Tobias Sperling <tobias.sperling@softing.com>
> Date: Fri, 23 Aug 2024 12:08:33 +0200
> Subject: [PATCH 1/2] dt-bindings: hwmon: Introduce ADS71x8
>
> Add documentation for the driver of ADS7128 and ADS7138 12-bit, 8-channel
> analog-to-digital converters. These ADCs have a wide operating range and
> a wide feature set. Communication is based on an I2C interface.
> The driver provides the functionality of manually reading single channels
> or sequentially reading all channels automatically.
>
> Signed-off-by: Tobias Sperling <tobias.sperling@softing.com>
> ---
> .../devicetree/bindings/hwmon/ti,ads71x8.yaml | 85 +++++++++++
If this is a "generic" adc, why is it going into hwmon?
I would have expected this to be in iio/adc, and use more typical adc
bindings, even if the driver is in hwmon.
Guenter/Jonathan wdyt?
> Documentation/hwmon/ads71x8.rst | 140 ++++++++++++++++++
> Documentation/hwmon/index.rst | 1 +
And these two documents are not dt-bindings, so they should either be in
their own commit or alongside the driver. Not sure how Guenter likes
things.
> 3 files changed, 226 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/hwmon/ti,ads71x8.yaml
> create mode 100644 Documentation/hwmon/ads71x8.rst
>
> diff --git a/Documentation/devicetree/bindings/hwmon/ti,ads71x8.yaml b/Documentation/devicetree/bindings/hwmon/ti,ads71x8.yaml
> new file mode 100644
> index 000000000000..e422c4ebd207
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/hwmon/ti,ads71x8.yaml
Please make the filename match a compatible.
> @@ -0,0 +1,85 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +
> +$id: http://devicetree.org/schemas/hwmon/ti,ads71x8.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments ADS7128/ADS7138 Analog to Digital Converter (ADC)
> +
> +maintainers:
> + - None
Nice trick..
> +description: |
> + The ADS7128 is 12-Bit, 8-Channel Sampling Analog to Digital Converter (ADC)
> + with an I2C interface.
> +
> + Datasheets:
> + https://www.ti.com/product/ADS7128
> + https://www.ti.com/product/ADS7138
> +
> +properties:
> + compatible:
> + enum:
> + - ti,ads7128
> + - ti,ads7138
> +
> + reg:
> + maxItems: 1
> +
> + avdd-supply:
There's also a dvdd on the ads7128.
> + description:
> + The regulator used as analog supply voltage as well as reference voltage.
> +
> + ti,mode:
> + $ref: /schemas/types.yaml#/definitions/uint8
> + description: |
> + Operation mode
> + Mode 0 - Manual mode. A channel is only sampled when the according input
> + in the sysfs is read.
> + Mode 1 - Auto mode. All channels are automatically sampled sequentially.
> + Reading an input returns the last valid sample. In this mode further
> + features like statistics and interrupts are available.
> + default: 0
I don't think this ti,mode property is suitable for bindings. sysfs is a
linux implementation detail, when to do sampling is an implementation
detail of your driver. Bindings are only supposed to describe properties
of the hardware, not set software policy.
> +
> + ti,interval:
> + $ref: /schemas/types.yaml#/definitions/uint16
> + description: |
> + Only considered in mode 1!
> + Interval in microseconds a new sample is triggered. Is set to closest
> + possible interval, see datasheet.
For iio devices, this is usually set from userspace, not from
devicetree, because it is usually not a hardware property, but rather
something a user may want to change at runtime.
> + default: 1
> +
> + interrupts:
> + description: |
> + Only considered in mode 1!
> + Interrupt specifier the device's ALERT pin is connected to. Level must be
> + IRQ_TYPE_LEVEL_LOW. If not configured the digital window comparator (DWC)
> + is not available.
> + maxItems: 1
You've got 8 channels on the device, so I would be expecting to see
these described here, with a reference to adc.yaml, even if the only
suitable property is "label".
> +
> +required:
> + - compatible
> + - reg
> + - avdd-supply
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + ads7138@10 {
This should just be "dac@".
> + compatible = "ti,ads7138";
> + reg = <0x10>;
> + avdd-supply = <®_stb_3v3>;
> + ti,mode = /bits/ 8 <1>;
> + ti,interval = /bits/ 16 <1000>;
> + interrupt-parent = <&gpio2>;
> + interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
> + status = "okay";
> + };
> + };
oCheers,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2024-08-30 13:14 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-30 11:49 [PATCH 1/2] dt-bindings: hwmon: Introduce ADS71x8 Sperling, Tobias
2024-08-30 13:14 ` Conor Dooley [this message]
2024-08-30 14:30 ` Guenter Roeck
2024-08-31 12:18 ` Jonathan Cameron
2024-09-02 13:04 ` AW: " Sperling, Tobias
2024-09-03 19:40 ` Jonathan Cameron
2024-08-31 12:21 ` Jonathan Cameron
2024-09-02 13:24 ` AW: " Sperling, Tobias
2024-09-02 14:17 ` Jonathan Cameron
2024-09-02 12:58 ` AW: " Sperling, Tobias
2024-09-02 13:49 ` Guenter Roeck
2024-08-31 6:42 ` Krzysztof Kozlowski
2024-09-02 13:48 ` AW: " Sperling, Tobias
2024-09-02 16:02 ` Krzysztof Kozlowski
2024-09-02 17:01 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240830-chaos-unrivaled-04c5c4c6add9@spud \
--to=conor@kernel.org \
--cc=Tobias.Sperling@softing.com \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=jdelvare@suse.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox