Kernel driver spd5118

Supported chips:

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.