mbox series

[v5,0/6] hwmon: Add support for SPD5118 compliant chips

Message ID 20240610144103.1970359-1-linux@roeck-us.net
Headers show
Series hwmon: Add support for SPD5118 compliant chips | expand

Message

Guenter Roeck June 10, 2024, 2:40 p.m. UTC
Add support for SPD5118 (Jedec JESD300) compliant chips supporting
a temperature sensor and SPD NVRAM. Such devices are typically found on
DDR5 memory modules.

The first patch of the series adds SPD5118 devicetree bindings. The second
patch adds support for SPD5118 temperature sensors. The third patch adds
support for suspend/resume. The 4th patch adds support for reading the
SPD NVRAM. The 5th patch adds support for auto-detecting SPD5118 compliant
chips to i2c_register_spd() in the i2c-smbus code. The last patch of the
series adds a configuration option to make the auto-detect code in the
spd5118 driver configurable.

Note: The driver introduced with this patch series does not currently
support accessing SPD5118 compliant chips in I3C mode.

v5: Added Tested-by: tags
    Cosmetic changes
    Added reference to LPDDR5 to subject and description of patch 5/6
    Updated comments associated with i2c_register_spd()
    to include support for (LP)DDR5
    Replaced #ifdef with IS_ENABLED() and included address_list in
    conditional code of patch 6/6

v4: Add support for detecting SPD5118 compliant chips in i2c-smbus driver
    Make auto-detect code in driver optional
    Fix suspend code
    Ignore failure to register with nvmem core if it is disabled
    Use NVMEM_DEVID_NONE instead of NVMEM_DEVID_AUTO in nvmem code,
    changing nvmem attribute directories from 0-005[0-7]X to 0-005[0-7]

v3: Drop explicit bindings document; add binding to trivial devices instead
    Add support for reading SPD NVRAM

v2: Drop PEC support; it only applies to I3C mode.
    Update documentation
    Add suspend/resume support 

----------------------------------------------------------------
Guenter Roeck (6):
      dt-bindings: trivial-devices: Add jedec,spd5118
      hwmon: Add support for SPD5118 compliant temperature sensors
      hwmon: (spd5118) Add suspend/resume support
      hwmon: (spd5118) Add support for reading SPD data
      i2c: smbus: Support DDR5 and LPDDR5 SPD EEPROMs
      hwmon: (spd5118) Add configuration option for auto-detection

 .../devicetree/bindings/trivial-devices.yaml       |   2 +
 Documentation/hwmon/index.rst                      |   1 +
 Documentation/hwmon/spd5118.rst                    |  63 ++
 drivers/hwmon/Kconfig                              |  31 +
 drivers/hwmon/Makefile                             |   1 +
 drivers/hwmon/spd5118.c                            | 658 +++++++++++++++++++++
 drivers/i2c/i2c-smbus.c                            |   6 +-
 7 files changed, 761 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/hwmon/spd5118.rst
 create mode 100644 drivers/hwmon/spd5118.c