i.MX8MQ: Problem when starting cold on some systems

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX8MQ: Problem when starting cold on some systems

271 Views
christian_mauderer
Contributor III

Hello,

we use the MCIMX8MQ5DV together with a Samsung K4F8E3S4HB RAM in one of our systems. That combination worked well for some years and thousands of boards. But recently we start to have an increased failure rate in our production (about 1% fails with this specific failure). After quite some analysis I found out that U-Boot SPL has problems initializing the LPDDR4 RAM.

The problem only occurs while the system is cold. If it starts to get warm, the RAM initialization works fine. That's where it starts to get interesting: If I do the following sequence, the board starts fine:

  • Let the board warm up (to about 30 or 40 degree Celsius)
  • Start U-Boot SPL and let it (successfully because it's warm) initialize the SDRAM
  • Go into normal U-Boot shell
  • Cool the system down with ice spray (< 0 degree Celsius)
  • Hold the Reset button of the board (system reset)
  • Make sure it's still cold with some more ice spray
  • -> Result: U-Boot SPL starts without problems multiple times with a temperature that didn't work earlier

This is repeatable. It works also the other way round:

  • I start the board from this situation
  • go into U-Boot shell
  • warm up the board some more
  • hold the reset button
  • cool the system down
  • release the reset button
  • -> Result: System now doesn't boot anymore. The RAM initialization fails again till the system is warm.

It seems like some temperature dependent setting is made and isn't reset during a system reset but is necessary to train the RAM successfully. U-Boot is single-threaded and shouldn't do anything while in the U-Boot shell. So it most likely is some automatic mechanism in the RAM controller.

I haven't found any RAM-related registers in the i.MX yet, that would not be reset during a system reset. But it's hard to tell because the Synopsis RAM controller is missing quite some documentation. Any ideas what could cause such an effect?

Best regards

Christian Mauderer

Labels (1)
0 Kudos
0 Replies