Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp1548899rdb; Mon, 2 Oct 2023 13:07:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH8pllIBfv9GWKz8A2YZ6dAhW2oHOvirGxZSOUjJ4ASRfqg0kph6RwFiCUAgleaT18DWrk1 X-Received: by 2002:a05:6a21:6d88:b0:125:517c:4f18 with SMTP id wl8-20020a056a216d8800b00125517c4f18mr12503814pzb.8.1696277224128; Mon, 02 Oct 2023 13:07:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696277224; cv=none; d=google.com; s=arc-20160816; b=SHrbGpQK4KaR+VKk0cJHkwd3GWto58BKDkj0gMCLEVfOi92b4tp5r58TXmcTnpmlJo 0mqEFXVojPYD0ga45hjPBe5C6NsHEgTu/ENMo44RVQawTSTA3PpRQBitRZKgroz2IGMz 5rnQdi6ZY4DdG1KDv3eqEU7sJk5jxGCDnPf5W0nH6XtAIi3AkrzEHGObyTsJy5hNjWie DSpkhe7/1QyLaTWQJoOt+umUtKo6geBmKb7XOiQvdOP45WmtlEAW7th4wdq9XciehmP4 s1aPD1cVAsZfRdUUcL/mzMYdZLXzb42KFAgs0U5YGc2qd88aLaAT4uZJ8Q83NIF/q//Q aJbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=daMT7++iEMtK7SYJIdu1rv60HRa3rafOeG/h4MDcwz8=; fh=1PZS6oTzu6x9GpRZ8O0S11mFJgqI67o3VEsgb/kQt2U=; b=fRWfp/zR8buNI/KKQFXPGiqf7mxmLZfm5OTLKHutatYkmLTPoyy6xuXojLRlM0hffr FMnlHcfrou/NfJrERfX82j0Q4jJQVXpZ4ttTUGrKKe+TDU4cFDQWWK9HyDrRQsUEv0l7 DfzZuE0DqYw4f2J6jcbBXbcKqy9UjkB1YpN91Zj504KXw82FzuvNgEGs3fE6wIazgqdc ICWSULNFL3qWlMA3Yq0Dl6BLuanZiXw+WwpcRUlGS4wSKhXfwQHD1dckCLGl5MtMX+WU F1Oi1bvTyIObXSIf83PATl+OnecBjpqlbh1+hp1UF9JxqiNGLDeY7xSUCc726cqCXi67 mCKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=CLu04a56; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id q12-20020a056a00150c00b00693394f5d92si15032377pfu.316.2023.10.02.13.07.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Oct 2023 13:07:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=CLu04a56; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 2BA3180842F0; Mon, 2 Oct 2023 12:56:33 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229677AbjJBT4Q (ORCPT + 99 others); Mon, 2 Oct 2023 15:56:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51244 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229497AbjJBT4P (ORCPT ); Mon, 2 Oct 2023 15:56:15 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 707DDB3; Mon, 2 Oct 2023 12:56:12 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CB3C8C433C7; Mon, 2 Oct 2023 19:56:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1696276572; bh=ph7h5sAEb9ypE4i6uCa380vh5k+WO2IDb6ilcGeeXL0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=CLu04a56diys/JmudLhCzoBs+DRZaXslCht8wJQM0ZdJavmMXvRt1xGMwET2BZUth xWMBloMwrHyzBlsLy2/z/1QdZrDZxcAwpZ4aoBaKFsvFOYkCYldzhU/jbBxq2Ub6+A fZB1ZGYiqmVqntAYmxas6Ie5xlay4RP5t5wgOtSQIQOB9lru487BMDnKrf1EqVZTNB vU96ibJRZJuoRrqIlcB0UzoyX94Yl/nd0AzS0eyEaHHIb5E4kiyC/NYBR5NguNFq4I JnxLUznlkW1nIaBFrtufR2gkJoMpl3HczwhQhmZDa4n8wJpFpmX3nDBkV5JGqFSnqG 4XeLHFo2UxohA== Date: Mon, 2 Oct 2023 20:56:07 +0100 From: Conor Dooley To: "Miclaus, Antoniu" Cc: Jean Delvare , Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Jonathan Corbet , "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 Message-ID: <20231002-gradient-crop-cfd75342c475@spud> References: <20231002101835.39624-1-antoniu.miclaus@analog.com> <20231002-babbling-justice-73d3601a71aa@spud> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="zPbks5im7L45xBIh" Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Mon, 02 Oct 2023 12:56:33 -0700 (PDT) --zPbks5im7L45xBIh Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 02, 2023 at 01:46:53PM +0000, Miclaus, Antoniu wrote: >=20 >=20 > -- > Antoniu Micl=C4=83u=C5=9F >=20 > > -----Original Message----- > > From: Conor Dooley > > Sent: Monday, October 2, 2023 4:01 PM > > To: Miclaus, Antoniu > > Cc: Jean Delvare ; Guenter Roeck > us.net>; Rob Herring ; Krzysztof Kozlowski > > ; Conor Dooley > > ; Jonathan Corbet ; 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 > >=20 > > [External] > >=20 > > Hey, > >=20 > > 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 > > > --- > > > 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 > >=20 > > Thanks for the updates... > >=20 > > > .../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 Tempera= ture > > Monitor > > > + > > > +maintainers: > > > + - Antoniu Miclaus > > > + > > > +description: | > > > + The LTC2991 is used to monitor system temperatures, voltages and > > currents. > > > + Through the I2C serial interface, the eight monitors can individua= lly > > 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/tempera= tures. > > > + 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 di= fferential > > > + input pair. > > > + > > > + adi,temperature-enable: > > > + description: > > > + Enables temperature readings for a input pair. > > > + type: boolean > >=20 > > ...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? > >=20 > > Thanks, > > Conor. > >=20 > Sorry for missing that. I took in consideration this approach based on th= e 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 ca= n be configured > as a single-ended input (0V to 4.9V) or the positive inputfor a different= ial or remote diode > temperature measurement (in combination with V2)." > Moreover, looking at the multiple typical applications examples at the en= d 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/Doc= umentation/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 =20 properties: reg: @@ -58,6 +59,17 @@ patternProperties: Enables temperature readings for a input pair. type: boolean =20 + required: + - reg + + allOf: + - if: + required: + - shunt-resistor-micro-ohms + then: + properties: + adi,temperature-enable: false + required: - compatible - reg Cheers, Conor. >=20 > Thank you, > Antoniu > > > + > > > +required: > > > + - compatible > > > + - reg > > > + - vcc-supply > > > + > > > +additionalProperties: false > > > + > > > +examples: > > > + - | > > > + i2c { > > > + #address-cells =3D <1>; > > > + #size-cells =3D <0>; > > > + > > > + hwmon@48 { > > > + compatible =3D "adi,ltc2991"; > > > + reg =3D <0x48>; > > > + vcc-supply =3D <&vcc>; > > > + }; > > > + }; > > > + - | > > > + i2c { > > > + #address-cells =3D <1>; > > > + #size-cells =3D <0>; > > > + > > > + hwmon@48 { > > > + #address-cells =3D <1>; > > > + #size-cells =3D <0>; > > > + > > > + compatible =3D "adi,ltc2991"; > > > + reg =3D <0x48>; > > > + vcc-supply =3D <&vcc>; > > > + > > > + channel@0 { > > > + reg =3D <0x0>; > > > + shunt-resistor-micro-ohms =3D <100000>; > > > + }; > > > + > > > + channel@1 { > > > + reg =3D <0x1>; > > > + shunt-resistor-micro-ohms =3D <100000>; > > > + }; > > > + > > > + channel@2 { > > > + reg =3D <0x2>; > > > + temperature-enable; > > > + }; > > > + > > > + channel@3 { > > > + reg =3D <0x3>; > > > + temperature-enable; > > > + }; > > > + }; > > > + }; > > > +... > > > -- > > > 2.42.0 > > > --zPbks5im7L45xBIh Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRh246EGq/8RLhDjO14tDGHoIJi0gUCZRsgVwAKCRB4tDGHoIJi 0vOZAQCv9kZP0jt/EoZ1B3kYj0wcoOI26AeHAnG21QEvcDYmlwEAgMyhB+ExhReG WmMXYIFmiCGRqV+AKgiRUmorSB1EUgY= =3dB+ -----END PGP SIGNATURE----- --zPbks5im7L45xBIh--