Embedded Intel Atom® Processors
Technological Conversations about Intel Atom® Hardware, Software, Firmware, Graphics

CommandClockTraining fails

jamesadupre
Novice
1,055 Views

Hi,

 

I have a custom board design that uses the C3958. During boot time, it consistently fails the "CommandClockTraining" algorithm of the memory initialization. Can someone please explain what this algorithm is doing and why it is failing? The output of the UART is below. I'm not looking for a root cause diagnosis, I'd just like to understand what this algorithm is doing and why it might not pass. For example, is this algorithm sweeping the clock output from minimum phase delay to maximum phase delays while sampling the command signals on each clock edge to determine the phase delay which produces the optimal eye?

 

Regards,
James

 

START_CommandClockTraining
Setting CMD GRP = 340 at 3N
Setting CMD GRP = 340 at 3N
Setting CMD GRP = 324 at 3N
Setting CMD GRP = 308 at 3N
Setting CMD GRP = 292 at 3N
Setting CMD GRP = 276 at 3N
Setting CMD GRP = 260 at 3N
Setting CMD GRP = 244 at 3N
Setting CMD GRP = 228 at 3N
Setting CMD GRP = 212 at 3N
Setting CMD GRP = 196 at 3N
Setting CMD GRP = 180 at 3N
Setting CMD GRP = 356 at 3N
Setting CMD GRP = 372 at 3N
Setting CMD GRP = 388 at 3N
Setting CMD GRP = 404 at 3N
Setting CMD GRP = 420 at 3N
Setting CMD GRP = 436 at 3N
Setting CMD GRP = 452 at 3N
Setting CMD GRP = 468 at 3N
Setting CMD GRP = 340 at 3N
**ReInitialize
Setting CMD GRP = 484 at 3N
Setting CMD GRP = 340 at 3N
**ReInitialize
Setting CMD GRP = 500 at 3N
Setting CMD GRP = 340 at 3N
**ReInitialize
Setting CMD GRP = 316 at 3N
**Result L: -160 H:112 New Value = 316
Setting CMD GRP = 316 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 300 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 284 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 268 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 252 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 236 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 220 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 204 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 188 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 172 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 156 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 332 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 348 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 364 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 380 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 396 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 412 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 428 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 444 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 460 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 476 at 1N
Setting CMD GRP = 316 at 3N
**ReInitialize
Margin not found at 1N
Not Found any Margin at 1N. Trying 2N
Setting CMD GRP = 316 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 300 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 284 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 268 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 252 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 236 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 220 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 204 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 188 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 172 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 156 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 332 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 348 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 364 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 380 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 396 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 412 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 428 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 444 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 460 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Setting CMD GRP = 476 at 2N
Setting CMD GRP = 316 at 3N
**ReInitialize
Margin not found at 2N
elapsedTime: 2701886(us)

 

0 Kudos
4 Replies
CarlosAM_INTEL
Moderator
1,032 Views

Hello, @jamesadupre:

Thank you for contacting Intel Embedded Community.

We sent an email to the address associated with this account with information that may help.

Best regards,

@CarlosAM_INTEL

 

0 Kudos
CarlosAM_INTEL
Moderator
1,012 Views

Hello, @jamesadupre:

Thanks for your reply.

Based on your previous communication, could you please clarify if the reported situation is related to BIOS or Coreboot?

We are waiting for your answer.

Best regards,

@CarlosAM_INTEL.

0 Kudos
jamesadupre
Novice
995 Views

It is with the BIOS. The file I programmed into the SPI Flash (which is the boot source) is HVLRCRB.86B.WR.64.2021.17.4.01.1422.HCV16D37.bin and the BIOS ID is HAVLCRB1.X64.0016.D37.2104221422. For reference, I have attached a log file with the output of UART0 from the start of boot to the end when it fails the CommandClockTraining algorith.

0 Kudos
CarlosAM_INTEL
Moderator
945 Views

Hello, @jamesadupre:

Thanks for your replies.

We sent another email to the address associated with this account with information that may help.

Best regards,

@CarlosAM_INTEL

0 Kudos
Reply