Commit 09262e98 authored by Guenter Roeck's avatar Guenter Roeck

hwmon: Add support for SPD5118 compliant temperature sensors

Add support for SPD5118 (Jedec JESD300) compliant temperature
sensors. Such sensors are typically found on DDR5 memory modules.

Cc: René Rebe <rene@exactcode.de>
Cc: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Tested-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Tested-by: default avatarStephen Horvath <s.horvath@outlook.com.au>
Tested-by: default avatarArmin Wolf <W_Armin@gmx.de>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent f3edbbd7
...@@ -215,6 +215,7 @@ Hardware Monitoring Kernel Drivers ...@@ -215,6 +215,7 @@ Hardware Monitoring Kernel Drivers
smsc47m192 smsc47m192
smsc47m1 smsc47m1
sparx5-temp sparx5-temp
spd5118
stpddc60 stpddc60
surface_fan surface_fan
sy7636a-hwmon sy7636a-hwmon
......
.. 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.
...@@ -2181,6 +2181,18 @@ config SENSORS_INA3221 ...@@ -2181,6 +2181,18 @@ config SENSORS_INA3221
This driver can also be built as a module. If so, the module This driver can also be built as a module. If so, the module
will be called ina3221. will be called ina3221.
config SENSORS_SPD5118
tristate "SPD5118 Compliant Temperature Sensors"
depends on I2C
select REGMAP_I2C
help
If you say yes here you get support for SPD5118 (JEDEC JESD300)
compliant temperature sensors. Such sensors are found on DDR5 memory
modules.
This driver can also be built as a module. If so, the module
will be called spd5118.
config SENSORS_TC74 config SENSORS_TC74
tristate "Microchip TC74" tristate "Microchip TC74"
depends on I2C depends on I2C
......
...@@ -207,6 +207,7 @@ obj-$(CONFIG_SENSORS_SMSC47B397)+= smsc47b397.o ...@@ -207,6 +207,7 @@ obj-$(CONFIG_SENSORS_SMSC47B397)+= smsc47b397.o
obj-$(CONFIG_SENSORS_SMSC47M1) += smsc47m1.o obj-$(CONFIG_SENSORS_SMSC47M1) += smsc47m1.o
obj-$(CONFIG_SENSORS_SMSC47M192)+= smsc47m192.o obj-$(CONFIG_SENSORS_SMSC47M192)+= smsc47m192.o
obj-$(CONFIG_SENSORS_SPARX5) += sparx5-temp.o obj-$(CONFIG_SENSORS_SPARX5) += sparx5-temp.o
obj-$(CONFIG_SENSORS_SPD5118) += spd5118.o
obj-$(CONFIG_SENSORS_STTS751) += stts751.o obj-$(CONFIG_SENSORS_STTS751) += stts751.o
obj-$(CONFIG_SENSORS_SURFACE_FAN)+= surface_fan.o obj-$(CONFIG_SENSORS_SURFACE_FAN)+= surface_fan.o
obj-$(CONFIG_SENSORS_SY7636A) += sy7636a-hwmon.o obj-$(CONFIG_SENSORS_SY7636A) += sy7636a-hwmon.o
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment