Re: [PATCH v6 2/2] dt-bindings: hwmon: (adt7475) Added missing adt7475 documentation

From: Logan Shaw
Date: Tue Feb 04 2020 - 19:48:10 EST


Just a gentle reminder as this thread has been quiet for a while. Rob,
I would appreciate some feedback on my question from my previous email.

To add a little more detail: I want to avoid simply checking for the
existence of a property in the DTS as that could break compatibility
with codebases implementing their own method of handling the attenuator
bypass.

On Thu, 2020-01-30 at 03:07 +0000, Logan Shaw wrote:
> On Mon, 2020-01-27 at 09:48 -0600, Rob Herring wrote:
> > On Mon, Jan 27, 2020 at 11:10:14AM +1300, Logan Shaw wrote:
> > > Added a new file documenting the adt7475 devicetree and added the
> > > four
> > > new properties to it.
> > >
> > > Signed-off-by: Logan Shaw <logan.shaw@xxxxxxxxxxxxxxxxxxx>
> > > ---
> > > ---
> > > .../devicetree/bindings/hwmon/adt7475.yaml | 95
> > > +++++++++++++++++++
> > > 1 file changed, 95 insertions(+)
> > > create mode 100644
> > > Documentation/devicetree/bindings/hwmon/adt7475.yaml
> > >
> > > diff --git a/Documentation/devicetree/bindings/hwmon/adt7475.yaml
> > > b/Documentation/devicetree/bindings/hwmon/adt7475.yaml
> > > new file mode 100644
> > > index 000000000000..450da5e66e07
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/hwmon/adt7475.yaml
> > > @@ -0,0 +1,95 @@
> > > +# SPDX-License-Identifier: GPL-2.0
> >
> > Dual license new bindings please:
> >
> > (GPL-2.0-only OR BSD-2-Clause)
> >
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/adt7475.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: ADT7475 hwmon sensor
> > > +
> > > +maintainers:
> > > + - Jean Delvare <jdelvare@xxxxxxxx>
> > > +
> > > +description: |
> > > + The ADT7473, ADT7475, ADT7476, and ADT7490 are thermal
> > > monitors
> > > and multiple
> > > + PWN fan controllers.
> > > +
> > > + They support monitoring and controlling up to four fans (the
> > > ADT7490 can only
> > > + control up to three). They support reading a single on chip
> > > temperature
> > > + sensor and two off chip temperature sensors (the ADT7490
> > > additionally
> > > + supports measuring up to three current external temperature
> > > sensors with
> > > + series resistance cancellation (SRC)).
> > > +
> > > + Datasheets:
> > > + https://www.onsemi.com/pub/Collateral/ADT7473-D.PDF
> > > + https://www.onsemi.com/pub/Collateral/ADT7475-D.PDF
> > > + https://www.onsemi.com/pub/Collateral/ADT7476-D.PDF
> > > + https://www.onsemi.com/pub/Collateral/ADT7490-D.PDF
> > > +
> > > + Description taken from omsemiconductors specification sheets,
> > > with minor
> >
> > omsemi?
> > ^
> >
> > > + rephrasing.
> > > +
> > > +properties:
> > > + compatible:
> > > + enum:
> > > + - adi,adt7473
> > > + - adi,adt7475
> > > + - adi,adt7476
> > > + - adi,adt7490
> > > +
> > > + reg:
> > > + maxItems: 1
> > > +
> > > + bypass-attenuator-in0:
> >
> > Needs a vendor prefix and a type ref.
> >
> > > + description: |
> > > + Configures bypassing the individual voltage input
> > > + attenuator, on in0. This is supported on the ADT7476 and
> > > ADT7490.
> > > + If set to a non-zero integer the attenuator is bypassed,
> > > if
> > > set to
> > > + zero the attenuator is not bypassed. If the property is
> > > absent then
> > > + the config register is not modified.
> >
> > Sounds like this could be boolean? If not, define a schema for what
> > are
> > valid values.
>
> By boolean are you referring to a dts property that is evaluated
> (using
> function of_property_read_bool) as true/false, depending on its
> presence? For example "regulator-always-on" in:
> /Documentation/devicetree/bindings/regulator/regulator.yaml .
>
> >
> > > + maxItems: 1
> > > +
> > > + bypass-attenuator-in1:
> > > + description: |
> > > + Configures bypassing the individual voltage input
> > > + attenuator, on in1. This is supported on the ADT7473,
> > > ADT7475,
> > > + ADT7476 and ADT7490. If set to a non-zero integer the
> > > attenuator
> > > + is bypassed, if set to zero the attenuator is not
> > > bypassed.
> > > If the
> > > + property is absent then the config register is not
> > > modified.
> > > + maxItems: 1
> > > +
> > > + bypass-attenuator-in3:
> > > + description: |
> > > + Configures bypassing the individual voltage input
> > > + attenuator, on in3. This is supported on the ADT7476 and
> > > ADT7490.
> > > + If set to a non-zero integer the attenuator is bypassed,
> > > if
> > > set to
> > > + zero the attenuator is not bypassed. If the property is
> > > absent then
> > > + the config register is not modified.
> > > + maxItems: 1
> > > +
> > > + bypass-attenuator-in4:
> >
> > These 4 could be a single entry under patternProperties.
> >
> >
> > > + description: |
> > > + Configures bypassing the individual voltage input
> > > + attenuator, on in4. This is supported on the ADT7476 and
> > > ADT7490.
> > > + If set to a non-zero integer the attenuator is bypassed,
> > > if
> > > set to
> > > + zero the attenuator is not bypassed. If the property is
> > > absent then
> > > + the config register is not modified.
> > > + maxItems: 1
> > > +
> > > +required:
> > > + - compatible
> > > + - reg
> > > +
> > > +examples:
> > > + - |
> > > + i2c {
> > > + #address-cells = <1>;
> > > + #size-cells = <0>;
> > > +
> > > + hwmon@2e {
> > > + compatible = "adi,adt7476";
> > > + reg = <0x2e>;
> > > + bypass-attenuator-in0 = <1>;
> > > + bypass-attenuator-in1 = <0>;
> > > + };
> > > + };
> > > +...
> > > --
> > > 2.25.0
> > >