We have a custom board with the imx8mp CPU and a "K4FBE3D4HM" RAM.
Bootloader gets stuck during RAM-training.
U-Boot SPL 2022.04-00005-g8812d8f3da-dirty (May 09 2023 - 15:16:40 +0200)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3200 MTS
DRAM PHY training for 3200MTS
I traced it back to this function inside "drivers/ddr/imx/phy/ddrphy_utils.c"
static inline void poll_pmu_message_ready(void)
{
unsinged int reg;
do {
reg = reg32_read(IP2APB_DDRPHY_IPS_BASE_ADDR(0) + ddrtphy_addr_remap(0xd0004));
} while (reg & 0x1);
}
I've implemented a workaround to break out of the do-while loop after some waiting. The training would then proceed and pass and everything seems to work.
This issue does not appear when I boot with USB serial boot.
The ddr-timings are generated by the mscale ddr tool. The stress test doesn't show any problems as well.
Did anyone have a similar issue or any idea how to approach this?
Best regards,
Marius