Commit 2b5d5f23 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'hwmon-for-v6.13-rc1' of...

Merge tag 'hwmon-for-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hmon updates from Guenter Roeck:
 "New drivers:
   - ISL28022 power monitor
   - Nuvoton NCT7363Y

  Added support for new chips to existing drivers:
   - The tmp180 driver now supports NXP p3t1085, including its I3C mode
   - The ina2xx driver now supports SY24655 and INA260
   - The amc6821 driver now supports tsd,mule

  Other notable improvements:
   - The sht4x driver now supports the chip heater
   - The pmbus/isl68137 driver now supports a voltage divider on Vout
   - The cros_ec driver registers with the thermal framework
   - The pmbus/ltc2978 driver now supports LTC7841
   - The PMBus core now allow drivers to override WRITE_PROTECT

  Various other minor improvements and cleanups"

* tag 'hwmon-for-v6.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (51 commits)
  hwmon: (pmbus/isl68137) add support for voltage divider on Vout
  dt-bindings: hwmon: isl68137: add bindings to support voltage dividers
  hwmon: tmp108: fix I3C dependency
  hwmon: (cros_ec) register thermal sensors to thermal framework
  hwmon: (tmp108) Add support for I3C device
  hwmon: (tmp108) Add helper function tmp108_common_probe() to prepare I3C support
  hwmon: (acpi_power_meter) Fix fail to load module on platform without _PMD method
  hwmon: (nct6775-core) Fix overflows seen when writing limit attributes
  hwmon: (pwm-fan) Introduce start from stopped state handling
  dt-bindings: hwmon: pwm-fan: Document start from stopped state properties
  hwmon: (tmp108) Add NXP p3t1085 support
  dt-bindings: hwmon: ti,tmp108: Add nxp,p3t1085 compatible string
  hwmon: (sch5627, max31827) Fix typos in driver documentation
  hwmon: (jc42) Drop of_match_ptr() protection
  hwmon: (f71882fg) Fix grammar in fan speed trip points explanation
  dt-bindings: hwmon: pmbus: add ti tps25990 support
  hwmon: (pmbus/core) clear faults after setting smbalert mask
  hwmon: (pmbus/core) allow drivers to override WRITE_PROTECT
  hwmon: (pmbus) add documentation for existing flags
  hwmon: (ina226) Add support for SY24655
  ...
parents 4e9ad033 3996187f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ properties:
      - lltc,ltc3886
      - lltc,ltc3887
      - lltc,ltc3889
      - lltc,ltc7841
      - lltc,ltc7880
      - lltc,ltm2987
      - lltc,ltm4664
@@ -50,6 +51,7 @@ properties:
      * ltc2977, ltc2979, ltc2980, ltm2987 : vout0 - vout7
      * ltc2978 : vout0 - vout7
      * ltc3880, ltc3882, ltc3884, ltc3886, ltc3887, ltc3889 : vout0 - vout1
      * ltc7841 : vout0
      * ltc7880 : vout0 - vout1
      * ltc3883 : vout0
      * ltm4664 : vout0 - vout1
+66 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---

$id: http://devicetree.org/schemas/hwmon/nuvoton,nct7363.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Nuvoton NCT7363Y Hardware Monitoring IC

maintainers:
  - Ban Feng <kcfeng0@nuvoton.com>

description: |
  The NCT7363Y is a fan controller which provides up to 16 independent
  FAN input monitors, and up to 16 independent PWM outputs with SMBus interface.

  Datasheets: Available from Nuvoton upon request

properties:
  compatible:
    enum:
      - nuvoton,nct7363
      - nuvoton,nct7362

  reg:
    maxItems: 1

  "#pwm-cells":
    const: 2

patternProperties:
  "^fan-[0-9]+$":
    $ref: fan-common.yaml#
    unevaluatedProperties: false
    required:
      - pwms
      - tach-ch

required:
  - compatible
  - reg
  - "#pwm-cells"

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        hwmon: hwmon@22 {
            compatible = "nuvoton,nct7363";
            reg = <0x22>;
            #pwm-cells = <2>;

            fan-0 {
                pwms = <&hwmon 0 50000>;
                tach-ch = /bits/ 8 <0x00>;
            };
            fan-1 {
                pwms = <&hwmon 1 50000>;
                tach-ch = /bits/ 8 <0x01>;
            };
        };
    };
+148 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---

$id: http://devicetree.org/schemas/hwmon/pmbus/isil,isl68137.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas Digital Multiphase Voltage Regulators with PMBus

maintainers:
  - Grant Peltier <grant.peltier.jg@renesas.com>

description: |
  Renesas digital multiphase voltage regulators with PMBus.
  https://www.renesas.com/en/products/power-management/multiphase-power/multiphase-dcdc-switching-controllers

properties:
  compatible:
    enum:
      - isil,isl68137
      - renesas,isl68220
      - renesas,isl68221
      - renesas,isl68222
      - renesas,isl68223
      - renesas,isl68224
      - renesas,isl68225
      - renesas,isl68226
      - renesas,isl68227
      - renesas,isl68229
      - renesas,isl68233
      - renesas,isl68239
      - renesas,isl69222
      - renesas,isl69223
      - renesas,isl69224
      - renesas,isl69225
      - renesas,isl69227
      - renesas,isl69228
      - renesas,isl69234
      - renesas,isl69236
      - renesas,isl69239
      - renesas,isl69242
      - renesas,isl69243
      - renesas,isl69247
      - renesas,isl69248
      - renesas,isl69254
      - renesas,isl69255
      - renesas,isl69256
      - renesas,isl69259
      - isil,isl69260
      - renesas,isl69268
      - isil,isl69269
      - renesas,isl69298
      - renesas,raa228000
      - renesas,raa228004
      - renesas,raa228006
      - renesas,raa228228
      - renesas,raa229001
      - renesas,raa229004

  reg:
    maxItems: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

patternProperties:
  "^channel@([0-3])$":
    type: object
    description:
      Container for properties specific to a particular channel (rail).

    properties:
      reg:
        description: The channel (rail) index.
        items:
          minimum: 0
          maximum: 3

      vout-voltage-divider:
        description: |
          Resistances of a voltage divider placed between Vout and the voltage
          sense (Vsense) pin for the given channel (rail). It has two numbers
          representing the resistances of the voltage divider provided as
          <Rout Rtotal> which yields an adjusted Vout as
          Vout_adj = Vout * Rtotal / Rout given the original Vout as reported
          by the Vsense pin. Given a circuit configuration similar to the one
          below, Rtotal = R1 + Rout.

            Vout ----.
                     |
                  .-----.
                  | R1  |
                  '-----'
                     |
                     +---- Vsense
                     |
                  .-----.
                  | Rout|
                  '-----'
                     |
                    GND

        $ref: /schemas/types.yaml#/definitions/uint32-array
        minItems: 2
        maxItems: 2

    required:
      - reg

    additionalProperties: false

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      isl68239@60 {
        compatible = "isil,isl68137";
        reg = <0x60>;
      };
    };
  - |
    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      isl68239@60 {
        compatible = "renesas,isl68239";
        reg = <0x60>;
        #address-cells = <1>;
        #size-cells = <0>;

        channel@0 {
          reg = <0>;
          vout-voltage-divider = <1000 2000>;  // Reported Vout/Pout would be scaled by 2
        };
      };
    };
+75 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/pmbus/mps,mp2975.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MPS MP2975 Synchronous Buck Regulator

maintainers:
  - Naresh Solanki <naresh.solanki@9elements.com>

description:
  The MPS MP2971, MP2973 & MP2975 is a multi-phase voltage regulator
  designed for use in high-performance computing and server
  applications. It supports I2C/PMBus for control and monitoring.

properties:
  compatible:
    enum:
      - mps,mp2971
      - mps,mp2973
      - mps,mp2975

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  regulators:
    type: object
    description:
      List of regulators provided by this controller.

    patternProperties:
      "^vout[0-1]$":
        $ref: /schemas/regulator/regulator.yaml#
        type: object
        unevaluatedProperties: false

    additionalProperties: false

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        regulator@58 {
            compatible = "mps,mp2973";
            reg = <0x58>;

            interrupt-parent = <&smb_pex_cpu1_event>;
            interrupts = <12 IRQ_TYPE_LEVEL_LOW>;

            regulators {
                vout0 {
                    regulator-name = "pvccin_cpu1";
                    regulator-enable-ramp-delay = <200>;
                };
                vout1 {
                    regulator-name = "pvccfa_ehv_fivra_cpu1";
                    regulator-enable-ramp-delay = <200>;
                };
            };
        };
    };
+83 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---

$id: http://devicetree.org/schemas/hwmon/pmbus/ti,tps25990.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments TPS25990 Stackable eFuse

maintainers:
  - Jerome Brunet <jbrunet@baylibre.com>

description:
  The TI TPS25990 is an integrated, high-current circuit
  protection and power management device with PMBUS interface

properties:
  compatible:
    const: ti,tps25990

  reg:
    maxItems: 1

  ti,rimon-micro-ohms:
    description:
      micro Ohms value of the resistance installed between the Imon pin
      and the ground reference.

  interrupts:
    description: PMBUS SMB Alert Interrupt.
    maxItems: 1

  regulators:
    type: object
    description:
      list of regulators provided by this controller.

    properties:
      vout:
        $ref: /schemas/regulator/regulator.yaml#
        type: object
        unevaluatedProperties: false

      gpdac1:
        $ref: /schemas/regulator/regulator.yaml#
        type: object
        unevaluatedProperties: false

      gpdac2:
        $ref: /schemas/regulator/regulator.yaml#
        type: object
        unevaluatedProperties: false
    additionalProperties: false

required:
  - compatible
  - reg
  - ti,rimon-micro-ohms

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        hw-monitor@46 {
            compatible = "ti,tps25990";
            reg = <0x46>;

            interrupt-parent = <&gpio>;
            interrupts = <42 IRQ_TYPE_LEVEL_LOW>;
            ti,rimon-micro-ohms = <1370000000>;

            regulators {
                cpu0_vout: vout {
                    regulator-name = "main_cpu0";
                };
            };
        };
    };
Loading