On Tue, Apr 12, 2022 at 03:52:31PM +0200, Camel Guo wrote: > Document the TMP401, TMP411 and TMP43x device devicetree bindings > > Signed-off-by: Camel Guo <camel.guo@xxxxxxxx> > --- > > Notes: > v2: > - Fix format and describe hardware properties instead of programming > models > > .../devicetree/bindings/hwmon/ti,tmp401.yaml | 112 ++++++++++++++++++ > MAINTAINERS | 1 + > 2 files changed, 113 insertions(+) > create mode 100644 Documentation/devicetree/bindings/hwmon/ti,tmp401.yaml > > diff --git a/Documentation/devicetree/bindings/hwmon/ti,tmp401.yaml b/Documentation/devicetree/bindings/hwmon/ti,tmp401.yaml > new file mode 100644 > index 000000000000..dae4df36935e > --- /dev/null > +++ b/Documentation/devicetree/bindings/hwmon/ti,tmp401.yaml > @@ -0,0 +1,112 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/hwmon/ti,tmp401.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: TMP401, TPM411 and TMP43x temperature sensor > + > +maintainers: > + - Guenter Roeck <linux@xxxxxxxxxxxx> > + > +description: | > + ±1°C Remote and Local temperature sensor > + > + Datasheets: > + https://www.ti.com/lit/ds/symlink/tmp401.pdf > + https://www.ti.com/lit/ds/symlink/tmp411.pdf > + https://www.ti.com/lit/ds/symlink/tmp431.pdf > + https://www.ti.com/lit/ds/symlink/tmp435.pdf > + > +properties: > + compatible: > + enum: > + - ti,tmp401 > + - ti,tmp411 > + - ti,tmp431 > + - ti,tmp432 > + - ti,tmp435 > + > + reg: > + maxItems: 1 > + > + '#address-cells': > + const: 1 > + > + '#size-cells': > + const: 0 You don't have any child nodes and these are for child nodes with 'reg'. > + > + ti,extended-range-enable: > + description: > + When set, this sensor measures over extended temperature range. > + type: boolean > + > + ti,n-factor: Funny, I just ran across this property today for tmp421... Can the schema be shared? > + description: > + value to be used for converting remote channel measurements to > + temperature. > + $ref: /schemas/types.yaml#/definitions/uint32 > + items: > + minimum: 0 > + maximum: 255 Isn't this property signed and should be -128 to -127? The code treats the existing cases as signed. One schema is correct and one is like you have it. > + > + ti,beta-compensation: > + description: > + value to select beta correction range. > + $ref: /schemas/types.yaml#/definitions/uint32 > + items: > + minimum: 0 > + maximum: 15 Drop 'items'. It is not an array. > + > +allOf: > + - if: > + properties: > + compatible: > + contains: > + enum: > + - ti,tmp401 > + then: > + properties: > + ti,n-factor: false > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - ti,tmp401 > + - ti,tmp411 > + then: > + properties: > + ti,beta-compensation: false > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + sensor@4c { > + compatible = "ti,tmp401"; > + reg = <0x4c>; > + }; > + }; > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + sensor@4c { > + compatible = "ti,tmp431"; > + reg = <0x4c>; > + ti,extended-range-enable; > + ti,n-factor = <0x3b>; > + ti,beta-compensation = <0x7>; > + }; > + }; > diff --git a/MAINTAINERS b/MAINTAINERS > index 61d9f114c37f..6b0d8f5cc68e 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -19838,6 +19838,7 @@ TMP401 HARDWARE MONITOR DRIVER > M: Guenter Roeck <linux@xxxxxxxxxxxx> > L: linux-hwmon@xxxxxxxxxxxxxxx > S: Maintained > +F: Documentation/devicetree/bindings/hwmon/ti,tmp401.yaml > F: Documentation/hwmon/tmp401.rst > F: drivers/hwmon/tmp401.c > > -- > 2.30.2 > >