Hi Jean-François, On Fri, 21 Apr 2023 06:35:34 +0200, Wolfram Sang wrote: > On Thu, Apr 20, 2023 at 03:51:38PM -0700, Jean-François Roy wrote: > > On a ASUS X670E (AMD AM5 platform) board, I am unable to read the > > eeprom for my memory (through decode-dimms). The SMBus is driven by > > piix4_smbus. > > > > i2cdetect -l lists the following: > > > > i2c-0 i2c Synopsys DesignWare I2C adapter I2C adapter > > i2c-1 i2c NVIDIA i2c adapter 2 at 1:00.0 I2C adapter > > i2c-2 i2c NVIDIA i2c adapter 3 at 1:00.0 I2C adapter > > i2c-3 i2c NVIDIA i2c adapter 4 at 1:00.0 I2C adapter > > i2c-4 i2c NVIDIA i2c adapter 5 at 1:00.0 I2C adapter > > i2c-5 i2c NVIDIA i2c adapter 6 at 1:00.0 I2C adapter > > i2c-6 smbus SMBus PIIX4 adapter port 0 at 0b00 SMBus adapter > > i2c-7 smbus SMBus PIIX4 adapter port 2 at 0b00 SMBus adapter > > i2c-8 smbus SMBus PIIX4 adapter port 1 at 0b20 SMBus adapter > > > > Looking at i2c-6: > > > > i2cdetect -y 6 0x50 0x70 > > 0 1 2 3 4 5 6 7 8 9 a b c d e f > > 00: > > 10: > > 20: > > 30: > > 40: > > 50: -- 51 -- 53 -- -- -- -- -- -- -- -- -- -- -- -- > > 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- > > 70: -- > > > > I think those are the memory eeproms. If I bind them to ee1004 as so: They indeed most likely are. > > echo ee1004 0x51 >/sys/bus/i2c/devices/i2c-6/new_device > > echo ee1004 0x53 >/sys/bus/i2c/devices/i2c-6/new_device > > > > The kernel prints: > > > > [ 1642.373579] ee1004 6-0051: 512 byte EE1004-compliant SPD EEPROM, read-only > > [ 1642.373588] i2c i2c-6: new_device: Instantiated device ee1004 at 0x51 > > [ 1645.328289] ee1004 6-0053: 512 byte EE1004-compliant SPD EEPROM, read-only > > [ 1645.328299] i2c i2c-6: new_device: Instantiated device ee1004 at 0x53 > > > > But then when I use decode-dimms, the kernel is unable to select page 0: > > > > [ 1697.112564] ee1004 6-0051: Failed to select page 0 (-6) > > [ 1702.581605] ee1004 6-0051: Failed to select page 0 (-6) According to the technical documentation, the ASUS X670E uses DDR5 SDRAM. The EE1004 EEPROMs are the standard used on DDR4 SDRAM memory modules. I did not look into DDR5 SPD support yet, but your testing above suggests that DDR5 modules are using an EEPROM standard which is not compatible with EE1004. I took a quick look on jedec.org in search for information and found JESD400-5A which covers SPD contents for DDR5 and it enumerates 1024 bytes. This is twice as much as what EE1004 EEPROMs can hold, so DDR5 modules are definitely not using EE1004 EEPROMs. So far I couldn't find the "equivalent" of EE1004 for DDR5 modules so far. Anyway, note that there's currently no support for DDR5 in decode-dimms, so even after figuring out how to deal with DDR5 module SPD EEPROMs on the kernel side, we will also have to add full decoding support for DDR5 SPD fields to that script. The document weights 117 pages so it's a pretty serious amount of work. -- Jean Delvare SUSE L3 Support