我们有一个带有 imx8mp CPU 和“K4FBE3D4HM”RAM 的定制板。
引导加载程序在 RAM 训练期间卡住。
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我将其追溯到“drivers/ddr/imx/phy/ddrphy_u
tils.c”中的这个函数
static inline void poll_pmu_message_ready(void)
{
unsinged int reg;
做 {
reg = reg32_read(IP2APB_DDRPHY_IPS_BASE_ADDR(0) + ddrtphy_addr_remap(0xd0004));
} while (reg & 0x1);
}我已经实施了一种解决方法,可以在等待一段时间后跳出 do-while 循环。然后培训将继续并通过,一切似乎都有效。
当我使用 USB 串行启动时,不会出现此问题。
ddr-timings 由 mscale ddr 工具生成。压力测试也没有显示任何问题。
有没有人有类似的问题或知道如何解决这个问题?