Commit 47acac8c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull hwmon updates from Guenter Roeck:

 - New driver for AXI fan control

 - Attenuator bypass support and support for inverting pwm output in
   adt7475 driver

 - Support for new power supply version in ibm-cffps driver

 - PMBus drivers:

     * support for multi-phase chips

     * ltc2978 driver: add support for LTC2972, LTC2979, LTC3884,
       LTC3889, LTC7880, LTM4664, LTM4677, LTM4678, LTM4680, and
       LTM4700/

     * tps53679 driver: add support for TPS53681, TPS53647, and TPS53667

     * isl68137 driver: support for various 2nd Gen Renesas digital
       multiphase chips added to isl68137 driver

 - Minor improvements and fixes in nct7904, ibmpowernv, lm73, ibmaem,
   and k10temp drivers

* tag 'hwmon-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (29 commits)
  docs: hwmon: Update documentation for isl68137 pmbus driver
  hwmon: (pmbus) add support for 2nd Gen Renesas digital multiphase
  hwmon: (pmbus/ibm-cffps) Add another PSU CCIN to version detection
  hwmon: (nct7904) Fix the incorrect quantity for fan & temp attributes
  hwmon: (ibmpowernv) Use scnprintf() for avoiding potential buffer overflow
  hwmon: (adt7475) Add support for inverting pwm output
  hwmon: (adt7475) Add attenuator bypass support
  dt-bindings: hwmon: Document adt7475 pwm-active-state property
  dt-bindings: hwmon: Document adt7475 bypass-attenuator property
  dt-bindings: hwmon: Document adt7475 binding
  hwmon: (lm73) Add support for of_match_table
  dt-bindings: Add TI LM73 as a trivial device
  hwmon: (pmbus/tps53679) Add documentation
  hwmon: (pmbus/tps53679) Add support for TPS53647 and TPS53667
  hwmon: (pmbus/tps53679) Add support for TPS53681
  hwmon: (pmbus/tps53679) Add support for IIN and PIN to TPS53679 and TPS53688
  hwmon: (pmbus/tps53679) Add support for multiple chips IDs
  hwmon: (pmbus) Implement multi-phase support
  hwmon: (pmbus) Add 'phase' parameter where needed for multi-phase support
  hwmon: (pmbus) Add IC_DEVICE_ID and IC_DEVICE_REV command definitions
  ...
parents ff7b862a 5b10a819
Loading
Loading
Loading
Loading
+62 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2019 Analog Devices Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/bindings/hwmon/adi,axi-fan-control.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices AXI FAN Control Device Tree Bindings

maintainers:
  - Nuno Sá <nuno.sa@analog.com>

description: |+
  Bindings for the Analog Devices AXI FAN Control driver. Spefications of the
  core can be found in:

  https://wiki.analog.com/resources/fpga/docs/axi_fan_control

properties:
  compatible:
    enum:
        - adi,axi-fan-control-1.00.a

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  interrupts:
    maxItems: 1

  pulses-per-revolution:
    description:
      Value specifying the number of pulses per revolution of the controlled
      FAN.
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 2, 4]

required:
  - compatible
  - reg
  - clocks
  - interrupts
  - pulses-per-revolution

examples:
  - |
    fpga_axi: fpga-axi@0 {
            #address-cells = <0x2>;
            #size-cells = <0x1>;

            axi_fan_control: axi-fan-control@80000000 {
                    compatible = "adi,axi-fan-control-1.00.a";
                    reg = <0x0 0x80000000 0x10000>;
                    clocks = <&clk 71>;
                    interrupts = <0 110 0>;
                    pulses-per-revolution = <2>;
            };
    };
...
+84 −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/adt7475.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ADT7475 hwmon sensor

maintainers:
  - Jean Delvare <jdelvare@suse.com>

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 onsemiconductors specification sheets, with minor
  rephrasing.

properties:
  compatible:
    enum:
      - adi,adt7473
      - adi,adt7475
      - adi,adt7476
      - adi,adt7490

  reg:
    maxItems: 1

patternProperties:
  "^adi,bypass-attenuator-in[0-4]$":
    description: |
      Configures bypassing the individual voltage input attenuator. If
      set to 1 the attenuator is bypassed if set to 0 the attenuator is
      not bypassed. If the property is absent then the attenuator
      retains it's configuration from the bios/bootloader.
    allOf:
     - $ref: /schemas/types.yaml#/definitions/uint32
     - enum: [0, 1]

  "^adi,pwm-active-state$":
    description: |
      Integer array, represents the active state of the pwm outputs If set to 0
      the pwm uses a logic low output for 100% duty cycle. If set to 1 the pwm
      uses a logic high output for 100% duty cycle.
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32-array
      - minItems: 3
        maxItems: 3
        items:
          enum: [0, 1]
          default: 1

required:
  - compatible
  - reg

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

      hwmon@2e {
        compatible = "adi,adt7476";
        reg = <0x2e>;
        adi,bypass-attenuator-in0 = <1>;
        adi,bypass-attenuator-in1 = <0>;
        adi,pwm-active-state = <1 0 1>;
      };
    };
+18 −4
Original line number Diff line number Diff line
@@ -2,20 +2,30 @@ ltc2978

Required properties:
- compatible: should contain one of:
  * "lltc,ltc2972"
  * "lltc,ltc2974"
  * "lltc,ltc2975"
  * "lltc,ltc2977"
  * "lltc,ltc2978"
  * "lltc,ltc2979"
  * "lltc,ltc2980"
  * "lltc,ltc3880"
  * "lltc,ltc3882"
  * "lltc,ltc3883"
  * "lltc,ltc3884"
  * "lltc,ltc3886"
  * "lltc,ltc3887"
  * "lltc,ltc3889"
  * "lltc,ltc7880"
  * "lltc,ltm2987"
  * "lltc,ltm4664"
  * "lltc,ltm4675"
  * "lltc,ltm4676"
  * "lltc,ltm4677"
  * "lltc,ltm4678"
  * "lltc,ltm4680"
  * "lltc,ltm4686"
  * "lltc,ltm4700"
- reg: I2C slave address

Optional properties:
@@ -25,13 +35,17 @@ Optional properties:
  standard binding for regulators; see regulator.txt.

Valid names of regulators depend on number of supplies supported per device:
  * ltc2972 vout0 - vout1
  * ltc2974, ltc2975 : vout0 - vout3
  * ltc2977, ltc2980, ltm2987 : vout0 - vout7
  * ltc2977, ltc2979, ltc2980, ltm2987 : vout0 - vout7
  * ltc2978 : vout0 - vout7
  * ltc3880, ltc3882, ltc3886 : vout0 - vout1
  * ltc3880, ltc3882, ltc3884, ltc3886, ltc3887, ltc3889 : vout0 - vout1
  * ltc7880 : vout0 - vout1
  * ltc3883 : vout0
  * ltm4676 : vout0 - vout1
  * ltm4686 : vout0 - vout1
  * ltm4664 : vout0 - vout1
  * ltm4675, ltm4676, ltm4677, ltm4678 : vout0 - vout1
  * ltm4680, ltm4686 : vout0 - vout1
  * ltm4700 : vout0 - vout1

Example:
ltc2978@5e {
+2 −8
Original line number Diff line number Diff line
@@ -34,14 +34,6 @@ properties:
          - adi,adt7461
            # +/-1C TDM Extended Temp Range I.C
          - adt7461
            # +/-1C TDM Extended Temp Range I.C
          - adi,adt7473
            # +/-1C TDM Extended Temp Range I.C
          - adi,adt7475
            # +/-1C TDM Extended Temp Range I.C
          - adi,adt7476
            # +/-1C TDM Extended Temp Range I.C
          - adi,adt7490
            # Three-Axis Digital Accelerometer
          - adi,adxl345
            # Three-Axis Digital Accelerometer (backward-compatibility value "adi,adxl345" must be listed too)
@@ -350,6 +342,8 @@ properties:
          - ti,ads7830
            # Temperature Monitoring and Fan Control
          - ti,amc6821
            # Temperature sensor with 2-wire interface
          - ti,lm73
            # Temperature sensor with integrated fan control
          - ti,lm96000
            # I2C Touch-Screen Controller
+1 −0
Original line number Diff line number Diff line
@@ -162,6 +162,7 @@ Hardware Monitoring Kernel Drivers
   tmp421
   tmp513
   tps40422
   tps53679
   twl4030-madc-hwmon
   ucd9000
   ucd9200
Loading