Skip to content

Commit 076f222

Browse files
committed
Merge tag 'hwmon-for-v5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon updates from Guenter Roeck: "New drivers: - Driver for the Microchip LAN966x SoC - PMBus driver for Infineon Digital Multi-phase xdp152 family controllers Chip support added to existing drivers: - asus-ec-sensors: - Support for ROG STRIX X570-E GAMING WIFI II, PRIME X470-PRO, and ProArt X570 Creator WIFI - External temperature sensor support for ASUS WS X570-ACE - nct6775: - Support for I2C driver - Support for ASUS PRO H410T / PRIME H410M-R / ROG X570-E GAMING WIFI II - lm75: - Support for - Atmel AT30TS74 - pmbus/max16601: - Support for MAX16602 - aquacomputer_d5next: - Support for Aquacomputer Farbwerk - Support for Aquacomputer Octo - jc42: - Support for S-34TS04A Kernel API changes / clarifications: - The chip parameter of with_info API is now mandatory - New hwmon_device_register_for_thermal API call for use by the thermal subsystem Improvements: - PMBus and JC42 drivers now register with thermal subsystem - PMBus drivers now support get_voltage/set_voltage power operations - The adt7475 driver now supports pin configuration - The lm90 driver now supports setting extended range temperatures configuration with a devicetree property - The dell-smm driver now registers as cooling device - The OCC driver delays hwmon registration until requested by userspace ... and various other minor fixes and improvements" * tag 'hwmon-for-v5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (71 commits) hwmon: (aquacomputer_d5next) Fix an error handling path in aqc_probe() hwmon: (sl28cpld) Fix typo in comment hwmon: (pmbus) Check PEC support before reading other registers hwmon: (dimmtemp) Fix bitmap handling hwmon: (lm90) enable extended range according to DTS node dt-bindings: hwmon: lm90: add ti,extended-range-enable property dt-bindings: hwmon: lm90: add missing ti,tmp461 hwmon: (ibmaem) Directly use ida_alloc()/free() hwmon: Directly use ida_alloc()/free() hwmon: (asus-ec-sensors) fix Formula VIII definition dt-bindings: trivial-devices: Add xdp152 hwmon: (sl28cpld-hwmon) Use HWMON_CHANNEL_INFO macro hwmon: (pwm-fan) Use HWMON_CHANNEL_INFO macro hwmon: (peci/dimmtemp) Use HWMON_CHANNEL_INFO macro hwmon: (peci/cputemp) Use HWMON_CHANNEL_INFO macro hwmon: (mr75203) Use HWMON_CHANNEL_INFO macro hwmon: (ltc2992) Use HWMON_CHANNEL_INFO macro hwmon: (as370-hwmon) Use HWMON_CHANNEL_INFO macro hwmon: Make chip parameter for with_info API mandatory thermal/drivers/thermal_hwmon: Use hwmon_device_register_for_thermal() ...
2 parents 0350785 + 8877ecb commit 076f222

62 files changed

Lines changed: 5118 additions & 2354 deletions

Some content is hidden

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

Documentation/devicetree/bindings/hwmon/adt7475.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,26 @@ patternProperties:
6161
$ref: /schemas/types.yaml#/definitions/uint32
6262
enum: [0, 1]
6363

64+
"adi,pin(5|10)-function":
65+
description: |
66+
Configures the function for pin 5 on the adi,adt7473 and adi,adt7475. Or
67+
pin 10 on the adi,adt7476 and adi,adt7490.
68+
$ref: /schemas/types.yaml#/definitions/string
69+
enum:
70+
- pwm2
71+
- smbalert#
72+
73+
"adi,pin(9|14)-function":
74+
description: |
75+
Configures the function for pin 9 on the adi,adt7473 and adi,adt7475. Or
76+
pin 14 on the adi,adt7476 and adi,adt7490
77+
$ref: /schemas/types.yaml#/definitions/string
78+
enum:
79+
- tach4
80+
- therm#
81+
- smbalert#
82+
- gpio
83+
6484
required:
6585
- compatible
6686
- reg
@@ -79,6 +99,8 @@ examples:
7999
adi,bypass-attenuator-in0 = <1>;
80100
adi,bypass-attenuator-in1 = <0>;
81101
adi,pwm-active-state = <1 0 1>;
102+
adi,pin10-function = "smbalert#";
103+
adi,pin14-function = "tach4";
82104
};
83105
};
84106

Documentation/devicetree/bindings/hwmon/lm75.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ properties:
1414
compatible:
1515
enum:
1616
- adi,adt75
17+
- atmel,at30ts74
1718
- dallas,ds1775
1819
- dallas,ds75
1920
- dallas,ds7505
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/hwmon/microchip,lan966x.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip LAN966x Hardware Monitor
8+
9+
maintainers:
10+
- Michael Walle <michael@walle.cc>
11+
12+
description: |
13+
Microchip LAN966x temperature monitor and fan controller
14+
15+
properties:
16+
compatible:
17+
enum:
18+
- microchip,lan9668-hwmon
19+
20+
reg:
21+
items:
22+
- description: PVT registers
23+
- description: FAN registers
24+
25+
reg-names:
26+
items:
27+
- const: pvt
28+
- const: fan
29+
30+
clocks:
31+
maxItems: 1
32+
33+
'#thermal-sensor-cells':
34+
const: 0
35+
36+
required:
37+
- compatible
38+
- reg
39+
- reg-names
40+
- clocks
41+
42+
additionalProperties: false
43+
44+
examples:
45+
- |
46+
hwmon: hwmon@e2010180 {
47+
compatible = "microchip,lan9668-hwmon";
48+
reg = <0xe2010180 0xc>,
49+
<0xe20042a8 0xc>;
50+
reg-names = "pvt", "fan";
51+
clocks = <&sys_clk>;
52+
#thermal-sensor-cells = <0>;
53+
};

Documentation/devicetree/bindings/hwmon/national,lm90.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ properties:
3434
- nxp,sa56004
3535
- onnn,nct1008
3636
- ti,tmp451
37+
- ti,tmp461
3738
- winbond,w83l771
3839

3940

@@ -52,10 +53,29 @@ properties:
5253
vcc-supply:
5354
description: phandle to the regulator that provides the +VCC supply
5455

56+
ti,extended-range-enable:
57+
description: Set to enable extended range temperature.
58+
type: boolean
59+
5560
required:
5661
- compatible
5762
- reg
5863

64+
allOf:
65+
- if:
66+
not:
67+
properties:
68+
compatible:
69+
contains:
70+
enum:
71+
- adi,adt7461
72+
- adi,adt7461a
73+
- ti,tmp451
74+
- ti,tmp461
75+
then:
76+
properties:
77+
ti,extended-range-enable: false
78+
5979
additionalProperties: false
6080

6181
examples:
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
5+
$id: http://devicetree.org/schemas/hwmon/nuvoton,nct6775.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Nuvoton NCT6775 and compatible Super I/O chips
9+
10+
maintainers:
11+
- Zev Weiss <zev@bewilderbeest.net>
12+
13+
properties:
14+
compatible:
15+
enum:
16+
- nuvoton,nct6106
17+
- nuvoton,nct6116
18+
- nuvoton,nct6775
19+
- nuvoton,nct6776
20+
- nuvoton,nct6779
21+
- nuvoton,nct6791
22+
- nuvoton,nct6792
23+
- nuvoton,nct6793
24+
- nuvoton,nct6795
25+
- nuvoton,nct6796
26+
- nuvoton,nct6797
27+
- nuvoton,nct6798
28+
29+
reg:
30+
maxItems: 1
31+
32+
nuvoton,tsi-channel-mask:
33+
description:
34+
Bitmask indicating which TSI temperature sensor channels are
35+
active. LSB is TSI0, bit 1 is TSI1, etc.
36+
$ref: /schemas/types.yaml#/definitions/uint32
37+
maximum: 0xff
38+
default: 0
39+
40+
required:
41+
- compatible
42+
- reg
43+
44+
additionalProperties: false
45+
46+
examples:
47+
- |
48+
i2c {
49+
#address-cells = <1>;
50+
#size-cells = <0>;
51+
52+
superio@4d {
53+
compatible = "nuvoton,nct6779";
54+
reg = <0x4d>;
55+
nuvoton,tsi-channel-mask = <0x03>;
56+
};
57+
};
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/hwmon/ti,tmp401.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: TMP401, TPM411 and TMP43x temperature sensor
8+
9+
maintainers:
10+
- Guenter Roeck <linux@roeck-us.net>
11+
12+
description: |
13+
±1°C Remote and Local temperature sensor
14+
15+
Datasheets:
16+
https://www.ti.com/lit/ds/symlink/tmp401.pdf
17+
https://www.ti.com/lit/ds/symlink/tmp411.pdf
18+
https://www.ti.com/lit/ds/symlink/tmp431.pdf
19+
https://www.ti.com/lit/ds/symlink/tmp435.pdf
20+
21+
properties:
22+
compatible:
23+
enum:
24+
- ti,tmp401
25+
- ti,tmp411
26+
- ti,tmp431
27+
- ti,tmp432
28+
- ti,tmp435
29+
30+
reg:
31+
maxItems: 1
32+
33+
ti,extended-range-enable:
34+
description:
35+
When set, this sensor measures over extended temperature range.
36+
type: boolean
37+
38+
ti,n-factor:
39+
description:
40+
value to be used for converting remote channel measurements to
41+
temperature.
42+
$ref: /schemas/types.yaml#/definitions/int32
43+
items:
44+
minimum: -128
45+
maximum: 127
46+
47+
ti,beta-compensation:
48+
description:
49+
value to select beta correction range.
50+
$ref: /schemas/types.yaml#/definitions/uint32
51+
minimum: 0
52+
maximum: 15
53+
54+
allOf:
55+
- if:
56+
properties:
57+
compatible:
58+
contains:
59+
enum:
60+
- ti,tmp401
61+
then:
62+
properties:
63+
ti,n-factor: false
64+
65+
- if:
66+
properties:
67+
compatible:
68+
contains:
69+
enum:
70+
- ti,tmp401
71+
- ti,tmp411
72+
then:
73+
properties:
74+
ti,beta-compensation: false
75+
76+
required:
77+
- compatible
78+
- reg
79+
80+
additionalProperties: false
81+
82+
examples:
83+
- |
84+
i2c {
85+
#address-cells = <1>;
86+
#size-cells = <0>;
87+
88+
sensor@4c {
89+
compatible = "ti,tmp401";
90+
reg = <0x4c>;
91+
};
92+
};
93+
- |
94+
i2c {
95+
#address-cells = <1>;
96+
#size-cells = <0>;
97+
98+
sensor@4c {
99+
compatible = "ti,tmp431";
100+
reg = <0x4c>;
101+
ti,extended-range-enable;
102+
ti,n-factor = <0x3b>;
103+
ti,beta-compensation = <0x7>;
104+
};
105+
};

Documentation/devicetree/bindings/trivial-devices.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,10 @@ properties:
143143
- infineon,xdpe12254
144144
# Infineon Multi-phase Digital VR Controller xdpe12284
145145
- infineon,xdpe12284
146+
# Infineon Multi-phase Digital VR Controller xdpe15284
147+
- infineon,xdpe15284
148+
# Infineon Multi-phase Digital VR Controller xdpe152c4
149+
- infineon,xdpe152c4
146150
# Injoinic IP5108 2.0A Power Bank IC with I2C
147151
- injoinic,ip5108
148152
# Injoinic IP5109 2.1A Power Bank IC with I2C

Documentation/hwmon/aquacomputer_d5next.rst

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ Kernel driver aquacomputer-d5next
66
Supported devices:
77

88
* Aquacomputer D5 Next watercooling pump
9+
* Aquacomputer Farbwerk RGB controller
910
* Aquacomputer Farbwerk 360 RGB controller
11+
* Aquacomputer Octo fan controller
1012

1113
Author: Aleksa Savic
1214

@@ -28,7 +30,10 @@ seems to require sending it a complete configuration. That includes addressable
2830
RGB LEDs, for which there is no standard sysfs interface. Thus, that task is
2931
better suited for userspace tools.
3032

31-
The Farbwerk 360 exposes four temperature sensors. Depending on the device,
33+
The Octo exposes four temperature sensors and eight PWM controllable fans, along
34+
with their speed (in RPM), power, voltage and current.
35+
36+
The Farbwerk and Farbwerk 360 expose four temperature sensors. Depending on the device,
3237
not all sysfs and debugfs entries will be available.
3338

3439
Usage notes

Documentation/hwmon/asus_ec_sensors.rst

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,20 @@ Kernel driver asus_ec_sensors
44
=================================
55

66
Supported boards:
7-
* PRIME X570-PRO,
8-
* Pro WS X570-ACE,
9-
* ROG CROSSHAIR VIII DARK HERO,
7+
* PRIME X470-PRO
8+
* PRIME X570-PRO
9+
* Pro WS X570-ACE
10+
* ProArt X570-CREATOR WIFI
11+
* ROG CROSSHAIR VIII DARK HERO
1012
* ROG CROSSHAIR VIII HERO (WI-FI)
11-
* ROG CROSSHAIR VIII FORMULA,
12-
* ROG CROSSHAIR VIII HERO,
13-
* ROG CROSSHAIR VIII IMPACT,
14-
* ROG STRIX B550-E GAMING,
15-
* ROG STRIX B550-I GAMING,
16-
* ROG STRIX X570-E GAMING,
17-
* ROG STRIX X570-F GAMING,
13+
* ROG CROSSHAIR VIII FORMULA
14+
* ROG CROSSHAIR VIII HERO
15+
* ROG CROSSHAIR VIII IMPACT
16+
* ROG STRIX B550-E GAMING
17+
* ROG STRIX B550-I GAMING
18+
* ROG STRIX X570-E GAMING
19+
* ROG STRIX X570-E GAMING WIFI II
20+
* ROG STRIX X570-F GAMING
1821
* ROG STRIX X570-I GAMING
1922

2023
Authors:
@@ -52,3 +55,5 @@ Module Parameters
5255
the path is mostly identical for them). If ASUS changes this path
5356
in a future BIOS update, this parameter can be used to override
5457
the stored in the driver value until it gets updated.
58+
A special string ":GLOBAL_LOCK" can be passed to use the ACPI
59+
global lock instead of a dedicated mutex.

Documentation/hwmon/dell-smm-hwmon.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,13 @@ probe the BIOS on your machine and discover the appropriate codes.
8686

8787
Again, when you find new codes, we'd be happy to have your patches!
8888

89+
``thermal`` interface
90+
---------------------------
91+
92+
The driver also exports the fans as thermal cooling devices with
93+
``type`` set to ``dell-smm-fan[1-3]``. This allows for easy fan control
94+
using one of the thermal governors.
95+
8996
Module parameters
9097
-----------------
9198

@@ -324,6 +331,8 @@ Reading of fan types causes erratic fan behaviour. Studio XPS 8000
324331

325332
Inspiron 580
326333

334+
Inspiron 3505
335+
327336
Fan-related SMM calls take too long (about 500ms). Inspiron 7720
328337

329338
Vostro 3360

0 commit comments

Comments
 (0)