Skip to content

Commit

Permalink
Merge tag 'hwmon-for-v6.14-rc1' of git://git.kernel.org/pub/scm/linux…
Browse files Browse the repository at this point in the history
…/kernel/git/groeck/linux-staging

Pull hwmon updates from Guenter Roeck:
 "New drivers:

   - PMBus client driver for Intel CRPS185 power supply

   - PMBus client driver for Texas Instruments TPS25990

  Chip support added to existing drivers:

   - pmbus/max15301: Add support for MAX15303

   - pmbus/adm1275: Add adm1273 support

   - lm75: Add NXP P3T1755 support; with it, add I3C support to the
     driver

   - asus-ec-sensors: Add TUF GAMING X670E PLUS

  Other notable changes:

   - nct6683: Add customer IDs for several MSI and ASRock boards

   - tmp108: Add regulator support

   - Improve write protect support in PMBus core

   - pmbus/dps920ab: Add ability to instantiate through i2c

   - The hwmon core now accepts NULL as device name parameter to
     [devm_]hwmon_device_register_with_info ans uses the parent device
     name as fallback in that case

   - The PMBus core now provides the PMBUs revision in a debugfs file

   - asus-ec-sensors: Support for optional CPU fan on AMD 600
     motherboards

   - raspberrypi: Add PM suspend/resume support

   - dell-smm: Enable manual fan control support on Dell XPS 9370

   - pwm-fan: Default to maximum cooling level if provided

  And various other minor fixes and improvements"

* tag 'hwmon-for-v6.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (44 commits)
  hwmon: pmbus: dps920ab: Add ability to instantiate through i2c
  hwmon: (pwm-fan) Default to the Maximum cooling level if provided
  hwmon: (asus_atk0110) Use str_enabled_disabled() and str_enable_disable() helpers
  hwmon: Fix help text for aspeed-g6-pwm-tach
  hwmon: (dell-smm) Add Dell XPS 9370 to fan control whitelist
  hwmon: (acpi_power_meter) Fix update the power trip points on failure
  hwmon: (acpi_power_meter) Fix uninitialized variables
  hwmon: (core) Use device name as a fallback in devm_hwmon_device_register_with_info
  hwmon: (pmbus/max15301) Add support for MAX15303
  hwmon: (pmbus/adm1275) add adm1273 support
  dt-bindings: hwmon: adm1275: add adm1273
  hwmon: (nct6683) Add another customer ID for MSI
  hwmon: (pwm-fan): Make use of device properties everywhere
  hwmon: (lm75) add I3C support for P3T1755
  hwmon: (lm75) separate probe into common and I2C parts
  hwmon: (lm75) Remove superfluous 'client' member from private struct
  hwmon: (lm75) simplify regulator handling
  hwmon: (lm75) simplify lm75_write_config()
  hwmon: (lm75) Hide register size differences in regmap access functions
  hwmon: (pmbus/crps) Add Intel CRPS185 power supply
  ...
  • Loading branch information
Linus Torvalds committed Jan 22, 2025
2 parents 11a7b03 + a76539b commit a4910ed
Show file tree
Hide file tree
Showing 41 changed files with 1,378 additions and 268 deletions.
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/hwmon/adi,adm1275.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ properties:
enum:
- adi,adm1075
- adi,adm1272
- adi,adm1273
- adi,adm1275
- adi,adm1276
- adi,adm1278
Expand Down Expand Up @@ -79,6 +80,7 @@ allOf:
contains:
enum:
- adi,adm1272
- adi,adm1273
then:
properties:
adi,volt-curr-sample-average:
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/hwmon/lm75.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ properties:
- maxim,max31725
- maxim,max31726
- maxim,mcp980x
- nxp,p3t1755
- nxp,pct2075
- st,stds75
- st,stlm75
Expand Down
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/trivial-devices.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,8 @@ properties:
- injoinic,ip5209
# Inspur Power System power supply unit version 1
- inspur,ipsps1
# Intel common redudant power supply crps185
- intel,crps185
# Intersil ISL29028 Ambient Light and Proximity Sensor
- isil,isl29028
# Intersil ISL29030 Ambient Light and Proximity Sensor
Expand Down
28 changes: 18 additions & 10 deletions Documentation/hwmon/adm1275.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,14 @@ Supported chips:

Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1272.pdf

* Analog Devices ADM1273

Prefix: 'adm1273'

Addresses scanned: -

Datasheet: Not yet publicly available

* Analog Devices ADM1275

Prefix: 'adm1275'
Expand Down Expand Up @@ -66,14 +74,14 @@ Description
-----------

This driver supports hardware monitoring for Analog Devices ADM1075, ADM1272,
ADM1275, ADM1276, ADM1278, ADM1281, ADM1293, and ADM1294 Hot-Swap Controller and
Digital Power Monitors.
ADM1273, ADM1275, ADM1276, ADM1278, ADM1281, ADM1293, and ADM1294 Hot-Swap
Controller and Digital Power Monitors.

ADM1075, ADM1272, ADM1275, ADM1276, ADM1278, ADM1281, ADM1293, and ADM1294 are hot-swap
controllers that allow a circuit board to be removed from or inserted into
a live backplane. They also feature current and voltage readback via an
integrated 12 bit analog-to-digital converter (ADC), accessed using a
PMBus interface.
ADM1075, ADM1272, ADM1273, ADM1275, ADM1276, ADM1278, ADM1281, ADM1293, and
ADM1294 are hot-swap controllers that allow a circuit board to be removed from
or inserted into a live backplane. They also feature current and voltage
readback via an integrated 12 bit analog-to-digital converter (ADC), accessed
using a PMBus interface.

The driver is a client driver to the core PMBus driver. Please see
Documentation/hwmon/pmbus.rst for details on PMBus client drivers.
Expand Down Expand Up @@ -141,7 +149,7 @@ power1_input_highest Highest observed input power.
power1_reset_history Write any value to reset history.

Power attributes are supported on ADM1075, ADM1272,
ADM1276, ADM1293, and ADM1294.
ADM1273, ADM1276, ADM1293, and ADM1294.

temp1_input Chip temperature.
temp1_max Maximum chip temperature.
Expand All @@ -151,6 +159,6 @@ temp1_crit_alarm Critical temperature high alarm.
temp1_highest Highest observed temperature.
temp1_reset_history Write any value to reset history.

Temperature attributes are supported on ADM1272 and
ADM1278, and ADM1281.
Temperature attributes are supported on ADM1272,
ADM1273, ADM1278, and ADM1281.
======================= =======================================================
1 change: 1 addition & 0 deletions Documentation/hwmon/asus_ec_sensors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ Supported boards:
* ROG STRIX Z690-A GAMING WIFI D4
* ROG ZENITH II EXTREME
* ROG ZENITH II EXTREME ALPHA
* TUF GAMING X670E PLUS

Authors:
- Eugene Shalygin <eugene.shalygin@gmail.com>
Expand Down
97 changes: 97 additions & 0 deletions Documentation/hwmon/crps.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
.. SPDX-License-Identifier: GPL-2.0-or-later
Kernel driver crps
==================

Supported chips:

* Intel CRPS185

Prefix: 'crps185'

Addresses scanned: -

Datasheet: Only available under NDA.

Authors:
Ninad Palsule <ninad@linux.ibm.com>


Description
-----------

This driver implements support for Intel Common Redundant Power supply with
PMBus support.

The driver is a client driver to the core PMBus driver.
Please see Documentation/hwmon/pmbus.rst for details on PMBus client drivers.


Usage Notes
-----------

This driver does not auto-detect devices. You will have to instantiate the
devices explicitly. Please see Documentation/i2c/instantiating-devices.rst for
details.


Sysfs entries
-------------

======================= ======================================================
curr1_label "iin"
curr1_input Measured input current
curr1_max Maximum input current
curr1_max_alarm Input maximum current high alarm
curr1_crit Critial high input current
curr1_crit_alarm Input critical current high alarm
curr1_rated_max Maximum rated input current

curr2_label "iout1"
curr2_input Measured output current
curr2_max Maximum output current
curr2_max_alarm Output maximum current high alarm
curr2_crit Critial high output current
curr2_crit_alarm Output critical current high alarm
curr2_rated_max Maximum rated output current

in1_label "vin"
in1_input Measured input voltage
in1_crit Critical input over voltage
in1_crit_alarm Critical input over voltage alarm
in1_max Maximum input over voltage
in1_max_alarm Maximum input over voltage alarm
in1_rated_min Minimum rated input voltage
in1_rated_max Maximum rated input voltage

in2_label "vout1"
in2_input Measured input voltage
in2_crit Critical input over voltage
in2_crit_alarm Critical input over voltage alarm
in2_lcrit Critical input under voltage fault
in2_lcrit_alarm Critical input under voltage fault alarm
in2_max Maximum input over voltage
in2_max_alarm Maximum input over voltage alarm
in2_min Minimum input under voltage warning
in2_min_alarm Minimum input under voltage warning alarm
in2_rated_min Minimum rated input voltage
in2_rated_max Maximum rated input voltage

power1_label "pin"
power1_input Measured input power
power1_alarm Input power high alarm
power1_max Maximum input power
power1_rated_max Maximum rated input power

temp[1-2]_input Measured temperature
temp[1-2]_crit Critical temperature
temp[1-2]_crit_alarm Critical temperature alarm
temp[1-2]_max Maximum temperature
temp[1-2]_max_alarm Maximum temperature alarm
temp[1-2]_rated_max Maximum rated temperature

fan1_alarm Fan 1 warning.
fan1_fault Fan 1 fault.
fan1_input Fan 1 speed in RPM.
fan1_target Fan 1 target.
======================= ======================================================
3 changes: 2 additions & 1 deletion Documentation/hwmon/hwmon-kernel-api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@ hwmon_device_register_with_info.

All supported hwmon device registration functions only accept valid device
names. Device names including invalid characters (whitespace, '*', or '-')
will be rejected. The 'name' parameter is mandatory.
will be rejected. If NULL is passed as name parameter, the hardware monitoring
device name will be derived from the parent device name.

If the driver doesn't use a static device name (for example it uses
dev_name()), and therefore cannot make sure the name only contains valid
Expand Down
2 changes: 2 additions & 0 deletions Documentation/hwmon/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ Hardware Monitoring Kernel Drivers
corsair-cpro
corsair-psu
cros_ec_hwmon
crps
da9052
da9055
dell-smm-hwmon
Expand Down Expand Up @@ -237,6 +238,7 @@ Hardware Monitoring Kernel Drivers
tmp464
tmp513
tps23861
tps25990
tps40422
tps53679
tps546d24
Expand Down
3 changes: 2 additions & 1 deletion Documentation/hwmon/isl28022.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ details.

The shunt value in micro-ohms, shunt voltage range and averaging can be set
with device properties.
Please refer to the Documentation/devicetree/bindings/hwmon/isl,isl28022.yaml
Please refer to the Documentation/devicetree/bindings/hwmon/renesas,isl28022.yaml
for bindings if the device tree is used.

The driver supports only shunt and bus continuous ADC mode at 15bit resolution.
Expand All @@ -48,6 +48,7 @@ The following attributes are supported. All attributes are read-only.

======================= =======================================================
in0_input bus voltage (milli Volt)
in1_input shunt voltage (milli Volt)

curr1_input current (milli Ampere)
power1_input power (micro Watt)
Expand Down
8 changes: 5 additions & 3 deletions Documentation/hwmon/lm75.rst
Original file line number Diff line number Diff line change
Expand Up @@ -121,15 +121,17 @@ Supported chips:

https://www.ti.com/product/TMP1075

* NXP LM75B, PCT2075
* NXP LM75B, P3T1755, PCT2075

Prefix: 'lm75b', 'pct2075'
Prefix: 'lm75b', 'p3t1755', 'pct2075'

Addresses scanned: none

Datasheet: Publicly available at the NXP website

https://www.nxp.com/documents/data_sheet/LM75B.pdf
https://www.nxp.com/docs/en/data-sheet/LM75B.pdf

https://www.nxp.com/docs/en/data-sheet/P3T1755.pdf

https://www.nxp.com/docs/en/data-sheet/PCT2075.pdf

Expand Down
8 changes: 8 additions & 0 deletions Documentation/hwmon/max15301.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ Supported chips:

Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX15301.pdf

* Maxim MAX15303

Prefix: 'max15303'

Addresses scanned: -

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

Author: Erik Rosen <erik.rosen@metormote.com>


Expand Down
24 changes: 13 additions & 11 deletions Documentation/hwmon/nct6683.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,16 @@ Tested Boards and Firmware Versions
The driver has been reported to work with the following boards and
firmware versions.

=============== ===============================================
Board Firmware version
=============== ===============================================
Intel DH87RL NCT6683D EC firmware version 1.0 build 04/03/13
Intel DH87MC NCT6683D EC firmware version 1.0 build 04/03/13
Intel DB85FL NCT6683D EC firmware version 1.0 build 04/03/13
ASRock X570 NCT6683D EC firmware version 1.0 build 06/28/19
ASRock X670E NCT6686D EC firmware version 1.0 build 05/19/22
MSI B550 NCT6687D EC firmware version 1.0 build 05/07/20
MSI X670-P NCT6687D EC firmware version 0.0 build 09/27/22
=============== ===============================================
=============================== ===============================================
Board Firmware version
=============================== ===============================================
Intel DH87RL NCT6683D EC firmware version 1.0 build 04/03/13
Intel DH87MC NCT6683D EC firmware version 1.0 build 04/03/13
Intel DB85FL NCT6683D EC firmware version 1.0 build 04/03/13
ASRock X570 NCT6683D EC firmware version 1.0 build 06/28/19
ASRock X670E NCT6686D EC firmware version 1.0 build 05/19/22
ASRock B650 Steel Legend WiFi NCT6686D EC firmware version 1.0 build 11/09/23
MSI B550 NCT6687D EC firmware version 1.0 build 05/07/20
MSI X670-P NCT6687D EC firmware version 0.0 build 09/27/22
MSI X870E NCT6687D EC firmware version 0.0 build 11/13/24
=============================== ===============================================
35 changes: 35 additions & 0 deletions Documentation/hwmon/pmbus-core.rst
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,10 @@ currently provides a flags field with four bits used::

#define PMBUS_USE_COEFFICIENTS_CMD BIT(5)

#define PMBUS_OP_PROTECTED BIT(6)

#define PMBUS_VOUT_PROTECTED BIT(7)

struct pmbus_platform_data {
u32 flags; /* Device specific flags */

Expand Down Expand Up @@ -373,3 +377,34 @@ PMBUS_USE_COEFFICIENTS_CMD

When this flag is set the PMBus core driver will use the COEFFICIENTS
register to initialize the coefficients for the direct mode format.

PMBUS_OP_PROTECTED

Set if the chip OPERATION command is protected and protection is not
determined by the standard WRITE_PROTECT command.

PMBUS_VOUT_PROTECTED

Set if the chip VOUT_COMMAND command is protected and protection is not
determined by the standard WRITE_PROTECT command.

Module parameter
----------------

pmbus_core.wp: PMBus write protect forced mode

PMBus may come up with a variety of write protection configuration.
'pmbus_core.wp' may be used if a particular write protection is necessary.
The ability to actually alter the protection may also depend on the chip
so the actual runtime write protection configuration may differ from
the requested one. pmbus_core currently support the following value:

* 0: write protection removed.
* 1: Disable all writes except to the WRITE_PROTECT, OPERATION,
PAGE, ON_OFF_CONFIG and VOUT_COMMAND commands.
* 2: Disable all writes except to the WRITE_PROTECT, OPERATION and
PAGE commands.
* 3: Disable all writes except to the WRITE_PROTECT command. Note that
protection should include the PAGE register. This may be problematic
for multi-page chips, if the chips strictly follows the PMBus
specification, preventing the chip from changing the active page.
Loading

0 comments on commit a4910ed

Please sign in to comment.