Skip to content

Commit acd1d46

Browse files
committed
Merge tag 'hwmon-for-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon updates from Guenter Roeck: "New drivers: - Driver for MAX31827 - Driver to support HP WMI Sensors Added support to existing drivers: - aht10: Support for AHT20 - aquacomputer_d5next: Support for Aquacomputer Leakshield - asus-ec-sensors: Support for ROG Crosshair X670E Hero - corsair-psu: Cleanups and support for series 2022 and 2023 - it87: Various improvements and support for IT8732F - nct6683: Support customer ID of some MSI boards. - nct6755: Support for NCT6799D - oxp-sensors: Various cleanups; support for AYANEO 2, Geek, OXP Mini, and AOKZOE A1 PRO - pmbus/max16601: Support for new revisions of MAX16508 - pmbus/adm1275: Disable ADC while updating PMON_CONFIG, and fix problems with temperature monitoring on ADM1272 - sht3x: Various cleanups; support for medium repeatability Other notable changes: - Switched regmap drivers to Maple tree support where appropriate Various other minor fixes and improvements" * tag 'hwmon-for-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (54 commits) hwmon: max31827: Switch back to use struct i2c_driver::probe hwmon: (oxp-sensors) Add support for AOKZOE A1 PRO hwmon: (corsair-psu) update Series 2022 and 2023 support hwmon: (corsair-psu) various cleanups hwmon: (corsair-psu) add support for reading PWM values and mode hwmon: (pmbus/adm1275) Disable ADC while updating PMON_CONFIG hwmon: (pmbus/adm1275) Prepare for protected write to PMON_CONFIG hwmon: (oxp-sensors) Simplify logic of error return hwmon: (oxp-sensors) Remove unused header hwmon: (nct6755) Add support for NCT6799D hwmon: (oxp-sensors) Add tt_toggle attribute on supported boards hwmon: (sht3x) complement sysfs interface for sts3x hwmon: (sht3x) Add new non-stardard sysfs attribute hwmon: (sht3x) add medium repeatability support hwmon: (sht3x)replace "high-precision" property to "repeatability" hwmon: (sht3x) remove blocking_io property hwmon: (sht3x) remove sht3x_platform_data hwmon: (pmbus/max16601) Add support for new revisions of MAX16508 Documentation/hwmon: Fix description of devm_hwmon_device_unregister() hwmon: (tmp464) Use maple tree register cache ...
2 parents e8c716b + 90fc660 commit acd1d46

File tree

193 files changed

+3911
-444
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

193 files changed

+3911
-444
lines changed
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/hwmon/adi,max31827.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Analog Devices MAX31827, MAX31828, MAX31829 Low-Power Temperature Switch
8+
9+
maintainers:
10+
- Daniel Matyas <[email protected]>
11+
12+
description: |
13+
Analog Devices MAX31827, MAX31828, MAX31829 Low-Power Temperature Switch with
14+
I2C Interface
15+
https://www.analog.com/media/en/technical-documentation/data-sheets/MAX31827-MAX31829.pdf
16+
17+
properties:
18+
compatible:
19+
oneOf:
20+
- const: adi,max31827
21+
- items:
22+
- enum:
23+
- adi,max31828
24+
- adi,max31829
25+
- const: adi,max31827
26+
27+
reg:
28+
maxItems: 1
29+
30+
vref-supply:
31+
description:
32+
Must have values in the interval (1.6V; 3.6V) in order for the device to
33+
function correctly.
34+
35+
required:
36+
- compatible
37+
- reg
38+
- vref-supply
39+
40+
additionalProperties: false
41+
42+
examples:
43+
- |
44+
i2c {
45+
#address-cells = <1>;
46+
#size-cells = <0>;
47+
48+
temperature-sensor@42 {
49+
compatible = "adi,max31827";
50+
reg = <0x42>;
51+
vref-supply = <&reg_vdd>;
52+
};
53+
};
54+
...

Documentation/hwmon/aht10.rst

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,42 @@ Kernel driver aht10
55

66
Supported chips:
77

8-
* Aosong AHT10
8+
* Aosong AHT10/AHT20
99

1010
Prefix: 'aht10'
1111

1212
Addresses scanned: None
1313

14-
Datasheet:
14+
Datasheet(AHT10):
1515

1616
Chinese: http://www.aosong.com/userfiles/files/media/AHT10%E4%BA%A7%E5%93%81%E6%89%8B%E5%86%8C%20A3%2020201210.pdf
1717
English: https://server4.eca.ir/eshop/AHT10/Aosong_AHT10_en_draft_0c.pdf
1818

19+
Datasheet(AHT20):
20+
21+
English: http://www.aosong.com/userfiles/files/media/Data%20Sheet%20AHT20.pdf
22+
1923
Author: Johannes Cornelis Draaijer <[email protected]>
2024

2125

2226
Description
2327
-----------
2428

25-
The AHT10 is a Temperature and Humidity sensor
29+
The AHT10/AHT20 is a Temperature and Humidity sensor
2630

2731
The address of this i2c device may only be 0x38
2832

33+
Special Features
34+
----------------
35+
36+
AHT20 has additional CRC8 support which is sent as the last byte of the sensor
37+
values.
38+
2939
Usage Notes
3040
-----------
3141

32-
This driver does not probe for AHT10 devices, as there is no reliable
33-
way to determine if an i2c chip is or isn't an AHT10. The device has
42+
This driver does not probe for AHT10/ATH20 devices, as there is no reliable
43+
way to determine if an i2c chip is or isn't an AHT10/AHT20. The device has
3444
to be instantiated explicitly with the address 0x38. See
3545
Documentation/i2c/instantiating-devices.rst for details.
3646

Documentation/hwmon/aquacomputer_d5next.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Supported devices:
1212
* Aquacomputer Octo fan controller
1313
* Aquacomputer Quadro fan controller
1414
* Aquacomputer High Flow Next sensor
15+
* Aquacomputer Leakshield leak prevention system
1516
* Aquacomputer Aquastream XT watercooling pump
1617
* Aquacomputer Aquastream Ultimate watercooling pump
1718
* Aquacomputer Poweradjust 3 fan controller
@@ -57,6 +58,11 @@ The High Flow Next exposes +5V voltages, water quality, conductivity and flow re
5758
A temperature sensor can be connected to it, in which case it provides its reading
5859
and an estimation of the dissipated/absorbed power in the liquid cooling loop.
5960

61+
The Leakshield exposes two temperature sensors and coolant pressure (current, min, max and
62+
target readings). It also exposes the estimated reservoir volume and how much of it is
63+
filled with coolant. Pump RPM and flow can be set to enhance on-device calculations,
64+
but this is not yet implemented here.
65+
6066
The Aquastream XT pump exposes temperature readings for the coolant, external sensor
6167
and fan IC. It also exposes pump and fan speeds (in RPM), voltages, as well as pump
6268
current.
@@ -83,6 +89,9 @@ Sysfs entries
8389
temp[1-20]_input Physical/virtual temperature sensors (in millidegrees Celsius)
8490
temp[1-8]_offset Temperature sensor correction offset (in millidegrees Celsius)
8591
fan[1-8]_input Pump/fan speed (in RPM) / Flow speed (in dL/h)
92+
fan1_min Minimal fan speed (in RPM)
93+
fan1_max Maximal fan speed (in RPM)
94+
fan1_target Target fan speed (in RPM)
8695
fan5_pulses Quadro flow sensor pulses
8796
power[1-8]_input Pump/fan power (in micro Watts)
8897
in[0-7]_input Pump/fan voltage (in milli Volts)

Documentation/hwmon/asus_ec_sensors.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Supported boards:
1414
* ROG CROSSHAIR VIII FORMULA
1515
* ROG CROSSHAIR VIII HERO
1616
* ROG CROSSHAIR VIII IMPACT
17+
* ROG CROSSHAIR X670E HERO
1718
* ROG MAXIMUS XI HERO
1819
* ROG MAXIMUS XI HERO (WI-FI)
1920
* ROG STRIX B550-E GAMING

Documentation/hwmon/corsair-psu.rst

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ Supported devices:
1515

1616
Corsair HX850i
1717

18-
Corsair HX1000i (revision 1 and 2)
18+
Corsair HX1000i (Series 2022 and 2023)
1919

2020
Corsair HX1200i
2121

22-
Corsair HX1500i
22+
Corsair HX1500i (Series 2022 and 2023)
2323

2424
Corsair RM550i
2525

@@ -69,6 +69,8 @@ power1_input Total power usage
6969
power2_input Power usage of the 12v psu rail
7070
power3_input Power usage of the 5v psu rail
7171
power4_input Power usage of the 3.3v psu rail
72+
pwm1 PWM value, read only
73+
pwm1_enable PWM mode, read only
7274
temp1_input Temperature of the psu vrm component
7375
temp1_crit Temperature max cirtical value of the psu vrm component
7476
temp2_input Temperature of the psu case
@@ -78,11 +80,14 @@ temp2_crit Temperature max critical value of psu case
7880
Usage Notes
7981
-----------
8082

81-
It is an USB HID device, so it is auto-detected and supports hot-swapping.
83+
It is an USB HID device, so it is auto-detected, supports hot-swapping and
84+
several devices at once.
8285

8386
Flickering values in the rail voltage levels can be an indicator for a failing
84-
PSU. The driver also provides some additional useful values via debugfs, which
85-
do not fit into the hwmon class.
87+
PSU. Accordingly to the default automatic fan speed plan the fan starts at about
88+
30% of the wattage rating. If this does not happen, a fan failure is likely. The
89+
driver also provides some additional useful values via debugfs, which do not fit
90+
into the hwmon class.
8691

8792
Debugfs entries
8893
---------------
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
.. SPDX-License-Identifier: GPL-2.0-or-later
2+
3+
.. include:: <isonum.txt>
4+
5+
===========================
6+
Linux HP WMI Sensors Driver
7+
===========================
8+
9+
:Copyright: |copy| 2023 James Seo <[email protected]>
10+
11+
Description
12+
===========
13+
14+
Hewlett-Packard (and some HP Compaq) business-class computers report hardware
15+
monitoring information via Windows Management Instrumentation (WMI).
16+
This driver exposes that information to the Linux hwmon subsystem, allowing
17+
userspace utilities like ``sensors`` to gather numeric sensor readings.
18+
19+
sysfs interface
20+
===============
21+
22+
When the driver is loaded, it discovers the sensors available on the
23+
system and creates the following sysfs attributes as necessary within
24+
``/sys/class/hwmon/hwmon[X]``:
25+
26+
(``[X]`` is some number that depends on other system components.)
27+
28+
======================= ======= ===================================
29+
Name Perm Description
30+
======================= ======= ===================================
31+
``curr[X]_input`` RO Current in milliamperes (mA).
32+
``curr[X]_label`` RO Current sensor label.
33+
``fan[X]_input`` RO Fan speed in RPM.
34+
``fan[X]_label`` RO Fan sensor label.
35+
``fan[X]_fault`` RO Fan sensor fault indicator.
36+
``fan[X]_alarm`` RO Fan sensor alarm indicator.
37+
``in[X]_input`` RO Voltage in millivolts (mV).
38+
``in[X]_label`` RO Voltage sensor label.
39+
``temp[X]_input`` RO Temperature in millidegrees Celsius
40+
(m\ |deg|\ C).
41+
``temp[X]_label`` RO Temperature sensor label.
42+
``temp[X]_fault`` RO Temperature sensor fault indicator.
43+
``temp[X]_alarm`` RO Temperature sensor alarm indicator.
44+
``intrusion[X]_alarm`` RW Chassis intrusion alarm indicator.
45+
======================= ======= ===================================
46+
47+
``fault`` attributes
48+
Reading ``1`` instead of ``0`` as the ``fault`` attribute for a sensor
49+
indicates that it has encountered some issue during operation such that
50+
measurements from it should not be trusted. If a sensor with the fault
51+
condition recovers later, reading this attribute will return ``0`` again.
52+
53+
``alarm`` attributes
54+
Reading ``1`` instead of ``0`` as the ``alarm`` attribute for a sensor
55+
indicates that one of the following has occurred, depending on its type:
56+
57+
- ``fan``: The fan has stalled or has been disconnected while running.
58+
- ``temp``: The sensor reading has reached a critical threshold.
59+
The exact threshold is system-dependent.
60+
- ``intrusion``: The system's chassis has been opened.
61+
62+
After ``1`` is read from an ``alarm`` attribute, the attribute resets itself
63+
and returns ``0`` on subsequent reads. As an exception, an
64+
``intrusion[X]_alarm`` can only be manually reset by writing ``0`` to it.
65+
66+
debugfs interface
67+
=================
68+
69+
.. warning:: The debugfs interface is subject to change without notice
70+
and is only available when the kernel is compiled with
71+
``CONFIG_DEBUG_FS`` defined.
72+
73+
The standard hwmon interface in sysfs exposes sensors of several common types
74+
that are connected as of driver initialization. However, there are usually
75+
other sensors in WMI that do not meet these criteria. In addition, a number of
76+
system-dependent "platform events objects" used for ``alarm`` attributes may
77+
be present. A debugfs interface is therefore provided for read-only access to
78+
all available HP WMI sensors and platform events objects.
79+
80+
``/sys/kernel/debug/hp-wmi-sensors-[X]/sensor``
81+
contains one numbered entry per sensor with the following attributes:
82+
83+
=============================== =======================================
84+
Name Example
85+
=============================== =======================================
86+
``name`` ``CPU0 Fan``
87+
``description`` ``Reports CPU0 fan speed``
88+
``sensor_type`` ``12``
89+
``other_sensor_type`` (an empty string)
90+
``operational_status`` ``2``
91+
``possible_states`` ``Normal,Caution,Critical,Not Present``
92+
``current_state`` ``Normal``
93+
``base_units`` ``19``
94+
``unit_modifier`` ``0``
95+
``current_reading`` ``1008``
96+
``rate_units`` ``0`` (only exists on some systems)
97+
=============================== =======================================
98+
99+
If platform events objects are available,
100+
``/sys/kernel/debug/hp-wmi-sensors-[X]/platform_events``
101+
contains one numbered entry per object with the following attributes:
102+
103+
=============================== ====================
104+
Name Example
105+
=============================== ====================
106+
``name`` ``CPU0 Fan Stall``
107+
``description`` ``CPU0 Fan Speed``
108+
``source_namespace`` ``root\wmi``
109+
``source_class`` ``HPBIOS_BIOSEvent``
110+
``category`` ``3``
111+
``possible_severity`` ``25``
112+
``possible_status`` ``5``
113+
=============================== ====================
114+
115+
These represent the properties of the underlying ``HPBIOS_BIOSNumericSensor``
116+
and ``HPBIOS_PlatformEvents`` WMI objects, which vary between systems.
117+
See [#]_ for more details and Managed Object Format (MOF) definitions.
118+
119+
Known issues and limitations
120+
============================
121+
122+
- If the existing hp-wmi driver for non-business-class HP systems is already
123+
loaded, ``alarm`` attributes will be unavailable even on systems that
124+
support them. This is because the same WMI event GUID used by this driver
125+
for ``alarm`` attributes is used on those systems for e.g. laptop hotkeys.
126+
- Dubious sensor hardware and inconsistent BIOS WMI implementations have been
127+
observed to cause inaccurate readings and peculiar behavior, such as alarms
128+
failing to occur or occurring only once per boot.
129+
- Only temperature, fan speed, and intrusion sensor types have been seen in
130+
the wild so far. Support for voltage and current sensors is therefore
131+
provisional.
132+
- Although HP WMI sensors may claim to be of any type, any oddball sensor
133+
types unknown to hwmon will not be supported.
134+
135+
References
136+
==========
137+
138+
.. [#] Hewlett-Packard Development Company, L.P.,
139+
"HP Client Management Interface Technical White Paper", 2005. [Online].
140+
Available: https://h20331.www2.hp.com/hpsub/downloads/cmi_whitepaper.pdf

Documentation/hwmon/hwmon-kernel-api.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ hwmon_device_register_with_info.
6666

6767
devm_hwmon_device_unregister does not normally have to be called. It is only
6868
needed for error handling, and only needed if the driver probe fails after
69-
the call to hwmon_device_register_with_info and if the automatic (device
69+
the call to devm_hwmon_device_register_with_info and if the automatic (device
7070
managed) removal would be too late.
7171

7272
All supported hwmon device registration functions only accept valid device

Documentation/hwmon/index.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ Hardware Monitoring
99

1010
hwmon-kernel-api
1111
pmbus-core
12-
inspur-ipsps1
1312
submitting-patches
1413
sysfs-interface
1514
userspace-tools
@@ -78,13 +77,15 @@ Hardware Monitoring Kernel Drivers
7877
gl518sm
7978
gxp-fan-ctrl
8079
hih6130
80+
hp-wmi-sensors
8181
ibmaem
8282
ibm-cffps
8383
ibmpowernv
8484
ina209
8585
ina2xx
8686
ina238
8787
ina3221
88+
inspur-ipsps1
8889
intel-m10-bmc-hwmon
8990
ir35221
9091
ir38064
@@ -140,6 +141,7 @@ Hardware Monitoring Kernel Drivers
140141
max31760
141142
max31785
142143
max31790
144+
max31827
143145
max34440
144146
max6620
145147
max6639

0 commit comments

Comments
 (0)