Dear Guenter,
Thank you so much for taking this on.
Am 04.06.24 um 06:02 schrieb Guenter Roeck:
Detect DDR5 memory and instantiate the SPD5118 driver automatically.
Suggested-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx>
Cc: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
---
v5: New patch
drivers/i2c/i2c-smbus.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/i2c/i2c-smbus.c b/drivers/i2c/i2c-smbus.c
index 97f338b123b1..8a0dab835761 100644
--- a/drivers/i2c/i2c-smbus.c
+++ b/drivers/i2c/i2c-smbus.c
@@ -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",
Testing this on top of 6.10-rc2+ on a Supermicro X13SAE, Linux logs:
$ dmesg | grep -e "DMI:" -e "Linux version" -e i2c-0
[ 0.000000] Linux version
6.10.0-rc2.mx64.461-00036-g151dfab265df
(pmenzel@xxxxxxxxxxxxxxxxxxxxxxxxxx) (gcc (GCC) 12.3.0, GNU ld (GNU
Binutils) 2.41) #74 SMP PREEMPT_DYNAMIC Wed Jun 5 08:24:59 CEST 2024
[ 0.000000] DMI: Supermicro Super Server/X13SAE, BIOS 2.0 10/17/2022
[ 0.000000] DMI: Memory slots populated: 4/4
[ 5.434488] i2c i2c-0: Successfully instantiated SPD at 0x50
[ 5.443848] i2c i2c-0: Successfully instantiated SPD at 0x51
[ 5.450033] i2c i2c-0: Successfully instantiated SPD at 0x52
[ 5.459378] i2c i2c-0: Successfully instantiated SPD at 0x53
Then with `sudo modprobe at24` and `sudo modprobe ee1004`,
`decode-dimms` shows:
$ sudo ./eeprom/decode-dimms
# decode-dimms version 4.3
Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others
Number of SDRAM DIMMs detected and decoded: 0
This might be expected, and `decode-dimms` also needs to be updated.
Kind regards and thank you again for these patches,
Paul