ST意法半导体
直播中

golabs

7年用户 822经验值
擅长:可编程逻辑 电源/新能源 MEMS/传感技术 测量仪表
私信 关注
[问答]

无法在pll2上为stm32mp157设置DDR时钟求解

你好,

我很难在 pll2 上为 STM32mp157 设置 DDR 时钟。

时钟已使用 CubeMX 配置为 528MHz。我根据数据表/参考手册检查了 DeviceTree 中 pll2 的 cfg,所有设置似乎都是正确的。

然而 /sys/kernel/debug/clk/clk_summary 为 pll2_r 返回 533MHz。

PLL2 从 HSE 获得 24MHz。我当前的 tf-a 配置:
  • &rcc {
  •         ...
  •         pll2:st,pll@1 {
  •                 compatible = "st,stm32mp1-pll";
  •                 reg = <1>;
  •                 cfg = < 2 65 1 1 0 PQR(1,0,1) >;
  •                 frac = < 0x1400 >;
  •         };
  •         ...
PLL2 仅在 tf-a 的 dts 文件中配置。对于内核和 u-boot,只有空的 rcc-nodes:
  • &rcc{
  •         u-boot,dm-pre-reloc;
  •         status = "okay";
  •         /* USER CODE BEGIN rcc */
  •         /* USER CODE END rcc */
  • };
有任何想法吗?

回帖(1)

张玉

2022-12-27 11:35:23
您的设备树设置显示 533MHz,让我们解码“ cfg = < 2 65 1 1 0 PQR(1,0,1) ”:
您定义了一个分数值,这意味着 VCO 频率是
PLL 输入时钟为 24 / (2+1) = 8MHz
PLL 倍频为 (65+1)+0x1400/0x2000 = 66.625
所以,VCO = 8 * 66.25 = 533 MHz
DDR 时钟与 R 分频器相同,等于 1 (0+1)。
如果您想达到 528MHz,只需删除“frac”行(请检查它在 CubeMX 中是否设置为 0)。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分