From: Guenter Roeck Date: Sat, 1 Jun 2024 13:44:47 +0000 (-0700) Subject: i2c: smbus: Support DDR5 and LPDDR5 SPD EEPROMs X-Git-Tag: v6.11-rc1~212^2~52 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=84d477354b0a3c3a2cd154cd2cd4d7fd6188f9f2;p=thirdparty%2Flinux.git i2c: smbus: Support DDR5 and LPDDR5 SPD EEPROMs Detect (LP)DDR5 memory and instantiate the SPD5118 driver automatically. Suggested-by: Thomas Weißschuh Cc: Wolfram Sang Acked-by: Wolfram Sang Reviewed-by: Armin Wolf Reviewed-by: Thomas Weißschuh Signed-off-by: Guenter Roeck --- diff --git a/drivers/i2c/i2c-smbus.c b/drivers/i2c/i2c-smbus.c index 97f338b123b11..f809f0ef20044 100644 --- a/drivers/i2c/i2c-smbus.c +++ b/drivers/i2c/i2c-smbus.c @@ -308,7 +308,7 @@ EXPORT_SYMBOL_GPL(i2c_free_slave_host_notify_device); * target systems are the same. * Restrictions to automatic SPD instantiation: * - Only works if all filled slots have the same memory type - * - Only works for DDR, DDR2, DDR3 and DDR4 for now + * - Only works for (LP)DDR memory types up to DDR5 * - Only works on systems with 1 to 8 memory slots */ #if IS_ENABLED(CONFIG_DMI) @@ -382,6 +382,10 @@ void i2c_register_spd(struct i2c_adapter *adap) case 0x1E: /* LPDDR4 */ name = "ee1004"; break; + case 0x22: /* DDR5 */ + case 0x23: /* LPDDR5 */ + name = "spd5118"; + break; default: dev_info(&adap->dev, "Memory type 0x%02x not supported yet, not instantiating SPD\n",