zynq更换ps的输入时钟频率

一般使用的zynq的ps时钟为33.333333MHz,如下图:

 但有时候也会遇到其他频率的,如下图:

zynq更换ps的输入时钟频率_第1张图片

 虽然不知道为啥要换来换去,但是人家设计没毛病啊,官方要求只要在30M~60M之间都行,如下图:

zynq更换ps的输入时钟频率_第2张图片

 既然如此,就得修改吧。

在uboot中,主要修改设备树有两个地方,cpu的修改完全是因为ps-clk被修改,因为锁相环是倍频再分频,不一定能达到33M的主频。

 zynq更换ps的输入时钟频率_第3张图片

 修改完成后编译uboot,烧录再启动,发现串口全是乱码,把fsbl的打印打开,发现是正常的,所以肯定是uboot的修改不彻底。然后翻看uboot源码中的arch\arm\mach-zynq\clk.c,最开头就有一句话:

 再翻看include\configs\zynq-common.h,发现没有CONFIG_ZYNQ_PS_CLK_FREQ定义,所以果断定义为40M。(当然了有的版本的uboot是有这个定义的,但是数值默认的也是33.333333M)

再次编译uboot,下载,启动成功!!!

你可能感兴趣的:(linux,uboot,linux)