On 4/16/19 5:59 PM, Jean Delvare wrote:
This is really hinting at a problem with the Z370 chipset, or this
mainboard specifically. But I did not find anything relevant in the
errata list published by Intel for this chipset.
Now I just remembered that my wife's system is based on an Intel Z370
chipset. So I tested the ee1004 driver again on it, and it works just
fine. It's an Asrock motherboard with Corsair CMK16GX4M2A2400C16 memory
in it. One key difference, maybe, is that the SPD protection bit is NOT
set.
I'm out of idea at this point. Either there is something messing with
I2C address 0x36 on the SMBus on your Asus motherboard, or there is a
bug in the implementation of the SPD protection on the Z370. Jarkko,
can you check with your engineering team if this has been tested or if
this is a known issue?
All I can suggest is waiting for more reports from other users and see
if there is a pattern.
I didn't contact yet HW folks but managed to check here with the same
chipset and DDR4 having ee1004 that decode-dimms appear to work fine.
Details below.
Then I have another set of DDR4 dimms that have either 24c02 and
temperature sensor or something else. i2cdetect detects devices at
0x50-0x51 and 0x35-0x36 (when no 24c02 or ee1004 loaded) and chips probe
fine as 24c02. decode-dimms don't find anything but "hexdump -C
/sys/bus/i2c/devices/i2c-0/0-0050/eeprom" dumps some data.
If I try to probe them as ee1004 they probe but hexdump over them fails
with "Failed to select page 1 (-6)".
-------------
DDR4 without ee1004 and using 24c02
# echo "24c02 0x50" >/sys/bus/i2c/devices/i2c-0/new_device
[ 162.175316][ T412] i2c i2c-0: new_device: Instantiated device 24c02
at 0x50
[ 162.188728][ T418] at24 0-0050: 256 byte 24c02 EEPROM, writable, 1
bytes/write
# echo "24c02 0x51" >/sys/bus/i2c/devices/i2c-0/new_device
[ 167.112140][ T412] at24 0-0051: 256 byte 24c02 EEPROM, writable, 1
bytes/write
[ 167.119614][ T412] i2c i2c-0: new_device: Instantiated device 24c02
at 0x51
# ./decode-dimms
# decode-dimms version $Revision$
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
-------------
DDR4 with ee1004
~# lspci -nn | grep SMBus
00:1f.4 SMBus [0c05]: Intel Corporation 200 Series/Z370 Chipset Family
SMBus Controller [8086:a2a3]
# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- 08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: 30 31 32 33 34 -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
50: 50 51 -- -- -- -- 56 -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 6e --
70: -- -- -- -- -- -- -- --
# echo ee1004 0x50 > /sys/bus/i2c/devices/i2c-0/new_device
[ 394.278283][ T390] ee1004 0-0050: 512 byte EE1004-compliant SPD
EEPROM, read-only
[ 394.286011][ T390] i2c i2c-0: new_device: Instantiated device ee1004
at 0x50
# echo ee1004 0x51 > /sys/bus/i2c/devices/i2c-0/new_device
[ 402.085416][ T390] ee1004 0-0051: 512 byte EE1004-compliant SPD
EEPROM, read-only
[ 402.093037][ T390] i2c i2c-0: new_device: Instantiated device ee1004
at 0x51
# i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- 08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: 30 31 32 33 34 -- UU UU -- -- -- -- -- -- -- --
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- --
50: UU UU -- -- -- -- 56 -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 6e --
70: -- -- -- -- -- -- -- --
# ./decode-dimms
# decode-dimms version $Revision$
Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others
Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/0-0050
Guessing DIMM is in bank 1
---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-125 OK (0x7174)
# of bytes written to SDRAM EEPROM 384
Total number of bytes in EEPROM 512
Fundamental Memory type DDR4 SDRAM
SPD Revision 1.1
Module Type UDIMM
EEPROM CRC of bytes 128-253 OK (0x1733)
---=== Memory Characteristics ===---
Maximum module speed 2400 MHz (PC4-19200)
Size 4096 MB
Banks x Rows x Columns x Bits 8 x 16 x 10 x 64
SDRAM Device Width 16 bits
Ranks 1
Primary Bus Width 64 bits
AA-RCD-RP-RAS (cycles) 17-17-17-39
Supported CAS Latencies 21T, 20T, 19T, 18T,
17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T
---=== Timings at Standard Speeds ===---
AA-RCD-RP-RAS (cycles) as DDR4-2400 17-17-17-39
AA-RCD-RP-RAS (cycles) as DDR4-2133 15-15-15-35
AA-RCD-RP-RAS (cycles) as DDR4-1866 13-13-13-30
AA-RCD-RP-RAS (cycles) as DDR4-1600 11-11-11-26
---=== Timing Parameters ===---
Minimum Cycle Time (tCKmin) 0.833 ns
Maximum Cycle Time (tCKmax) 1.600 ns
Minimum CAS Latency Time (tAA) 13.750 ns
Minimum RAS to CAS Delay (tRCD) 13.750 ns
Minimum Row Precharge Delay (tRP) 13.750 ns
Minimum Active to Precharge Delay (tRAS) 32.000 ns
Minimum Active to Auto-Refresh Delay (tRC) 45.750 ns
Minimum Recovery Delay (tRFC1) 350.000 ns
Minimum Recovery Delay (tRFC2) 260.000 ns
Minimum Recovery Delay (tRFC4) 160.000 ns
Minimum Four Activate Window Delay (tFAW) 30.000 ns
Minimum Row Active to Row Active Delay (tRRD_S) 5.300 ns
Minimum Row Active to Row Active Delay (tRRD_L) 6.400 ns
Minimum CAS to CAS Delay (tCCD_L) 5.000 ns
Minimum Write Recovery Time (tWR) 15.000 ns
Minimum Write to Read Time (tWTR_S) 2.500 ns
Minimum Write to Read Time (tWTR_L) 7.500 ns
---=== Other Information ===---
Package Type Monolithic
Maximum Activate Count Unlimited
Post Package Repair One row per bank group
Soft PPR Supported
Module Nominal Voltage 1.2 V
Thermal Sensor No
---=== Physical Characteristics ===---
Module Height 32 mm
Module Thickness 2 mm front, 1 mm back
Module Reference Card C revision 0
---=== Manufacturer Data ===---
Module Manufacturer Micron Technology
DRAM Manufacturer Micron Technology
Manufacturing Location Code 0x0F
Manufacturing Date 2016-W35
Assembly Serial Number 0x13C5C25F
Part Number 4ATF51264AZ-2G3B1
Revision Code 0x31
Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/0-0051
Guessing DIMM is in bank 2
---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-125 OK (0x7174)
# of bytes written to SDRAM EEPROM 384
Total number of bytes in EEPROM 512
Fundamental Memory type DDR4 SDRAM
SPD Revision 1.1
Module Type UDIMM
EEPROM CRC of bytes 128-253 OK (0x1733)
---=== Memory Characteristics ===---
Maximum module speed 2400 MHz (PC4-19200)
Size 4096 MB
Banks x Rows x Columns x Bits 8 x 16 x 10 x 64
SDRAM Device Width 16 bits
Ranks 1
Primary Bus Width 64 bits
AA-RCD-RP-RAS (cycles) 17-17-17-39
Supported CAS Latencies 21T, 20T, 19T, 18T,
17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T
---=== Timings at Standard Speeds ===---
AA-RCD-RP-RAS (cycles) as DDR4-2400 17-17-17-39
AA-RCD-RP-RAS (cycles) as DDR4-2133 15-15-15-35
AA-RCD-RP-RAS (cycles) as DDR4-1866 13-13-13-30
AA-RCD-RP-RAS (cycles) as DDR4-1600 11-11-11-26
---=== Timing Parameters ===---
Minimum Cycle Time (tCKmin) 0.833 ns
Maximum Cycle Time (tCKmax) 1.600 ns
Minimum CAS Latency Time (tAA) 13.750 ns
Minimum RAS to CAS Delay (tRCD) 13.750 ns
Minimum Row Precharge Delay (tRP) 13.750 ns
Minimum Active to Precharge Delay (tRAS) 32.000 ns
Minimum Active to Auto-Refresh Delay (tRC) 45.750 ns
Minimum Recovery Delay (tRFC1) 350.000 ns
Minimum Recovery Delay (tRFC2) 260.000 ns
Minimum Recovery Delay (tRFC4) 160.000 ns
Minimum Four Activate Window Delay (tFAW) 30.000 ns
Minimum Row Active to Row Active Delay (tRRD_S) 5.300 ns
Minimum Row Active to Row Active Delay (tRRD_L) 6.400 ns
Minimum CAS to CAS Delay (tCCD_L) 5.000 ns
Minimum Write Recovery Time (tWR) 15.000 ns
Minimum Write to Read Time (tWTR_S) 2.500 ns
Minimum Write to Read Time (tWTR_L) 7.500 ns
---=== Other Information ===---
Package Type Monolithic
Maximum Activate Count Unlimited
Post Package Repair One row per bank group
Soft PPR Supported
Module Nominal Voltage 1.2 V
Thermal Sensor No
---=== Physical Characteristics ===---
Module Height 32 mm
Module Thickness 2 mm front, 1 mm back
Module Reference Card C revision 0
---=== Manufacturer Data ===---
Module Manufacturer Micron Technology
DRAM Manufacturer Micron Technology
Manufacturing Location Code 0x0F
Manufacturing Date 2016-W35
Assembly Serial Number 0x13C5C264
Part Number 4ATF51264AZ-2G3B1
Revision Code 0x31
Number of SDRAM DIMMs detected and decoded: 2