.. 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.
