From: Conor Dooley <conor@kernel.org>
To: "Miclaus, Antoniu" <Antoniu.Miclaus@analog.com>
Cc: Jean Delvare <jdelvare@suse.com>,
Guenter Roeck <linux@roeck-us.net>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
"linux-hwmon@vger.kernel.org" <linux-hwmon@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>
Subject: Re: [PATCH v2 1/2] dt-bindings: hwmon: ltc2991: add bindings
Date: Mon, 2 Oct 2023 20:56:07 +0100 [thread overview]
Message-ID: <20231002-gradient-crop-cfd75342c475@spud> (raw)
In-Reply-To: <CY4PR03MB33990FB22E1BB8686AC0CF509BC5A@CY4PR03MB3399.namprd03.prod.outlook.com>
[-- Attachment #1: Type: text/plain, Size: 7884 bytes --]
On Mon, Oct 02, 2023 at 01:46:53PM +0000, Miclaus, Antoniu wrote:
>
>
> --
> Antoniu Miclăuş
>
> > -----Original Message-----
> > From: Conor Dooley <conor@kernel.org>
> > Sent: Monday, October 2, 2023 4:01 PM
> > To: Miclaus, Antoniu <Antoniu.Miclaus@analog.com>
> > Cc: Jean Delvare <jdelvare@suse.com>; Guenter Roeck <linux@roeck-
> > us.net>; Rob Herring <robh+dt@kernel.org>; Krzysztof Kozlowski
> > <krzysztof.kozlowski+dt@linaro.org>; Conor Dooley
> > <conor+dt@kernel.org>; Jonathan Corbet <corbet@lwn.net>; linux-
> > hwmon@vger.kernel.org; devicetree@vger.kernel.org; linux-
> > kernel@vger.kernel.org; linux-doc@vger.kernel.org
> > Subject: Re: [PATCH v2 1/2] dt-bindings: hwmon: ltc2991: add bindings
> >
> > [External]
> >
> > Hey,
> >
> > On Mon, Oct 02, 2023 at 01:18:14PM +0300, Antoniu Miclaus wrote:
> > > Add dt-bindings for ltc2991 octal i2c voltage, current and temperature
> > > monitor.
> > >
> > > Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
> > > ---
> > > changes in v2:
> > > - make compatible const type
> > > - remove `|` where not necessary
> > > - switch to micro-ohms for the shunt resistor property
> > > - add vendor prefix for temperature-enable
> >
> > Thanks for the updates...
> >
> > > .../bindings/hwmon/adi,ltc2991.yaml | 114 ++++++++++++++++++
> > > 1 file changed, 114 insertions(+)
> > > create mode 100644
> > Documentation/devicetree/bindings/hwmon/adi,ltc2991.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/hwmon/adi,ltc2991.yaml
> > b/Documentation/devicetree/bindings/hwmon/adi,ltc2991.yaml
> > > new file mode 100644
> > > index 000000000000..3811ea07a04f
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/hwmon/adi,ltc2991.yaml
> > > @@ -0,0 +1,114 @@
> > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> > > +%YAML 1.2
> > > +---
> > > +
> > > +$id: http://devicetree.org/schemas/hwmon/adi,ltc2991.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Analog Devices LTC2991 Octal I2C Voltage, Current and Temperature
> > Monitor
> > > +
> > > +maintainers:
> > > + - Antoniu Miclaus <antoniu.miclaus@analog.com>
> > > +
> > > +description: |
> > > + The LTC2991 is used to monitor system temperatures, voltages and
> > currents.
> > > + Through the I2C serial interface, the eight monitors can individually
> > measure
> > > + supply voltages and can be paired for differential measurements of
> > current
> > > + sense resistors or temperature sensing transistors.
> > > +
> > > + Datasheet:
> > > + https://www.analog.com/en/products/ltc2991.html
> > > +
> > > +properties:
> > > + compatible:
> > > + const: adi,ltc2991
> > > +
> > > + reg:
> > > + maxItems: 1
> > > +
> > > + '#address-cells':
> > > + const: 1
> > > +
> > > + '#size-cells':
> > > + const: 0
> > > +
> > > + vcc-supply: true
> > > +
> > > +patternProperties:
> > > + "^channel@[0-3]$":
> > > + type: object
> > > + description:
> > > + Represents the differential/temperature channels.
Missing "additionalProperties: false". Once added, it finds that you
didn't update the child nodes to account for the addition of the vendor
prefix.
> > > +
> > > + properties:
> > > + reg:
> > > + description:
> > > + The channel number. LTC2991 can monitor 4 currents/temperatures.
> > > + items:
> > > + minimum: 0
> > > + maximum: 3
Should reg not be required here?
> > > +
> > > + shunt-resistor-micro-ohms:
> > > + description:
> > > + The value of curent sense resistor in miliohms. Enables differential
> > > + input pair.
> > > +
> > > + adi,temperature-enable:
> > > + description:
> > > + Enables temperature readings for a input pair.
> > > + type: boolean
> >
> > ...but I did not see an answer to my question on v1:
> > TBH, this seems like it is used just to control software behaviour.
> > Why would you want to actually disable this in DT?
> > In other words, is there something in that hardware that precludes
> > measuring temperature for channels that do not contain this property?
> >
> > Thanks,
> > Conor.
> >
> Sorry for missing that. I took in consideration this approach based on the pin functions
> described in the datasheet (page 8 of 32). For example the V1 pin of the part can support
> 3 different configurations: "V1 (Pin 1): First Monitor Input. This pin can be configured
> as a single-ended input (0V to 4.9V) or the positive inputfor a differential or remote diode
> temperature measurement (in combination with V2)."
> Moreover, looking at the multiple typical applications examples at the end of the datasheet
> there is a specific adjacent hardware circuit connected to this part for the temperature
> measurements configurations.
Okay. That seems fair to me, thanks for the explanation. From your
description here it sounds like the pins between which differential
measurements are made are fixed in hardware. Is that correct?
One final question - from your description here it sounds like
shunt-resistor-micro-ohms & adi,temperature-enable are mutually
exclusive? If they are indeed mutually exclusive, you can fold in
something like the below.
diff --git a/Documentation/devicetree/bindings/hwmon/adi,ltc2991.yaml b/Documentation/devicetree/bindings/hwmon/adi,ltc2991.yaml
index 3811ea07a04f..8b1bbbfe7948 100644
--- a/Documentation/devicetree/bindings/hwmon/adi,ltc2991.yaml
+++ b/Documentation/devicetree/bindings/hwmon/adi,ltc2991.yaml
@@ -39,6 +39,7 @@ patternProperties:
type: object
description:
Represents the differential/temperature channels.
+ additionalProperties: false
properties:
reg:
@@ -58,6 +59,17 @@ patternProperties:
Enables temperature readings for a input pair.
type: boolean
+ required:
+ - reg
+
+ allOf:
+ - if:
+ required:
+ - shunt-resistor-micro-ohms
+ then:
+ properties:
+ adi,temperature-enable: false
+
required:
- compatible
- reg
Cheers,
Conor.
>
> Thank you,
> Antoniu
> > > +
> > > +required:
> > > + - compatible
> > > + - reg
> > > + - vcc-supply
> > > +
> > > +additionalProperties: false
> > > +
> > > +examples:
> > > + - |
> > > + i2c {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + hwmon@48 {
> > > + compatible = "adi,ltc2991";
> > > + reg = <0x48>;
> > > + vcc-supply = <&vcc>;
> > > + };
> > > + };
> > > + - |
> > > + i2c {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + hwmon@48 {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + compatible = "adi,ltc2991";
> > > + reg = <0x48>;
> > > + vcc-supply = <&vcc>;
> > > +
> > > + channel@0 {
> > > + reg = <0x0>;
> > > + shunt-resistor-micro-ohms = <100000>;
> > > + };
> > > +
> > > + channel@1 {
> > > + reg = <0x1>;
> > > + shunt-resistor-micro-ohms = <100000>;
> > > + };
> > > +
> > > + channel@2 {
> > > + reg = <0x2>;
> > > + temperature-enable;
> > > + };
> > > +
> > > + channel@3 {
> > > + reg = <0x3>;
> > > + temperature-enable;
> > > + };
> > > + };
> > > + };
> > > +...
> > > --
> > > 2.42.0
> > >
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
prev parent reply other threads:[~2023-10-02 19:56 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-02 10:18 [PATCH v2 1/2] dt-bindings: hwmon: ltc2991: add bindings Antoniu Miclaus
2023-10-02 10:18 ` [PATCH v2 2/2] drivers: hwmon: ltc2991: add driver support Antoniu Miclaus
2023-10-02 13:00 ` [PATCH v2 1/2] dt-bindings: hwmon: ltc2991: add bindings Conor Dooley
2023-10-02 13:46 ` Miclaus, Antoniu
2023-10-02 19:38 ` Rob Herring
2023-10-02 19:56 ` Conor Dooley [this message]
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=20231002-gradient-crop-cfd75342c475@spud \
--to=conor@kernel.org \
--cc=Antoniu.Miclaus@analog.com \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=devicetree@vger.kernel.org \
--cc=jdelvare@suse.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=robh+dt@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;
as well as URLs for NNTP newsgroup(s).