Commit 15223fdb authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull hwmon updates from Guenter Roeck:
 "New drivers:
   - Amphenol ChipCap 2
   - ASPEED g6 PWM/Fan tach
   - Astera Labs PT5161L retimer
   - ASUS ROG RYUJIN II 360 AIO cooler
   - LTC4282
   - Microsoft Surface devices
   - MPS MPQ8785 Synchronous Step-Down Converter
   - NZXT Kraken X and Z series AIO CPU coolers

  Additional chip support in existing drivers:
   - Ayaneo Air Plus 7320u (oxp-sensors)
   - INA260 (ina2xx)
   - XPS 9315 (dell-smm)
   - MSI customer ID (nct6683)

  Devicetree bindings updates:
   - Common schema for hardware monitoring devices
   - Common schema for fans
   - Update chip descriptions to use common schema
   - Document regulator properties in several drivers
   - Explicit bindings for infineon buck converters

  Other improvements:
   - Replaced rbtree with maple tree register cache in several drivers
   - Added support for humidity min/max alarm and volatage fault
     attributes to hwmon core
   - Dropped non-functional I2C_CLASS_HWMON support for drivers w/o
     detect()
   - Dropped obsolete and redundant entried from MAINTAINERS
   - Cleaned up axi-fan-control and coretemp drivers
   - Minor fixes and improvements in several other drivers"

* tag 'hwmon-for-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (70 commits)
  hwmon: (dell-smm) Add XPS 9315 to fan control whitelist
  hwmon: (aspeed-g6-pwm-tacho): Support for ASPEED g6 PWM/Fan tach
  dt-bindings: hwmon: Support Aspeed g6 PWM TACH Control
  dt-bindings: hwmon: fan: Add fan binding to schema
  dt-bindings: hwmon: tda38640: Add interrupt & regulator properties
  hwmon: (amc6821) add of_match table
  dt-bindings: hwmon: lm75: use common hwmon schema
  hwmon: (sis5595) drop unused DIV_TO_REG function
  dt-bindings: hwmon: reference common hwmon schema
  dt-bindings: hwmon: lltc,ltc4286: use common hwmon schema
  dt-bindings: hwmon: adi,adm1275: use common hwmon schema
  dt-bindings: hwmon: ti,ina2xx: use common hwmon schema
  dt-bindings: hwmon: add common properties
  hwmon: (pmbus/ir38064) Use PMBUS_REGULATOR_ONE to declare regulator
  hwmon: (pmbus/lm25066) Use PMBUS_REGULATOR_ONE to declare regulator
  hwmon: (pmbus/tda38640) Use PMBUS_REGULATOR_ONE to declare regulator
  regulator: dt-bindings: promote infineon buck converters to their own binding
  dt-bindings: hwmon/pmbus: ti,lm25066: document regulators
  dt-bindings: hwmon: nuvoton,nct6775: Add compatible value for NCT6799
  MAINTAINERS: Drop redundant hwmon entries
  ...
parents 69afef4a 8debe3c1
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -149,6 +149,15 @@ Description:

		RW

What:		/sys/class/hwmon/hwmonX/inY_fault
Description:
		Reports a voltage hard failure (eg: shorted component)

		- 1: Failed
		- 0: Ok

		RO

What:		/sys/class/hwmon/hwmonX/cpuY_vid
Description:
		CPU core reference voltage.
@@ -968,6 +977,15 @@ Description:

		RW

What:		/sys/class/hwmon/hwmonX/humidityY_max_alarm
Description:
		Maximum humidity detection

		- 0: OK
		- 1: Maximum humidity detected

		RO

What:		/sys/class/hwmon/hwmonX/humidityY_max_hyst
Description:
		Humidity hysteresis value for max limit.
@@ -987,6 +1005,15 @@ Description:

		RW

What:		/sys/class/hwmon/hwmonX/humidityY_min_alarm
Description:
		Minimum humidity detection

		- 0: OK
		- 1: Minimum humidity detected

		RO

What:		/sys/class/hwmon/hwmonX/humidityY_min_hyst
Description:
		Humidity hysteresis value for min limit.
+4 −1
Original line number Diff line number Diff line
@@ -46,7 +46,10 @@ required:
  - compatible
  - reg

additionalProperties: false
allOf:
  - $ref: hwmon-common.yaml#

unevaluatedProperties: false

examples:
  - |
+2 −5
Original line number Diff line number Diff line
@@ -33,10 +33,6 @@ properties:
  reg:
    maxItems: 1

  shunt-resistor-micro-ohms:
    description:
      Shunt resistor value in micro-Ohm.

  adi,volt-curr-sample-average:
    description: |
      Number of samples to be used to report voltage and current values.
@@ -50,6 +46,7 @@ properties:
    enum: [1, 2, 4, 8, 16, 32, 64, 128]

allOf:
  - $ref: hwmon-common.yaml#
  - if:
      properties:
        compatible:
@@ -107,7 +104,7 @@ required:
  - compatible
  - reg

additionalProperties: false
unevaluatedProperties: false

examples:
  - |
+4 −1
Original line number Diff line number Diff line
@@ -31,7 +31,10 @@ required:
  - compatible
  - reg

additionalProperties: false
allOf:
  - $ref: hwmon-common.yaml#

unevaluatedProperties: false

examples:
  - |
+159 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/hwmon/adi,ltc4282.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices LTC4282 I2C High Current Hot Swap Controller over I2C

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

description: |
  Analog Devices LTC4282 I2C High Current Hot Swap Controller over I2C.

  https://www.analog.com/media/en/technical-documentation/data-sheets/ltc4282.pdf

properties:
  compatible:
    enum:
      - adi,ltc4282

  reg:
    maxItems: 1

  vdd-supply: true

  clocks:
    maxItems: 1

  '#clock-cells':
    const: 0

  adi,rsense-nano-ohms:
    description: Value of the sense resistor.

  adi,vin-mode-microvolt:
    description:
      Selects operating range for the Undervoltage, Overvoltage and Foldback
      pins. Also for the ADC. Should be set to the nominal input voltage.
    enum: [3300000, 5000000, 12000000, 24000000]
    default: 12000000

  adi,fet-bad-timeout-ms:
    description:
      From the moment a FET bad conditions is present, this property selects the
      wait time/timeout for a FET-bad fault to be signaled. Setting this to 0,
      disables FET bad faults to be reported.
    default: 255
    maximum: 255

  adi,overvoltage-dividers:
    description: |
      Select which dividers to use for VDD Overvoltage detection. Note that
      when the internal dividers are used the threshold is referenced to VDD.
      The percentages in the datasheet are misleading since the actual values
      to look for are in the "Absolute Maximum Ratings" table in the
      "Comparator Inputs" section. In there there's a line for each of the 5%,
      10% and 15% settings with the actual min, typical and max tolerances.
    $ref: /schemas/types.yaml#/definitions/string
    enum: [external, vdd_5_percent, vdd_10_percent, vdd_15_percent]
    default: external

  adi,undervoltage-dividers:
    description: |
      Select which dividers to use for VDD Overvoltage detection. Note that
      when the internal dividers are used the threshold is referenced to VDD.
      The percentages in the datasheet are misleading since the actual values
      to look for are in the "Absolute Maximum Ratings" table in the
      "Comparator Inputs" section. In there there's a line for each of the 5%,
      10% and 15% settings with the actual min, typical and max tolerances.
    $ref: /schemas/types.yaml#/definitions/string
    enum: [external, vdd_5_percent, vdd_10_percent, vdd_15_percent]
    default: external

  adi,current-limit-sense-microvolt:
    description:
      The current limit sense voltage of the chip is adjustable between
      12.5mV and 34.4mV in 3.1mV steps. This effectively limits the current
      on the load.
    enum: [12500, 15625, 18750, 21875, 25000, 28125, 31250, 34375]
    default: 25000

  adi,overcurrent-retry:
    description:
      If set, enables the chip to auto-retry 256 timer cycles after an
      Overcurrent fault.
    type: boolean

  adi,overvoltage-retry-disable:
    description:
      If set, disables the chip to auto-retry 50ms after an Overvoltage fault.
      It's enabled by default.
    type: boolean

  adi,undervoltage-retry-disable:
    description:
      If set, disables the chip to auto-retry 50ms after an Undervoltage fault.
      It's enabled by default.
    type: boolean

  adi,fault-log-enable:
    description:
      If set, enables the FAULT_LOG and ADC_ALERT_LOG registers to be written
      to the EEPROM when a fault bit transitions high and hence, will be
      available after a power cycle (the chip loads the contents of
      the EE_FAULT_LOG register - the one in EEPROM - into FAULT_LOG at boot).
    type: boolean

  adi,gpio1-mode:
    description: Defines the function of the Pin. It can indicate that power is
      good (PULL the pin low when power is not good) or that power is bad (Go
      into high-z when power is not good).
    $ref: /schemas/types.yaml#/definitions/string
    enum: [power_bad, power_good]
    default: power_good

  adi,gpio2-mode:
    description: Defines the function of the Pin. It can be set as the input for
      the ADC or indicating that the MOSFET is in stress (dissipating power).
    $ref: /schemas/types.yaml#/definitions/string
    enum: [adc_input, stress_fet]
    default: adc_input

  adi,gpio3-monitor-enable:
    description: If set, gpio3 is set as input for the ADC instead of gpio2.
    type: boolean

allOf:
  - if:
      required:
        - adi,gpio3-monitor-enable
    then:
      properties:
        adi,gpio2-mode:
          const: stress_fet

required:
  - compatible
  - reg
  - adi,rsense-nano-ohms

additionalProperties: false

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

        hwmon@50 {
            compatible = "adi,ltc4282";
            reg = <0x50>;
            adi,rsense-nano-ohms = <500>;

            adi,gpio1-mode = "power_good";
            adi,gpio2-mode = "adc_input";
        };
    };
...
Loading