Re: [PATCH v2 1/2] dt-bindings: hwmon: Add TMP401, TMP411 and TMP43x

From: Rob Herring
Date: Tue Apr 12 2022 - 19:27:11 EST


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
>
>