Commit f0769121 authored by Slawomir Stepien's avatar Slawomir Stepien Committed by Guenter Roeck
Browse files

dt-bindings: hwmon: Allow specifying channels for lm90



Add binding description for temperature channels. Currently, support for
label and temperature-offset-millicelsius is implemented.

Signed-off-by: default avatarSlawomir Stepien <slawomir.stepien@nokia.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220525073657.573327-3-sst@poczta.fm


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent d8d5879a
Loading
Loading
Loading
Loading
+129 −0
Original line number Diff line number Diff line
@@ -51,6 +51,12 @@ properties:
  "#thermal-sensor-cells":
    const: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

  vcc-supply:
    description: phandle to the regulator that provides the +VCC supply

@@ -62,6 +68,29 @@ required:
  - compatible
  - reg

patternProperties:
  "^channel@([0-2])$":
    type: object
    description: Represents channels of the device and their specific configuration.

    properties:
      reg:
        description: The channel number. 0 is local channel, 1-2 are remote channels.
        items:
          minimum: 0
          maximum: 2

      label:
        description: A descriptive name for this channel, like "ambient" or "psu".

      temperature-offset-millicelsius:
        description: Temperature offset to be added to or subtracted from remote temperature measurements.

    required:
      - reg

    additionalProperties: false

allOf:
  - if:
      not:
@@ -78,6 +107,77 @@ allOf:
      properties:
        ti,extended-range-enable: false

  - if:
      properties:
        compatible:
          contains:
            enum:
              - dallas,max6646
              - dallas,max6647
              - dallas,max6649
              - dallas,max6657
              - dallas,max6658
              - dallas,max6659
              - dallas,max6695
              - dallas,max6696
    then:
      patternProperties:
        "^channel@([0-2])$":
          properties:
            temperature-offset-millicelsius: false

  - if:
      properties:
        compatible:
          contains:
            enum:
              - adi,adt7461
              - adi,adt7461a
              - adi,adt7481
              - onnn,nct1008
    then:
      patternProperties:
        "^channel@([0-2])$":
          properties:
            temperature-offset-millicelsius:
              maximum: 127750

  - if:
      properties:
        compatible:
          contains:
            enum:
              - adi,adm1032
              - dallas,max6680
              - dallas,max6681
              - gmt,g781
              - national,lm86
              - national,lm89
              - national,lm90
              - national,lm99
              - nxp,sa56004
              - winbond,w83l771
    then:
      patternProperties:
        "^channel@([0-2])$":
          properties:
            temperature-offset-millicelsius:
              maximum: 127875

  - if:
      properties:
        compatible:
          contains:
            enum:
              - ti,tmp451
              - ti,tmp461
    then:
      patternProperties:
        "^channel@([0-2])$":
          properties:
            temperature-offset-millicelsius:
              maximum: 127937

additionalProperties: false

examples:
@@ -96,3 +196,32 @@ examples:
            #thermal-sensor-cells = <1>;
        };
    };
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      sensor@4c {
        compatible = "adi,adt7481";
        reg = <0x4c>;
        #address-cells = <1>;
        #size-cells = <0>;

        channel@0 {
          reg = <0x0>;
          label = "local";
        };

        channel@1 {
          reg = <0x1>;
          label = "front";
          temperature-offset-millicelsius = <4000>;
        };

        channel@2 {
          reg = <0x2>;
          label = "back";
          temperature-offset-millicelsius = <750>;
        };
      };
    };