Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DDR training fails on ARMADA 8040 / MACCHIATObin with KVR24E17D8/16 #11

Open
skodde opened this issue Nov 3, 2018 · 9 comments
Open

Comments

@skodde
Copy link

skodde commented Nov 3, 2018

Hi,

I'm using a KVR24E17D8/16 module (https://www.kingston.com/datasheets/KVR24E17D8_16.pdf) on a MACCHIATObin board and with the latest mv-ddr-marvell (armada-18.09.2) I get this error:

DRAM initialization Failed (res 0x1) / DDR4 Training Sequence - FAILED

Full log:

BootROM - 2.03
Starting CP-1 IOROM 1.07
Booting from SPI NOR flash 1 (0x32)
Found valid image at boot postion 0x000
lNOTICE:  Starting binary extension
NOTICE:  SVC: SW Revision 0x0. SVC is not supported
mv_ddr: mv_ddr-armada-18.09.2-g99d7725 (Nov 02 2018 - 16:40:46)
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
rc, tap tune failed inside calibration
mv_ddr4_receiver_calibrate failure
Title: I/F# , Tj, Calibration_n0, Calibration_p0, Calibration_n1, Calibration_p1, Calibration_n2, Calibration_p2,CS0 , 
DminTx, AreaTx, DminRx, AreaRx, WL_tot, WL_ADLL, WL_PH, RL_Tot, RL_ADLL, RL_PH, RL_Smp, CenTx, CenRx, Vref, DQVref,DC-Pad0,DC-Pad1,DC-Pad2,DC-Pad3,DC-Pad4,DC-Pad5,DC-Pad6,DC-Pad7,DC-Pad8,DC-Pad9,DC-Pad10,		PBSTx-Pad0,PBSTx-Pad1,PBSTx-Pad2,PBSTx-Pad3,PBSTx-Pad4,PBSTx-Pad5,PBSTx-Pad6,PBSTx-Pad7,PBSTx-Pad8,PBSTx-Pad9,PBSTx-Pad10,		PBSRx-Pad0,PBSRx-Pad1,PBSRx-Pad2,PBSRx-Pad3,PBSRx-Pad4,PBSRx-Pad5,PBSRx-Pad6,PBSRx-Pad7,PBSRx-Pad8,PBSRx-Pad9,PBSRx-Pad10,CS1 , 
DminTx, AreaTx, DminRx, AreaRx, WL_tot, WL_ADLL, WL_PH, RL_Tot, RL_ADLL, RL_PH, RL_Smp, CenTx, CenRx, Vref, DQVref,DC-Pad0,DC-Pad1,DC-Pad2,DC-Pad3,DC-Pad4,DC-Pad5,DC-Pad6,DC-Pad7,DC-Pad8,DC-Pad9,DC-Pad10,		PBSTx-Pad0,PBSTx-Pad1,PBSTx-Pad2,PBSTx-Pad3,PBSTx-Pad4,PBSTx-Pad5,PBSTx-Pad6,PBSTx-Pad7,PBSTx-Pad8,PBSTx-Pad9,PBSTx-Pad10,		PBSRx-Pad0,PBSRx-Pad1,PBSRx-Pad2,PBSRx-Pad3,PBSRx-Pad4,PBSRx-Pad5,PBSRx-Pad6,PBSRx-Pad7,PBSRx-Pad8,PBSRx-Pad9,PBSRx-Pad10,
Data: 0,0,12,7,6,17,20,20,CS0 , 
64,1002,50,1563,28,28,0,1328,16,3,19,57,6,5,0,		31,31,31,31,31,31,31,31,31,31,31,		0,5,7,6,31,31,2,8,5,8,10,		10,14,14,10,0,0,12,14,13,15,17,
64,1401,34,1275,47,15,1,1339,27,3,19,41,4,5,0,		33,33,33,33,33,33,33,33,33,33,33,		9,8,7,18,28,28,13,7,14,12,9,		11,10,10,10,0,0,13,10,12,13,11,
72,1599,26,1161,64,0,2,1350,6,4,19,31,4,5,0,		32,32,32,32,32,32,32,32,32,32,32,		5,0,6,16,30,30,2,9,4,7,3,		12,10,13,10,0,0,10,15,12,15,13,
68,1737,24,1086,79,15,2,1360,16,4,19,48,4,5,0,		27,27,27,27,27,27,27,27,27,27,27,		7,0,1,0,30,30,7,7,2,7,4,		15,10,12,10,0,0,13,15,12,15,13,
80,1932,26,828,123,27,3,1395,19,5,19,55,3,5,0,		22,22,22,22,22,22,22,22,22,22,22,		14,13,9,21,30,30,8,13,8,10,7,		12,12,11,10,0,0,10,12,11,12,10,
36,1176,50,1554,135,7,4,1414,6,6,19,38,5,5,0,		32,32,32,32,32,32,32,32,32,32,32,		10,7,2,3,31,31,3,7,5,0,1,		12,12,10,10,0,0,10,12,12,10,11,
50,1245,36,1500,141,13,4,1433,25,6,19,45,5,5,0,		31,31,31,31,31,31,31,31,31,31,31,		6,1,1,0,28,28,7,7,5,0,0,		15,12,11,10,0,0,15,15,15,10,11,
48,1320,50,1728,150,22,4,1443,3,7,19,54,6,5,0,		32,32,32,32,32,32,32,32,32,32,32,		7,4,7,0,31,31,5,1,6,0,4,		15,12,15,10,0,0,11,12,15,10,13,
64,1503,36,1470,92,28,2,1369,25,4,19,60,4,5,0,		30,30,30,30,30,30,30,30,30,30,30,		5,0,5,8,31,31,2,5,1,6,2,		11,10,11,10,0,0,10,12,11,12,11,CS1 , 
36,0,50,0,49,17,1,1324,12,3,19,25,1,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
50,0,36,0,2,2,0,1332,20,3,19,10,1,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
48,0,50,0,21,21,0,1348,4,4,19,29,1,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
64,0,36,0,37,5,1,1361,17,4,19,13,1,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
0,0,0,0,16,16,0,1401,25,5,19,24,1,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
0,0,0,0,27,27,0,1410,2,6,19,35,1,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
0,0,0,0,35,3,1,1426,18,6,19,11,1,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
0,0,0,0,43,11,1,1447,7,7,19,19,1,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
0,0,0,0,51,19,1,1369,25,4,19,27,1,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
********   DRAM initialization Failed (res 0x1)   ********
DDR4 Training Sequence - FAILED
NOTICE:  Cold boot
Error: image checksum verification failed

The module works fine (tested on another machine) and it fails also with earlier versions.

Thanks!

@haklai
Copy link
Contributor

haklai commented Nov 4, 2018

Hi,

Can you please increase log level and send the output so we could help debug?

At \atf\plat\marvell\a8k\a80x0\board\dram_port.c
Change the following:

/*

  • This struct provides the DRAM training code with
  • the appropriate board DRAM configuration
    /
    static struct mv_ddr_topology_map board_topology_map = {
    /
    MISL board with 1CS 8Gb x4 devices of Micron 2400T */
    DEBUG_LEVEL_TRACE,//DEBUG_LEVEL_ERROR,

Also, can you please provide complete successful u-boot bootlog with functional DIMM?

@skodde
Copy link
Author

skodde commented Nov 4, 2018

Hi,

U-Boot log with DEBUG_LEVEL_TRACE and KVR24E17D8/16 module:

BootROM - 2.03
Starting CP-0 IOROM 1.07
Booting from SD 0 (0x29)
Found valid image at boot postion 0x000
lNOTICE:  Starting binary extension
NOTICE:  SVC: SW Revision 0x0. SVC is not supported
mv_ddr: mv_ddr-armada-18.09.2-g99d7725-dirty (Nov 04 2018 - 13:54:53)
rc, tap tune failed inside calibration
mv_ddr4_receiver_calibration: no valid window found for cs 1, subphy 0
mv_ddr4_receiver_calibrate failure
Title: I/F# , Tj, Calibration_n0, Calibration_p0, Calibration_n1, Calibration_p1, Calibration_n2, Calibration_p2,CS0 , 
DminTx, AreaTx, DminRx, AreaRx, WL_tot, WL_ADLL, WL_PH, RL_Tot, RL_ADLL, RL_PH, RL_Smp, CenTx, CenRx, Vref, DQVref,DC-Pad0,DC-Pad1,DC-Pad2,DC-Pad3,DC-Pad4,DC-Pad5,DC-Pad6,DC-Pad7,DC-Pad8,DC-Pad9,DC-Pad10,		PBSTx-Pad0,PBSTx-Pad1,PBSTx-Pad2,PBSTx-Pad3,PBSTx-Pad4,PBSTx-Pad5,PBSTx-Pad6,PBSTx-Pad7,PBSTx-Pad8,PBSTx-Pad9,PBSTx-Pad10,		PBSRx-Pad0,PBSRx-Pad1,PBSRx-Pad2,PBSRx-Pad3,PBSRx-Pad4,PBSRx-Pad5,PBSRx-Pad6,PBSRx-Pad7,PBSRx-Pad8,PBSRx-Pad9,PBSRx-Pad10,CS1 , 
DminTx, AreaTx, DminRx, AreaRx, WL_tot, WL_ADLL, WL_PH, RL_Tot, RL_ADLL, RL_PH, RL_Smp, CenTx, CenRx, Vref, DQVref,DC-Pad0,DC-Pad1,DC-Pad2,DC-Pad3,DC-Pad4,DC-Pad5,DC-Pad6,DC-Pad7,DC-Pad8,DC-Pad9,DC-Pad10,		PBSTx-Pad0,PBSTx-Pad1,PBSTx-Pad2,PBSTx-Pad3,PBSTx-Pad4,PBSTx-Pad5,PBSTx-Pad6,PBSTx-Pad7,PBSTx-Pad8,PBSTx-Pad9,PBSTx-Pad10,		PBSRx-Pad0,PBSRx-Pad1,PBSRx-Pad2,PBSRx-Pad3,PBSRx-Pad4,PBSRx-Pad5,PBSRx-Pad6,PBSRx-Pad7,PBSRx-Pad8,PBSRx-Pad9,PBSRx-Pad10,
Data: 0,0,12,7,6,17,20,20,CS0 , 
64,1074,36,1578,28,28,0,1327,15,3,19,57,6,5,0,		31,31,31,31,31,31,31,31,31,31,31,		0,6,8,17,31,31,3,10,5,7,10,		10,15,14,10,0,0,12,15,13,15,16,
50,1407,36,1299,47,15,1,1338,26,3,19,46,4,5,0,		33,33,33,33,33,33,33,33,33,33,33,		2,1,0,14,28,28,7,2,6,5,2,		11,10,10,10,0,0,12,10,11,12,11,
82,1302,24,1200,63,31,1,1349,5,4,19,62,4,5,0,		30,30,30,30,30,30,30,30,30,30,30,		8,0,7,10,30,30,2,10,5,7,6,		13,10,14,10,0,0,10,15,12,15,13,
82,1803,16,900,78,14,2,1359,15,4,19,48,4,5,0,		23,23,23,23,23,23,23,23,23,23,23,		5,0,1,1,30,30,7,7,2,7,5,		13,10,11,10,0,0,13,13,11,14,12,
80,1977,26,894,122,26,3,1395,19,5,19,59,3,5,0,		23,23,23,23,23,23,23,23,23,23,23,		4,4,1,1,30,30,0,3,0,3,0,		12,12,11,10,0,0,10,12,11,12,10,
72,1215,36,1542,134,6,4,1416,8,6,19,32,5,5,0,		31,31,31,31,31,31,31,31,31,31,31,		18,14,9,22,31,31,10,13,12,6,7,		12,12,10,10,0,0,10,12,12,10,11,
50,1176,26,1431,141,13,4,1432,24,6,19,45,6,5,0,		31,31,31,31,31,31,31,31,31,31,31,		5,2,2,1,28,28,7,7,5,0,1,		12,12,11,10,0,0,13,13,13,10,10,
48,1380,50,1701,148,20,4,1444,4,7,19,52,7,5,0,		32,32,32,32,32,32,32,32,32,32,32,		5,1,6,0,31,31,2,0,4,0,2,		13,12,13,10,0,0,11,12,13,10,12,
80,1650,34,1443,92,28,2,1369,25,4,19,61,3,5,0,		30,30,30,30,30,30,30,30,30,30,30,		5,0,6,4,31,31,1,5,1,7,2,		12,10,12,10,0,0,10,13,11,14,12,CS1 , 
72,0,36,0,50,18,1,1325,13,3,19,26,7,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
50,0,26,0,2,2,0,1333,21,3,19,10,7,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
48,0,50,0,20,20,0,1350,6,4,19,28,7,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
80,0,34,0,36,4,1,1361,17,4,19,12,7,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
0,0,0,0,16,16,0,1402,26,5,19,24,7,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
0,0,0,0,27,27,0,1412,4,6,19,35,7,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
0,0,0,0,35,3,1,1428,20,6,19,11,7,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
0,0,0,0,44,12,1,1448,8,7,19,20,7,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
0,0,0,0,52,20,1,1369,25,4,19,28,7,5,0,		63,63,63,63,63,63,63,63,63,63,63,		0,0,0,0,0,0,0,0,0,0,0,		10,10,10,10,0,0,10,10,10,10,10,
********   DRAM initialization Failed (res 0x1)   ********
DDR4 Training Sequence - FAILED
NOTICE:  Cold boot
Error: image checksum verification failed

U-Boot log with DEBUG_LEVEL_TRACE and 4GB M378A5244CB0-CRC module:

BootROM - 2.03
Starting CP-0 IOROM 1.07
Booting from SD 0 (0x29)
Found valid image at boot postion 0x000
lNOTICE:  Starting binary extension
NOTICE:  SVC: SW Revision 0x0. SVC is not supported
mv_ddr: mv_ddr-armada-18.09.2-g99d7725-dirty (Nov 04 2018 - 13:54:53)
mv_ddr: completed successfully
NOTICE:  Cold boot
NOTICE:  Booting Trusted Firmware
NOTICE:  BL1: v1.5(release):711ecd32-dirty (Marvell-armada-18.09.4)
NOTICE:  BL1: Built : 13:55:00, Nov  4 2018
NOTICE:  BL1: Booting BL2
NOTICE:  BL2: v1.5(release):711ecd32-dirty (Marvell-armada-18.09.4)
NOTICE:  BL2: Built : 13:55:02, Nov  4 2018
BL2: Initiating SCP_BL2 transfer to SCP
NOTICE:  SCP_BL2 contains 2 concatenated images
NOTICE:  Load image to CP1 MSS AP0
NOTICE:  Loading MSS image from addr. 0x4023020 Size 0x135c to MSS at 0xf4280000
NOTICE:  Done
NOTICE:  Load image to AP0 MSS
NOTICE:  Loading MSS image from addr. 0x402437c Size 0x1f6c to MSS at 0xf0580000
N

FreeRTOS 7.3.0 - Marvell cm3 - A8K release armada-18.05.1

OTICE:  Done
NOTICE:  SCP Image doesn't contain PM firmware
NOTICE:  BL1: Booting BL31
lNOTICE:  MSS PM is not supported in this build
NOTICE:  BL31: v1.5(release):711ecd32-dirty (Marvell-armada-18.09.4)
NOTICE:  BL31: Built : 13:55:06, Nov  4 2018


U-Boot 2018.03-armada-18.09.1-g8fe403172c-dirty (Nov 04 2018 - 13:49:36 -0500)

Model: Marvell Armada 8040 MACCHIATOBin
SoC: Armada8040-A2; AP806-A1; 2xCP110-A2
Clock:  CPU     2000 [MHz]
	DDR     1200 [MHz]
	FABRIC  1200 [MHz]
	MSS     200  [MHz]
LLC Enabled (Exclusive Mode)
DRAM:  4 GiB
Comphy chip #0:
Comphy-0: PEX0         
Comphy-1: PEX0         
Comphy-2: PEX0         
Comphy-3: PEX0         
Comphy-4: SFI0          10.3125 Gbps
Comphy-5: SATA1        
Comphy chip #1:
Comphy-0: SGMII1        1.25 Gbps 
Comphy-1: SATA0        
Comphy-2: USB3_HOST0   
Comphy-3: SATA1        
Comphy-4: SFI0          10.3125 Gbps
Comphy-5: SGMII2        3.125 Gbps
UTMI PHY 0 initialized to USB Host0
SATA link 0 timeout.
SATA link 1 timeout.
AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
flags: 64bit ncq led only pmp fbss pio slum part sxs 
PCIE-0: Link up (Gen2-x2, Bus0)
MMC:   sdhci@6e0000: 0, sdhci@780000: 1
Loading Environment from SPI Flash... Bus spi@700680 CS0 configured for direct access 00000000f9000000:0x1000000
SF: Detected w25q32bv with page size 256 Bytes, erase size 4 KiB, total 4 MiB
OK
Model: Marvell Armada 8040 MACCHIATOBin
Net:   eth0: mvpp2-0 [PRIME], eth1: mvpp2-3, eth2: mvpp2-4, eth3: mvpp2-5
Hit any key to stop autoboot:  0 
Marvell>> 

Thanks!

@skodde
Copy link
Author

skodde commented Nov 15, 2018

Is there any additional information I can provide or patch I can test? Thanks!

@zhouqingwei
Copy link

Is this problem solved?

@MDr164
Copy link

MDr164 commented Sep 4, 2020

Apparently not. I'm also running into a very similar issue with the following DIMM: SK Hynix HMA82GU7AFR8N which is a 16GB ECC UDIMM 2Rx8 PC4-2400T. I compiled against the current devel branch (version 14.0.0).

Edit: Corrected branch.

@Nova-Robotics
Copy link

Can confirm. I just tried Kingston ValueRAM KVR24E17D8/16 and it fails. Tried every memory frequency. That's with the latest u-boot.

@pali
Copy link
Contributor

pali commented Sep 25, 2021

@kostapr @haklai Is there any progress on this issue? Or do you need some more logs?

@kostapr
Copy link

kostapr commented Sep 26, 2021

@pali , @skodde , let me understand the problem better. Was it working with the old SDK/DDR sources and failed to work with the updated code? Or this is a completely new DDR modules that were not supported in the past?

@lattwood
Copy link

@kostapr is there a master list of supported DDR4 modules that are supported?

I almost bought a stick of KVR24E17D8/16 and am glad I didn’t.

folks are likely looking for a 16GB stick with ECC support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants