mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
Merge tag 'hwmon-for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon updates from Guenter Roeck:
"Obsolete driver removals:
- Removed obsolete adm1021 and max6642 drivers
New drivers:
- MPS MP2891, MP2993, MP9941, and MP5920
- SPD5118 (Temperature Sensor and EEPROM)
Added device support to existing drivers:
- g762: G761
- dell-smm: Dell OptiPlex 7060
- asus-ec-sensors: ProArt X670E-CREATOR WIFI
- corsair-psu: HX1200i Series 2023 psu
- nzxt-smart2: Additional USB IS for NZXT RGB & Fan Controller
Notable enhancements and fixes:
- Removed use of i2c_match_id()
- Constified struct regmap_config where feasible
- Cleaned up amc6821 driver, and converted to use regmap and
with_info API
- Converted max6639 driver to use with_info API; added support for
additional sysfs attributes
- Fixed various sysfs attribute underflows
- Added PEC support to hwmon core, and use in lm90 and max31827
drivers
And various other minor fixes and improvements"
* tag 'hwmon-for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (103 commits)
hwmon: (max6697) Fix swapped temp{1,8} critical alarms
hwmon: (max6697) Fix underflow when writing limit attributes
hwmon: Remove obsolete adm1021 and max6642 drivers
hwmon: (pmbus/ltc4286) Drop unused i2c device ids
hwmon: (g762) Initialize fans after configuring clock
hwmon: (amc6821) Add support for pwm1_mode attribute
hwmon: (amc6821) Convert to with_info API
hwmon: (amc6821) Convert to use regmap
hwmon: (amc6821) Drop unnecessary enum chips
hwmon: (amc6821) Use BIT() and GENMASK()
hwmon: (amc6821) Use tabs for column alignment in defines
hwmon: (amc6821) Reorder include files, drop unnecessary ones
hwmon: (amc6821) Add support for fan1_target and pwm1_enable mode 4
hwmon: (amc6821) Rename fan1_div to fan1_pulses
hwmon: (amc6821) Make reading and writing fan speed limits consistent
hwmon: (amc6821) Stop accepting invalid pwm values
hwmon: (w83627ehf) Fix underflows seen when writing limit attributes
hwmon: (nct6775-core) Fix underflows seen when writing limit attributes
hwmon: (lm95234) Fix underflows seen when writing limit attributes
hwmon: (adc128d818) Fix underflows seen when writing limit attributes
...
This commit is contained in:
@@ -1,47 +0,0 @@
|
||||
GMT G762/G763 PWM Fan controller
|
||||
|
||||
Required node properties:
|
||||
|
||||
- "compatible": must be either "gmt,g762" or "gmt,g763"
|
||||
- "reg": I2C bus address of the device
|
||||
- "clocks": a fixed clock providing input clock frequency
|
||||
on CLK pin of the chip.
|
||||
|
||||
Optional properties:
|
||||
|
||||
- "fan_startv": fan startup voltage. Accepted values are 0, 1, 2 and 3.
|
||||
The higher the more.
|
||||
|
||||
- "pwm_polarity": pwm polarity. Accepted values are 0 (positive duty)
|
||||
and 1 (negative duty).
|
||||
|
||||
- "fan_gear_mode": fan gear mode. Supported values are 0, 1 and 2.
|
||||
|
||||
If an optional property is not set in .dts file, then current value is kept
|
||||
unmodified (e.g. u-boot installed value).
|
||||
|
||||
Additional information on operational parameters for the device is available
|
||||
in Documentation/hwmon/g762.rst. A detailed datasheet for the device is available
|
||||
at http://natisbad.org/NAS/refs/GMT_EDS-762_763-080710-0.2.pdf.
|
||||
|
||||
Example g762 node:
|
||||
|
||||
clocks {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
g762_clk: fixedclk {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
clock-frequency = <8192>;
|
||||
}
|
||||
}
|
||||
|
||||
g762: g762@3e {
|
||||
compatible = "gmt,g762";
|
||||
reg = <0x3e>;
|
||||
clocks = <&g762_clk>
|
||||
fan_gear_mode = <0>; /* chip default */
|
||||
fan_startv = <1>; /* chip default */
|
||||
pwm_polarity = <0>; /* chip default */
|
||||
};
|
||||
@@ -0,0 +1,95 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/hwmon/gmt,g762.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: GMT G761/G762/G763 PWM Fan controller
|
||||
|
||||
maintainers:
|
||||
- Christian Marangi <ansuelsmth@gmail.com>
|
||||
|
||||
description: |
|
||||
GMT G761/G762/G763 PWM Fan controller.
|
||||
|
||||
G761 supports an internal-clock hence the clocks property is optional.
|
||||
If not defined, internal-clock will be used. (31KHz is the clock of
|
||||
the internal crystal oscillator)
|
||||
|
||||
If an optional property is not set in DT, then current value is kept
|
||||
unmodified (e.g. bootloader installed value).
|
||||
|
||||
Additional information on operational parameters for the device is available
|
||||
in Documentation/hwmon/g762.rst. A detailed datasheet for the device is available
|
||||
at http://natisbad.org/NAS/refs/GMT_EDS-762_763-080710-0.2.pdf.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- gmt,g761
|
||||
- gmt,g762
|
||||
- gmt,g763
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
description: a fixed clock providing input clock frequency on CLK
|
||||
pin of the chip.
|
||||
maxItems: 1
|
||||
|
||||
fan_startv:
|
||||
description: Fan startup voltage step
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2, 3]
|
||||
|
||||
pwm_polarity:
|
||||
description: PWM polarity (positive or negative duty)
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1]
|
||||
|
||||
fan_gear_mode:
|
||||
description: FAN gear mode. Configure High speed fan setting factor
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum: [0, 1, 2]
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- gmt,g762
|
||||
- gmt,g763
|
||||
then:
|
||||
required:
|
||||
- clocks
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
g762@3e {
|
||||
compatible = "gmt,g762";
|
||||
reg = <0x3e>;
|
||||
clocks = <&g762_clk>;
|
||||
fan_gear_mode = <0>;
|
||||
fan_startv = <1>;
|
||||
pwm_polarity = <0>;
|
||||
};
|
||||
|
||||
g761@1e {
|
||||
compatible = "gmt,g761";
|
||||
reg = <0x1e>;
|
||||
fan_gear_mode = <0>;
|
||||
fan_startv = <1>;
|
||||
pwm_polarity = <0>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,92 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
|
||||
$id: http://devicetree.org/schemas/hwmon/maxim,max6639.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Maxim max6639
|
||||
|
||||
maintainers:
|
||||
- Naresh Solanki <naresh.solanki@9elements.com>
|
||||
|
||||
description: |
|
||||
The MAX6639 is a 2-channel temperature monitor with dual, automatic, PWM
|
||||
fan-speed controller. It monitors its own temperature and one external
|
||||
diode-connected transistor or the temperatures of two external diode-connected
|
||||
transistors, typically available in CPUs, FPGAs, or GPUs.
|
||||
|
||||
Datasheets:
|
||||
https://datasheets.maximintegrated.com/en/ds/MAX6639-MAX6639F.pdf
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- maxim,max6639
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
'#address-cells':
|
||||
const: 1
|
||||
|
||||
'#size-cells':
|
||||
const: 0
|
||||
|
||||
'#pwm-cells':
|
||||
const: 3
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
patternProperties:
|
||||
"^fan@[0-1]$":
|
||||
type: object
|
||||
description:
|
||||
Represents the two fans and their specific configuration.
|
||||
|
||||
$ref: fan-common.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description:
|
||||
The fan number.
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
fan1: fan-controller@10 {
|
||||
compatible = "maxim,max6639";
|
||||
reg = <0x10>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#pwm-cells = <3>;
|
||||
|
||||
fan@0 {
|
||||
reg = <0x0>;
|
||||
pulses-per-revolution = <2>;
|
||||
max-rpm = <4000>;
|
||||
target-rpm = <1000>;
|
||||
pwms = <&fan1 0 25000 0>;
|
||||
};
|
||||
|
||||
fan@1 {
|
||||
reg = <0x1>;
|
||||
pulses-per-revolution = <2>;
|
||||
max-rpm = <8000>;
|
||||
pwms = <&fan1 1 25000 0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
@@ -66,6 +66,14 @@ properties:
|
||||
description: phandle to the regulator that provides the VS supply typically
|
||||
in range from 2.7 V to 5.5 V.
|
||||
|
||||
ti,alert-polarity-active-high:
|
||||
description: Alert pin is asserted based on the value of Alert polarity Bit
|
||||
of Mask/Enable register. Default value is Normal (0 which maps to
|
||||
active-low open collector). The other value is Inverted
|
||||
(1 which maps to active-high open collector). Specify this property to set
|
||||
the alert polarity to active-high.
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
@@ -88,5 +96,6 @@ examples:
|
||||
label = "vdd_3v0";
|
||||
shunt-resistor = <1000>;
|
||||
vs-supply = <&vdd_3v0>;
|
||||
ti,alert-polarity-active-high;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -9,6 +9,14 @@ title: TMP108 temperature sensor
|
||||
maintainers:
|
||||
- Krzysztof Kozlowski <krzk@kernel.org>
|
||||
|
||||
description: |
|
||||
The TMP108 is a digital-output temperature sensor with a
|
||||
dynamically-programmable limit window, and under- and overtemperature
|
||||
alert functions.
|
||||
|
||||
Datasheets:
|
||||
https://www.ti.com/product/TMP108
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
@@ -24,6 +32,9 @@ properties:
|
||||
"#thermal-sensor-cells":
|
||||
const: 0
|
||||
|
||||
vcc-supply:
|
||||
description: phandle to the regulator that provides the V+ supply
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
@@ -45,6 +56,7 @@ examples:
|
||||
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&tmp_alrt>;
|
||||
vcc-supply = <&supply>;
|
||||
#thermal-sensor-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -168,6 +168,8 @@ properties:
|
||||
- isil,isl69269
|
||||
# Intersil ISL76682 Ambient Light Sensor
|
||||
- isil,isl76682
|
||||
# JEDEC JESD300 (SPD5118) Hub and Serial Presence Detect
|
||||
- jedec,spd5118
|
||||
# Linear Technology LTC2488
|
||||
- lineartechnology,ltc2488
|
||||
# 5 Bit Programmable, Pulse-Width Modulator
|
||||
@@ -286,14 +288,22 @@ properties:
|
||||
- mps,mp2857
|
||||
# Monolithic Power Systems Inc. multi-phase controller mp2888
|
||||
- mps,mp2888
|
||||
# Monolithic Power Systems Inc. multi-phase controller mp2891
|
||||
- mps,mp2891
|
||||
# Monolithic Power Systems Inc. multi-phase controller mp2971
|
||||
- mps,mp2971
|
||||
# Monolithic Power Systems Inc. multi-phase controller mp2973
|
||||
- mps,mp2973
|
||||
# Monolithic Power Systems Inc. multi-phase controller mp2975
|
||||
- mps,mp2975
|
||||
# Monolithic Power Systems Inc. multi-phase controller mp2993
|
||||
- mps,mp2993
|
||||
# Monolithic Power Systems Inc. multi-phase hot-swap controller mp5920
|
||||
- mps,mp5920
|
||||
# Monolithic Power Systems Inc. multi-phase hot-swap controller mp5990
|
||||
- mps,mp5990
|
||||
# Monolithic Power Systems Inc. digital step-down converter mp9941
|
||||
- mps,mp9941
|
||||
# Monolithic Power Systems Inc. synchronous step-down converter mpq8785
|
||||
- mps,mpq8785
|
||||
# Temperature sensor with integrated fan control
|
||||
|
||||
@@ -1,153 +0,0 @@
|
||||
Kernel driver adm1021
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Analog Devices ADM1021
|
||||
|
||||
Prefix: 'adm1021'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
* Analog Devices ADM1021A/ADM1023
|
||||
|
||||
Prefix: 'adm1023'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
* Genesys Logic GL523SM
|
||||
|
||||
Prefix: 'gl523sm'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet:
|
||||
|
||||
* Maxim MAX1617
|
||||
|
||||
Prefix: 'max1617'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
* Maxim MAX1617A
|
||||
|
||||
Prefix: 'max1617a'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
* National Semiconductor LM84
|
||||
|
||||
Prefix: 'lm84'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the National Semiconductor website
|
||||
|
||||
* Philips NE1617
|
||||
|
||||
Prefix: 'max1617' (probably detected as a max1617)
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Philips website
|
||||
|
||||
* Philips NE1617A
|
||||
|
||||
Prefix: 'max1617' (probably detected as a max1617)
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Philips website
|
||||
|
||||
* TI THMC10
|
||||
|
||||
Prefix: 'thmc10'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the TI website
|
||||
|
||||
* Onsemi MC1066
|
||||
|
||||
Prefix: 'mc1066'
|
||||
|
||||
Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
|
||||
|
||||
Datasheet: Publicly available at the Onsemi website
|
||||
|
||||
|
||||
Authors:
|
||||
- Frodo Looijaard <frodol@dds.nl>,
|
||||
- Philip Edelbrock <phil@netroedge.com>
|
||||
|
||||
Module Parameters
|
||||
-----------------
|
||||
|
||||
* read_only: int
|
||||
Don't set any values, read only mode
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The chips supported by this driver are very similar. The Maxim MAX1617 is
|
||||
the oldest; it has the problem that it is not very well detectable. The
|
||||
MAX1617A solves that. The ADM1021 is a straight clone of the MAX1617A.
|
||||
Ditto for the THMC10. From here on, we will refer to all these chips as
|
||||
ADM1021-clones.
|
||||
|
||||
The ADM1021 and MAX1617A reports a die code, which is a sort of revision
|
||||
code. This can help us pinpoint problems; it is not very useful
|
||||
otherwise.
|
||||
|
||||
ADM1021-clones implement two temperature sensors. One of them is internal,
|
||||
and measures the temperature of the chip itself; the other is external and
|
||||
is realised in the form of a transistor-like device. A special alarm
|
||||
indicates whether the remote sensor is connected.
|
||||
|
||||
Each sensor has its own low and high limits. When they are crossed, the
|
||||
corresponding alarm is set and remains on as long as the temperature stays
|
||||
out of range. Temperatures are measured in degrees Celsius. Measurements
|
||||
are possible between -65 and +127 degrees, with a resolution of one degree.
|
||||
|
||||
If an alarm triggers, it will remain triggered until the hardware register
|
||||
is read at least once. This means that the cause for the alarm may already
|
||||
have disappeared!
|
||||
|
||||
This driver only updates its values each 1.5 seconds; reading it more often
|
||||
will do no harm, but will return 'old' values. It is possible to make
|
||||
ADM1021-clones do faster measurements, but there is really no good reason
|
||||
for that.
|
||||
|
||||
|
||||
Netburst-based Xeon support
|
||||
---------------------------
|
||||
|
||||
Some Xeon processors based on the Netburst (early Pentium 4, from 2001 to
|
||||
2003) microarchitecture had real MAX1617, ADM1021, or compatible chips
|
||||
within them, with two temperature sensors. Other Xeon processors of this
|
||||
era (with 400 MHz FSB) had chips with only one temperature sensor.
|
||||
|
||||
If you have such an old Xeon, and you get two valid temperatures when
|
||||
loading the adm1021 module, then things are good.
|
||||
|
||||
If nothing happens when loading the adm1021 module, and you are certain
|
||||
that your specific Xeon processor model includes compatible sensors, you
|
||||
will have to explicitly instantiate the sensor chips from user-space. See
|
||||
method 4 in Documentation/i2c/instantiating-devices.rst. Possible slave
|
||||
addresses are 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. It is likely that
|
||||
only temp2 will be correct and temp1 will have to be ignored.
|
||||
|
||||
Previous generations of the Xeon processor (based on Pentium II/III)
|
||||
didn't have these sensors. Next generations of Xeon processors (533 MHz
|
||||
FSB and faster) lost them, until the Core-based generation which
|
||||
introduced integrated digital thermal sensors. These are supported by
|
||||
the coretemp driver.
|
||||
@@ -47,13 +47,18 @@ fan1_input ro tachometer speed
|
||||
fan1_min rw "
|
||||
fan1_max rw "
|
||||
fan1_fault ro "
|
||||
fan1_div rw Fan divisor can be either 2 or 4.
|
||||
fan1_pulses rw Pulses per revolution can be either 2 or 4.
|
||||
fan1_target rw Target fan speed, to be used with pwm1_enable
|
||||
mode 4.
|
||||
|
||||
pwm1 rw pwm1
|
||||
pwm1_enable rw regulator mode, 1=open loop, 2=fan controlled
|
||||
by remote temperature, 3=fan controlled by
|
||||
combination of the on-chip temperature and
|
||||
remote-sensor temperature,
|
||||
4=fan controlled by target rpm set with
|
||||
fan1_target attribute.
|
||||
pwm1_mode rw Fan duty control mode (0=DC, 1=PWM)
|
||||
pwm1_auto_channels_temp ro 1 if pwm_enable==2, 3 if pwm_enable==3
|
||||
pwm1_auto_point1_pwm ro Hardwired to 0, shared for both
|
||||
temperature channels.
|
||||
|
||||
@@ -8,6 +8,7 @@ Supported boards:
|
||||
* PRIME X570-PRO
|
||||
* Pro WS X570-ACE
|
||||
* ProArt X570-CREATOR WIFI
|
||||
* ProArt X670E-CREATOR WIFI
|
||||
* ProArt B550-CREATOR
|
||||
* ROG CROSSHAIR VIII DARK HERO
|
||||
* ROG CROSSHAIR VIII HERO (WI-FI)
|
||||
|
||||
@@ -39,3 +39,11 @@ fan[1-6]_target Sets fan speed target rpm.
|
||||
pwm[1-6] Sets the fan speed. Values from 0-255. Can only be read if pwm
|
||||
was set directly.
|
||||
======================= =====================================================================
|
||||
|
||||
Debugfs entries
|
||||
---------------
|
||||
|
||||
======================= ===================
|
||||
firmware_version Firmware version
|
||||
bootloader_version Bootloader version
|
||||
======================= ===================
|
||||
|
||||
@@ -15,11 +15,11 @@ Supported devices:
|
||||
|
||||
Corsair HX850i
|
||||
|
||||
Corsair HX1000i (Series 2022 and 2023)
|
||||
Corsair HX1000i (Legacy and Series 2023)
|
||||
|
||||
Corsair HX1200i
|
||||
Corsair HX1200i (Legacy and Series 2023)
|
||||
|
||||
Corsair HX1500i (Series 2022 and 2023)
|
||||
Corsair HX1500i (Legacy and Series 2023)
|
||||
|
||||
Corsair RM550i
|
||||
|
||||
|
||||
@@ -360,6 +360,8 @@ Firmware Bug Affected Machines
|
||||
======================================================= =================
|
||||
Reading of fan states return spurious errors. Precision 490
|
||||
|
||||
OptiPlex 7060
|
||||
|
||||
Reading of fan types causes erratic fan behaviour. Studio XPS 8000
|
||||
|
||||
Studio XPS 8100
|
||||
|
||||
@@ -25,7 +25,6 @@ Hardware Monitoring Kernel Drivers
|
||||
acpi_power_meter
|
||||
ad7314
|
||||
adc128d818
|
||||
adm1021
|
||||
adm1025
|
||||
adm1026
|
||||
adm1031
|
||||
@@ -155,7 +154,6 @@ Hardware Monitoring Kernel Drivers
|
||||
max34440
|
||||
max6620
|
||||
max6639
|
||||
max6642
|
||||
max6650
|
||||
max6697
|
||||
max8688
|
||||
@@ -166,9 +164,13 @@ Hardware Monitoring Kernel Drivers
|
||||
mlxreg-fan
|
||||
mp2856
|
||||
mp2888
|
||||
mp2891
|
||||
mp2975
|
||||
mp2993
|
||||
mp5023
|
||||
mp5920
|
||||
mp5990
|
||||
mp9941
|
||||
mpq8785
|
||||
nct6683
|
||||
nct6775
|
||||
@@ -216,6 +218,7 @@ Hardware Monitoring Kernel Drivers
|
||||
smsc47m192
|
||||
smsc47m1
|
||||
sparx5-temp
|
||||
spd5118
|
||||
stpddc60
|
||||
surface_fan
|
||||
sy7636a-hwmon
|
||||
|
||||
@@ -131,7 +131,14 @@ The Fault Queue bits select how many consecutive temperature faults must occur
|
||||
before overtemperature or undertemperature faults are indicated in the
|
||||
corresponding status bits.
|
||||
|
||||
Notes
|
||||
-----
|
||||
PEC Support
|
||||
-----------
|
||||
|
||||
PEC is not implemented.
|
||||
When reading a register value, the PEC byte is computed and sent by the chip.
|
||||
|
||||
PEC on word data transaction respresents a signifcant increase in bandwitdh
|
||||
usage (+33% for both write and reads) in normal conditions.
|
||||
|
||||
Since this operation implies there will be an extra delay to each
|
||||
transaction, PEC can be disabled or enabled through sysfs.
|
||||
Just write 1 to the "pec" file for enabling PEC and 0 for disabling it.
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
Kernel driver max6642
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* Maxim MAX6642
|
||||
|
||||
Prefix: 'max6642'
|
||||
|
||||
Addresses scanned: I2C 0x48-0x4f
|
||||
|
||||
Datasheet: Publicly available at the Maxim website
|
||||
|
||||
http://datasheets.maxim-ic.com/en/ds/MAX6642.pdf
|
||||
|
||||
Authors:
|
||||
|
||||
Per Dalen <per.dalen@appeartv.com>
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The MAX6642 is a digital temperature sensor. It senses its own temperature as
|
||||
well as the temperature on one external diode.
|
||||
|
||||
All temperature values are given in degrees Celsius. Resolution
|
||||
is 0.25 degree for the local temperature and for the remote temperature.
|
||||
@@ -0,0 +1,179 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Kernel driver mp2891
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* MPS mp2891
|
||||
|
||||
Prefix: 'mp2891'
|
||||
|
||||
* Datasheet
|
||||
|
||||
Publicly available at the MPS website : https://www.monolithicpower.com/en/mp2891.html
|
||||
|
||||
Author:
|
||||
|
||||
Noah Wang <noahwang.wang@outlook.com>
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
This driver implements support for Monolithic Power Systems, Inc. (MPS)
|
||||
MP2891 Multi-phase Digital VR Controller.
|
||||
|
||||
Device compliant with:
|
||||
|
||||
- PMBus rev 1.3 interface.
|
||||
|
||||
Device supports direct and linear format for reading input voltage,
|
||||
output voltage, input current, output current, input power, output
|
||||
power, and temperature.
|
||||
|
||||
The driver exports the following attributes via the 'sysfs' files
|
||||
for input voltage:
|
||||
|
||||
**in1_input**
|
||||
|
||||
**in1_label**
|
||||
|
||||
**in1_crit**
|
||||
|
||||
**in1_crit_alarm**
|
||||
|
||||
**in1_lcrit**
|
||||
|
||||
**in1_lcrit_alarm**
|
||||
|
||||
**in1_min**
|
||||
|
||||
**in1_min_alarm**
|
||||
|
||||
The driver provides the following attributes for output voltage:
|
||||
|
||||
**in2_input**
|
||||
|
||||
**in2_label**
|
||||
|
||||
**in2_crit**
|
||||
|
||||
**in2_crit_alarm**
|
||||
|
||||
**in2_lcrit**
|
||||
|
||||
**in2_lcrit_alarm**
|
||||
|
||||
**in2_min**
|
||||
|
||||
**in2_min_alarm**
|
||||
|
||||
**in3_input**
|
||||
|
||||
**in3_label**
|
||||
|
||||
**in3_crit**
|
||||
|
||||
**in3_crit_alarm**
|
||||
|
||||
**in3_lcrit**
|
||||
|
||||
**in3_lcrit_alarm**
|
||||
|
||||
**in3_min**
|
||||
|
||||
**in3_min_alarm**
|
||||
|
||||
The driver provides the following attributes for input current:
|
||||
|
||||
**curr1_input**
|
||||
|
||||
**curr1_label**
|
||||
|
||||
**curr1_max**
|
||||
|
||||
**curr1_max_alarm**
|
||||
|
||||
**curr2_input**
|
||||
|
||||
**curr2_label**
|
||||
|
||||
**curr2_max**
|
||||
|
||||
**curr2_max_alarm**
|
||||
|
||||
The driver provides the following attributes for output current:
|
||||
|
||||
**curr3_input**
|
||||
|
||||
**curr3_label**
|
||||
|
||||
**curr3_crit**
|
||||
|
||||
**curr3_crit_alarm**
|
||||
|
||||
**curr3_max**
|
||||
|
||||
**curr3_max_alarm**
|
||||
|
||||
**curr4_input**
|
||||
|
||||
**curr4_label**
|
||||
|
||||
**curr4_crit**
|
||||
|
||||
**curr4_crit_alarm**
|
||||
|
||||
**curr4_max**
|
||||
|
||||
**curr4_max_alarm**
|
||||
|
||||
The driver provides the following attributes for input power:
|
||||
|
||||
**power1_input**
|
||||
|
||||
**power1_label**
|
||||
|
||||
**power1_max**
|
||||
|
||||
**power1_alarm**
|
||||
|
||||
**power2_input**
|
||||
|
||||
**power2_label**
|
||||
|
||||
**power2_max**
|
||||
|
||||
**power2_alarm**
|
||||
|
||||
The driver provides the following attributes for output power:
|
||||
|
||||
**power3_input**
|
||||
|
||||
**power3_label**
|
||||
|
||||
**power4_input**
|
||||
|
||||
**power4_label**
|
||||
|
||||
The driver provides the following attributes for temperature:
|
||||
|
||||
**temp1_input**
|
||||
|
||||
**temp1_crit**
|
||||
|
||||
**temp1_crit_alarm**
|
||||
|
||||
**temp1_max**
|
||||
|
||||
**temp1_max_alarm**
|
||||
|
||||
**temp2_input**
|
||||
|
||||
**temp2_crit**
|
||||
|
||||
**temp2_crit_alarm**
|
||||
|
||||
**temp2_max**
|
||||
|
||||
**temp2_max_alarm**
|
||||
@@ -0,0 +1,150 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Kernel driver mp2993
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* MPS mp2993
|
||||
|
||||
Prefix: 'mp2993'
|
||||
|
||||
* Datasheet
|
||||
https://scnbwymvp-my.sharepoint.com/:f:/g/personal/admin_scnbwy_com/Eth4kX1_J1hMsaASHiOYL4QBHU5a75r-tRfLKbHnJFdKLQ?e=vxj3DF
|
||||
|
||||
Author:
|
||||
|
||||
Noah Wang <noahwang.wang@outlook.com>
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
This driver implements support for Monolithic Power Systems, Inc. (MPS)
|
||||
MP2993 Dual Loop Digital Multi-phase Controller.
|
||||
|
||||
Device compliant with:
|
||||
|
||||
- PMBus rev 1.3 interface.
|
||||
|
||||
The driver exports the following attributes via the 'sysfs' files
|
||||
for input voltage:
|
||||
|
||||
**in1_input**
|
||||
|
||||
**in1_label**
|
||||
|
||||
**in1_crit**
|
||||
|
||||
**in1_crit_alarm**
|
||||
|
||||
**in1_lcrit**
|
||||
|
||||
**in1_lcrit_alarm**
|
||||
|
||||
**in1_max**
|
||||
|
||||
**in1_max_alarm**
|
||||
|
||||
**in1_min**
|
||||
|
||||
**in1_min_alarm**
|
||||
|
||||
The driver provides the following attributes for output voltage:
|
||||
|
||||
**in2_input**
|
||||
|
||||
**in2_label**
|
||||
|
||||
**in2_crit**
|
||||
|
||||
**in2_crit_alarm**
|
||||
|
||||
**in2_lcrit**
|
||||
|
||||
**in2_lcrit_alarm**
|
||||
|
||||
**in3_input**
|
||||
|
||||
**in3_label**
|
||||
|
||||
**in3_crit**
|
||||
|
||||
**in3_crit_alarm**
|
||||
|
||||
**in3_lcrit**
|
||||
|
||||
**in3_lcrit_alarm**
|
||||
|
||||
The driver provides the following attributes for input current:
|
||||
|
||||
**curr1_input**
|
||||
|
||||
**curr1_label**
|
||||
|
||||
**curr1_max**
|
||||
|
||||
**curr1_max_alarm**
|
||||
|
||||
The driver provides the following attributes for output current:
|
||||
|
||||
**curr2_input**
|
||||
|
||||
**curr2_label**
|
||||
|
||||
**curr2_crit**
|
||||
|
||||
**curr2_crit_alarm**
|
||||
|
||||
**curr2_max**
|
||||
|
||||
**curr2_max_alarm**
|
||||
|
||||
**curr3_input**
|
||||
|
||||
**curr3_label**
|
||||
|
||||
**curr3_crit**
|
||||
|
||||
**curr3_crit_alarm**
|
||||
|
||||
**curr3_max**
|
||||
|
||||
**curr3_max_alarm**
|
||||
|
||||
The driver provides the following attributes for input power:
|
||||
|
||||
**power1_input**
|
||||
|
||||
**power1_label**
|
||||
|
||||
The driver provides the following attributes for output power:
|
||||
|
||||
**power2_input**
|
||||
|
||||
**power2_label**
|
||||
|
||||
**power3_input**
|
||||
|
||||
**power3_label**
|
||||
|
||||
The driver provides the following attributes for temperature:
|
||||
|
||||
**temp1_input**
|
||||
|
||||
**temp1_crit**
|
||||
|
||||
**temp1_crit_alarm**
|
||||
|
||||
**temp1_max**
|
||||
|
||||
**temp1_max_alarm**
|
||||
|
||||
**temp2_input**
|
||||
|
||||
**temp2_crit**
|
||||
|
||||
**temp2_crit_alarm**
|
||||
|
||||
**temp2_max**
|
||||
|
||||
**temp2_max_alarm**
|
||||
@@ -0,0 +1,91 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Kernel driver mp5920
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* MPS MP5920
|
||||
|
||||
Prefix: 'mp5920'
|
||||
|
||||
* Datasheet
|
||||
|
||||
Publicly available at the MPS website : https://www.monolithicpower.com/en/mp5920.html
|
||||
|
||||
Authors:
|
||||
|
||||
Tony Ao <tony_ao@wiwynn.com>
|
||||
Alex Vdovydchenko <xzeol@yahoo.com>
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
This driver implements support for Monolithic Power Systems, Inc. (MPS)
|
||||
MP5920 Hot-Swap Controller.
|
||||
|
||||
Device compliant with:
|
||||
|
||||
- PMBus rev 1.3 interface.
|
||||
|
||||
Device supports direct and linear format for reading input voltage,
|
||||
output voltage, output current, input power and temperature.
|
||||
|
||||
The driver exports the following attributes via the 'sysfs' files
|
||||
for input voltage:
|
||||
|
||||
**in1_input**
|
||||
|
||||
**in1_label**
|
||||
|
||||
**in1_rated_max**
|
||||
|
||||
**in1_rated_min**
|
||||
|
||||
**in1_crit**
|
||||
|
||||
**in1_alarm**
|
||||
|
||||
The driver provides the following attributes for output voltage:
|
||||
|
||||
**in2_input**
|
||||
|
||||
**in2_label**
|
||||
|
||||
**in2_rated_max**
|
||||
|
||||
**in2_rated_min**
|
||||
|
||||
**in2_alarm**
|
||||
|
||||
The driver provides the following attributes for output current:
|
||||
|
||||
**curr1_input**
|
||||
|
||||
**curr1_label**
|
||||
|
||||
**curr1_crit**
|
||||
|
||||
**curr1_alarm**
|
||||
|
||||
**curr1_rated_max**
|
||||
|
||||
The driver provides the following attributes for input power:
|
||||
|
||||
**power1_input**
|
||||
|
||||
**power1_label**
|
||||
|
||||
**power1_max**
|
||||
|
||||
**power1_rated_max**
|
||||
|
||||
The driver provides the following attributes for temperature:
|
||||
|
||||
**temp1_input**
|
||||
|
||||
**temp1_max**
|
||||
|
||||
**temp1_crit**
|
||||
|
||||
**temp1_alarm**
|
||||
@@ -0,0 +1,92 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Kernel driver mp9941
|
||||
====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* MPS mp9941
|
||||
|
||||
Prefix: 'mp9941'
|
||||
|
||||
* Datasheet
|
||||
https://scnbwymvp-my.sharepoint.com/:f:/g/personal/admin_scnbwy_com/Eth4kX1_J1hMsaASHiOYL4QBHU5a75r-tRfLKbHnJFdKLQ?e=vxj3DF
|
||||
|
||||
Author:
|
||||
|
||||
Noah Wang <noahwang.wang@outlook.com>
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
This driver implements support for Monolithic Power Systems, Inc. (MPS)
|
||||
MP9941 digital step-down converter.
|
||||
|
||||
Device compliant with:
|
||||
|
||||
- PMBus rev 1.3 interface.
|
||||
|
||||
The driver exports the following attributes via the 'sysfs' files
|
||||
for input voltage:
|
||||
|
||||
**in1_input**
|
||||
|
||||
**in1_label**
|
||||
|
||||
**in1_crit**
|
||||
|
||||
**in1_crit_alarm**
|
||||
|
||||
The driver provides the following attributes for output voltage:
|
||||
|
||||
**in2_input**
|
||||
|
||||
**in2_label**
|
||||
|
||||
**in2_lcrit**
|
||||
|
||||
**in2_lcrit_alarm**
|
||||
|
||||
**in2_rated_max**
|
||||
|
||||
**in2_rated_min**
|
||||
|
||||
The driver provides the following attributes for input current:
|
||||
|
||||
**curr1_input**
|
||||
|
||||
**curr1_label**
|
||||
|
||||
**curr1_max**
|
||||
|
||||
**curr1_max_alarm**
|
||||
|
||||
The driver provides the following attributes for output current:
|
||||
|
||||
**curr2_input**
|
||||
|
||||
**curr2_label**
|
||||
|
||||
The driver provides the following attributes for input power:
|
||||
|
||||
**power1_input**
|
||||
|
||||
**power1_label**
|
||||
|
||||
The driver provides the following attributes for output power:
|
||||
|
||||
**power2_input**
|
||||
|
||||
**power2_label**
|
||||
|
||||
The driver provides the following attributes for temperature:
|
||||
|
||||
**temp1_input**
|
||||
|
||||
**temp1_crit**
|
||||
|
||||
**temp1_crit_alarm**
|
||||
|
||||
**temp1_max**
|
||||
|
||||
**temp1_max_alarm**
|
||||
@@ -0,0 +1,63 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
Kernel driver spd5118
|
||||
=====================
|
||||
|
||||
Supported chips:
|
||||
|
||||
* SPD5118 (JEDEC JESD300) compliant temperature sensor chips
|
||||
|
||||
JEDEC standard download:
|
||||
https://www.jedec.org/standards-documents/docs/jesd300-5b01
|
||||
(account required)
|
||||
|
||||
|
||||
Prefix: 'spd5118'
|
||||
|
||||
Addresses scanned: I2C 0x50 - 0x57
|
||||
|
||||
Author:
|
||||
Guenter Roeck <linux@roeck-us.net>
|
||||
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
This driver implements support for SPD5118 (JEDEC JESD300) compliant temperature
|
||||
sensors, which are used on many DDR5 memory modules. Some systems use the sensor
|
||||
to prevent memory overheating by automatically throttling the memory controller.
|
||||
|
||||
The driver auto-detects SPD5118 compliant chips, but can also be instantiated
|
||||
using devicetree/firmware nodes.
|
||||
|
||||
A SPD5118 compliant chip supports a single temperature sensor. Critical minimum,
|
||||
minimum, maximum, and critical temperature can be configured. There are alarms
|
||||
for low critical, low, high, and critical thresholds.
|
||||
|
||||
|
||||
Hardware monitoring sysfs entries
|
||||
---------------------------------
|
||||
|
||||
======================= ==================================
|
||||
temp1_input Temperature (RO)
|
||||
temp1_lcrit Low critical high temperature (RW)
|
||||
temp1_min Minimum temperature (RW)
|
||||
temp1_max Maximum temperature (RW)
|
||||
temp1_crit Critical high temperature (RW)
|
||||
|
||||
temp1_lcrit_alarm Temperature low critical alarm
|
||||
temp1_min_alarm Temperature low alarm
|
||||
temp1_max_alarm Temperature high alarm
|
||||
temp1_crit_alarm Temperature critical alarm
|
||||
======================= ==================================
|
||||
|
||||
Alarm attributes are sticky until read and will be cleared afterwards
|
||||
unless the alarm condition still applies.
|
||||
|
||||
|
||||
SPD (Serial Presence Detect) support
|
||||
------------------------------------
|
||||
|
||||
The driver also supports reading the SPD NVRAM on SPD5118 compatible chips.
|
||||
SPD data is available from the 'eeprom' binary attribute file attached to the
|
||||
chip's I2C device.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user