* [ee1004] Failed to select page 0 - G.Skill Trident Z5 NEO DDR5, ASUS X670E board - 6.2.11-arch1-1
@ 2023-04-20 22:51 Jean-François Roy
2023-04-21 4:35 ` Wolfram Sang
0 siblings, 1 reply; 5+ messages in thread
From: Jean-François Roy @ 2023-04-20 22:51 UTC (permalink / raw)
To: linux-i2c
Hello,
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:
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)
I tried looking for a SPD write enable/disable option in the system
firmware but didn't see any (I am trying to confirm if that feature
exists or not).
All this on 6.2.11-arch1-1.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ee1004] Failed to select page 0 - G.Skill Trident Z5 NEO DDR5, ASUS X670E board - 6.2.11-arch1-1
2023-04-20 22:51 [ee1004] Failed to select page 0 - G.Skill Trident Z5 NEO DDR5, ASUS X670E board - 6.2.11-arch1-1 Jean-François Roy
@ 2023-04-21 4:35 ` Wolfram Sang
2023-04-29 15:15 ` Jean Delvare
0 siblings, 1 reply; 5+ messages in thread
From: Wolfram Sang @ 2023-04-21 4:35 UTC (permalink / raw)
To: Jean-François Roy, Jean Delvare; +Cc: linux-i2c
[-- Attachment #1: Type: text/plain, Size: 2246 bytes --]
CCing Jean Delvare...
On Thu, Apr 20, 2023 at 03:51:38PM -0700, Jean-François Roy wrote:
> Hello,
>
> 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:
>
> 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)
>
> I tried looking for a SPD write enable/disable option in the system
> firmware but didn't see any (I am trying to confirm if that feature
> exists or not).
>
> All this on 6.2.11-arch1-1.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ee1004] Failed to select page 0 - G.Skill Trident Z5 NEO DDR5, ASUS X670E board - 6.2.11-arch1-1
2023-04-21 4:35 ` Wolfram Sang
@ 2023-04-29 15:15 ` Jean Delvare
2023-04-29 16:06 ` Jean Delvare
0 siblings, 1 reply; 5+ messages in thread
From: Jean Delvare @ 2023-04-29 15:15 UTC (permalink / raw)
To: Jean-François Roy; +Cc: Wolfram Sang, linux-i2c
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ee1004] Failed to select page 0 - G.Skill Trident Z5 NEO DDR5, ASUS X670E board - 6.2.11-arch1-1
2023-04-29 15:15 ` Jean Delvare
@ 2023-04-29 16:06 ` Jean Delvare
2023-05-01 16:42 ` Jean-François Roy
0 siblings, 1 reply; 5+ messages in thread
From: Jean Delvare @ 2023-04-29 16:06 UTC (permalink / raw)
To: Jean-François Roy; +Cc: Wolfram Sang, linux-i2c
On Sat, 29 Apr 2023 17:15:22 +0200, Jean Delvare wrote:
> 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.
Found it, it is named "SPD5118 Hub and Serial Presence Detect Device
Standard" and is published by Jedec under reference JESD300-5B. That's
a 126-page document. In comparison, the EE1004 specification was
35-page long.
So I expect there will be a lot of work to get it to work. And I don't
own a DDR5-based system yet, so I can't even test.
--
Jean Delvare
SUSE L3 Support
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [ee1004] Failed to select page 0 - G.Skill Trident Z5 NEO DDR5, ASUS X670E board - 6.2.11-arch1-1
2023-04-29 16:06 ` Jean Delvare
@ 2023-05-01 16:42 ` Jean-François Roy
0 siblings, 0 replies; 5+ messages in thread
From: Jean-François Roy @ 2023-05-01 16:42 UTC (permalink / raw)
To: Jean Delvare; +Cc: Wolfram Sang, linux-i2c
Thank you for the research. I was under the impression decode-dimms
supported DDR5 already. but I really misread the patch. It's only
adding support for listing DDR5 as the memory type, and nothing else.
I may look into getting this done. Strictly as a hobby with limited
time.
On Sat, Apr 29, 2023 at 9:06 AM Jean Delvare <jdelvare@suse.de> wrote:
>
> On Sat, 29 Apr 2023 17:15:22 +0200, Jean Delvare wrote:
> > 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.
>
> Found it, it is named "SPD5118 Hub and Serial Presence Detect Device
> Standard" and is published by Jedec under reference JESD300-5B. That's
> a 126-page document. In comparison, the EE1004 specification was
> 35-page long.
>
> So I expect there will be a lot of work to get it to work. And I don't
> own a DDR5-based system yet, so I can't even test.
>
> --
> Jean Delvare
> SUSE L3 Support
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-05-01 16:43 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-20 22:51 [ee1004] Failed to select page 0 - G.Skill Trident Z5 NEO DDR5, ASUS X670E board - 6.2.11-arch1-1 Jean-François Roy
2023-04-21 4:35 ` Wolfram Sang
2023-04-29 15:15 ` Jean Delvare
2023-04-29 16:06 ` Jean Delvare
2023-05-01 16:42 ` Jean-François Roy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox