我正在从 U-Boot 2015.07更新到2017.01、并且对时钟的设置方式进行了许多更改。 我电路板上的 CLK_M_OSC 是25MHz、在 U-boot 配置中进行了类似设置。 但是、当在 SPL 中设置 DDR DPLL 时、处理器挂起、指令无效。 查看 clock_am33xx.c 中的时钟设置、303MHz、400Hz 和266Mhz 有 DPLL_params。 我的板将以400MHz 运行、因此这是定义的表:
const 结构 DPLL_params DPLL_DDR3_400MHz[NUM_CRYSTRAL_FREQ]={
{125、5、1、-1、-1、 -1,-1},/*19.2*/
{50、2、1、-1、-1、 -1、-1}、/* 24 MHz */
{16、0、1、-1、4、 -1、-1}、/* 25 MHz */
{200、12、1、-1、4、 -1、-1}/* 26 MHz */
};
因此、对于25MHz CLK_M_OSC、它需要第三个元件、这是有道理的:
M = 16、n = 0 => m * 25 / n + 1 = 16 * 25 / 1 = 400MHz。 对吧?
但为什么设置 M4。 如果我错了、请纠正我的问题、但我没有看到 M4连接到 TRM 中的任何内容。 如果我返回2015.07 U-Boot、DLL 参数被描述为:
const 结构 DPLL_params DPLL_DDR_BON_BLACK ={400、OSC-1、1、-1、-1、 -1、-1};
这似乎更有意义。 尽管如此、如果我在新的 U-Boot 中将 M4从4更改为-1、则一切正常、电路板也正常。 这是否是配置中的拼写错误?
谢谢、
Chris