Tiny210 U-BOOT(三)----配置时钟频率源码分析

在u-boot的源码中,系统时钟的初始化是放在板文件的lowlevel_init.S文件中的system_clock_init函数中。我们的tiny210是拷贝的smdkc100,所以,大家可以先参看smdkc100的lowlevel_init.S文件中的system_clock_init函数。

对于芯片手册中每一个模块的学习,在了解前面的基本原理后,关键的寄存器的操作,可以先浏览一下这个模块的所有寄存器的简介,对各个寄存器的作用做到心中有数,这样,可以大体知道,需要配置哪些寄存器,不至于被下面一大堆的寄存器给弄懵了,系统时钟的寄存器简介在P367页--3.7 REGISTER DESCRIPTION 。

1.设置APLL/MPLL/EPLL/VPLL锁相环时间

翻看手册,P371页,找到PLL CONTROL REGISTERS。
• (APLL_LOCK, R/W, Address = 0xE010_0000)
• (MPLL_LOCK, R/W, Address = 0xE010_0008)
• (EPLL_LOCK, R/W, Address = 0xE010_0010)
• (VPLL_LOCK, R/W, Address = 0xE010_0020) 


根据上图得到各种PLL锁定时间是

APLL的锁时间为:24*30=720    --0x2D0
MPLL的锁时间为:24*200=4800  --0x12C0
EPLL的锁时间为:24*375=9000  --0x2328
VPLL的锁时间为:24*100=2400  --0x960


上面代码中v1,v2,v3,v4其实是别名

ATPCS文档(Procedure Call Standard for the ARM v2.08),在第P15页找到,r4-r8是用来存储变量的寄存器而v1-v4也就是这四个寄存器

然后再将寄存值的分别存入APLL_LOCK/MPLL_LOCK/EPLL_LOCK/VPLL_LOCK对应的寄存器地址中。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值