Commit f9a7eda4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull hwmon updates from Guenter Roeck:
 "New drivers:

   - Driver for LTC2991

   - Driver for POWER-Z

  Added chip / system support to existing drivers:

   - The ina238 driver now also supports INA237

   - The asus-ec-sensors driver now supports ROG Crosshair X670E Gene

   - The aquacomputer_d5next now supports Aquacomputer High Flow USB and
     MPS Flow

   - The pmbus/mpq7932 driver now also supports MPQ2286

   - The nct6683 now also supports ASRock X670E Taichi

  Various other minor improvements and fixes:

   - One patch series to call out is the conversion of hwmon platform
     drivers to use the platform remove callback returning void"

* tag 'hwmon-for-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (69 commits)
  hwmon: (aquacomputer_d5next) Check if temp sensors of legacy devices are connected
  hwmon: (aquacomputer_d5next) Add support for Aquacomputer High Flow USB and MPS Flow
  dt-bindings: hwmon: npcm: Add npcm845 compatible string
  hwmon: Add driver for ltc2991
  dt-bindings: hwmon: ltc2991: add bindings
  hwmon: (pmbus/max31785) Add delay between bus accesses
  hwmon: (ina238) add ina237 support
  dt-bindings: hwmon: ti,ina2xx: add ti,ina237
  hwmon: (asus-ec-sensors) add ROG Crosshair X670E Gene.
  hwmon: (max31827) handle vref regulator
  hwmon: (ina3221) Add support for channel summation disable
  dt-bindings: hwmon: ina3221: Add ti,summation-disable
  dt-bindings: hwmon: ina3221: Convert to json-schema
  hwmon: (pmbus/mpq7932) Add a support for mpq2286 Power Management IC
  hwmon: (pmbus/core) Add helper macro to define single pmbus regulator
  regulator: dt-bindings: Add mps,mpq2286 power-management IC
  hwmon: (pmbus/mpq7932) Get page count based on chip info
  dt-bindings: hwmon: Add possible new properties to max31827 bindings
  hwmon: (max31827) Modify conversion wait time
  hwmon: (max31827) Make code cleaner
  ...
parents 34aac0a3 0f564130
Loading
Loading
Loading
Loading
+128 −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/adi,ltc2991.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices LTC2991 Octal I2C Voltage, Current and Temperature Monitor

maintainers:
  - Antoniu Miclaus <antoniu.miclaus@analog.com>

description: |
  The LTC2991 is used to monitor system temperatures, voltages and currents.
  Through the I2C serial interface, the eight monitors can individually measure
  supply voltages and can be paired for differential measurements of current
  sense resistors or temperature sensing transistors.

  Datasheet:
    https://www.analog.com/en/products/ltc2991.html

properties:
  compatible:
    const: adi,ltc2991

  reg:
    maxItems: 1

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

  vcc-supply: true

patternProperties:
  "^channel@[0-3]$":
    type: object
    description:
      Represents the differential/temperature channels.

    properties:
      reg:
        description:
          The channel number. LTC2991 can monitor 4 currents/temperatures.
        items:
          minimum: 0
          maximum: 3

      shunt-resistor-micro-ohms:
        description:
          The value of curent sense resistor in micro ohms. Pin configuration is
          set for differential input pair.

      adi,temperature-enable:
        description:
          Enables temperature readings. Pin configuration is set for remote
          diode temperature measurement.
        type: boolean

    required:
      - reg

    allOf:
      - if:
          required:
            - shunt-resistor-micro-ohms
        then:
          properties:
            adi,temperature-enable: false

    additionalProperties: false

required:
  - compatible
  - reg
  - vcc-supply

additionalProperties: false

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

        hwmon@48 {
            compatible = "adi,ltc2991";
            reg = <0x48>;
            vcc-supply = <&vcc>;
        };
    };
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        hwmon@48 {
            #address-cells = <1>;
            #size-cells = <0>;

            compatible = "adi,ltc2991";
            reg = <0x48>;
            vcc-supply = <&vcc>;

            channel@0 {
                    reg = <0x0>;
                    shunt-resistor-micro-ohms = <100000>;
            };

            channel@1 {
                    reg = <0x1>;
                    shunt-resistor-micro-ohms = <100000>;
            };

            channel@2 {
                    reg = <0x2>;
                    adi,temperature-enable;
            };

            channel@3 {
                    reg = <0x3>;
                    adi,temperature-enable;
            };
        };
    };
...
+66 −0
Original line number Diff line number Diff line
@@ -32,6 +32,68 @@ properties:
      Must have values in the interval (1.6V; 3.6V) in order for the device to
      function correctly.

  adi,comp-int:
    description:
      If present interrupt mode is used. If not present comparator mode is used
      (default).
    type: boolean

  adi,alarm-pol:
    description:
      Sets the alarms active state.
            - 0 = active low
            - 1 = active high
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]

  adi,fault-q:
    description:
      Select how many consecutive temperature faults must occur before
      overtemperature or undertemperature faults are indicated in the
      corresponding status bits.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [1, 2, 4, 8]

  adi,timeout-enable:
    description:
      Enables timeout. Bus timeout resets the I2C-compatible interface when SCL
      is low for more than 30ms (nominal).
    type: boolean

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: adi,max31829

    then:
      properties:
        adi,alarm-pol:
          default: 1

    else:
      properties:
        adi,alarm-pol:
          default: 0

  - if:
      properties:
        compatible:
          contains:
            const: adi,max31827

    then:
      properties:
        adi,fault-q:
          default: 1

    else:
      properties:
        adi,fault-q:
          default: 4


required:
  - compatible
  - reg
@@ -49,6 +111,10 @@ examples:
            compatible = "adi,max31827";
            reg = <0x42>;
            vref-supply = <&reg_vdd>;
            adi,comp-int;
            adi,alarm-pol = <0>;
            adi,fault-q = <1>;
            adi,timeout-enable;
        };
    };
...
+0 −54
Original line number Diff line number Diff line
Texas Instruments INA3221 Device Tree Bindings

1) ina3221 node
  Required properties:
  - compatible: Must be "ti,ina3221"
  - reg: I2C address

  Optional properties:
  - ti,single-shot: This chip has two power modes: single-shot (chip takes one
                    measurement and then shuts itself down) and continuous (
                    chip takes continuous measurements). The continuous mode is
                    more reliable and suitable for hardware monitor type device,
                    but the single-shot mode is more power-friendly and useful
                    for battery-powered device which cares power consumptions
                    while still needs some measurements occasionally.
                    If this property is present, the single-shot mode will be
                    used, instead of the default continuous one for monitoring.

  = The node contains optional child nodes for three channels =
  = Each child node describes the information of input source =

  - #address-cells: Required only if a child node is present. Must be 1.
  - #size-cells: Required only if a child node is present. Must be 0.

2) child nodes
  Required properties:
  - reg: Must be 0, 1 or 2, corresponding to IN1, IN2 or IN3 port of INA3221

  Optional properties:
  - label: Name of the input source
  - shunt-resistor-micro-ohms: Shunt resistor value in micro-Ohm

Example:

ina3221@40 {
	compatible = "ti,ina3221";
	reg = <0x40>;
	#address-cells = <1>;
	#size-cells = <0>;

	input@0 {
		reg = <0x0>;
		status = "disabled";
	};
	input@1 {
		reg = <0x1>;
		shunt-resistor-micro-ohms = <5000>;
	};
	input@2 {
		reg = <0x2>;
		label = "VDD_5V";
		shunt-resistor-micro-ohms = <5000>;
	};
};
+5 −1
Original line number Diff line number Diff line
Nuvoton NPCM7xx PWM and Fan Tacho controller device
Nuvoton NPCM PWM and Fan Tacho controller device

The Nuvoton BMC NPCM7XX supports 8 Pulse-width modulation (PWM)
controller outputs and 16 Fan tachometer controller inputs.

The Nuvoton BMC NPCM8XX supports 12 Pulse-width modulation (PWM)
controller outputs and 16 Fan tachometer controller inputs.

Required properties for pwm-fan node
- #address-cells : should be 1.
- #size-cells	: should be 0.
- compatible	: "nuvoton,npcm750-pwm-fan" for Poleg NPCM7XX.
				: "nuvoton,npcm845-pwm-fan" for Arbel NPCM8XX.
- reg			: specifies physical base address and size of the registers.
- reg-names	: must contain:
					* "pwm" for the PWM registers.
+49 −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/infineon,tda38640.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Infineon TDA38640 Synchronous Buck Regulator with SVID and I2C

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

description: |
  The Infineon TDA38640 is a 40A Single-voltage Synchronous Buck
  Regulator with SVID and I2C designed for Industrial use.

  Datasheet: https://www.infineon.com/dgdl/Infineon-TDA38640-0000-DataSheet-v02_04-EN.pdf?fileId=8ac78c8c80027ecd018042f2337f00c9

properties:
  compatible:
    enum:
      - infineon,tda38640

  reg:
    maxItems: 1

  infineon,en-pin-fixed-level:
    description:
      Indicates that the chip EN pin is at fixed level or left
      unconnected(has internal pull-down).
    type: boolean

required:
  - compatible
  - reg

additionalProperties: false

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

        tda38640@40 {
            compatible = "infineon,tda38640";
            reg = <0x40>;
        };
    };
Loading