首页 > 其他 > 详细

SD-iNand 时钟配置部分

时间:2020-04-02 20:55:17      阅读:80      评论:0      收藏:0      [点我收藏+]

INAND MMC时钟控制

EPLL 外设倍频器

 技术分享图片

 

 

1.设置APLL/MPLL/EPLL/EPLL锁相环时间
翻看手册,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) 
 
这里出现了一个问题,APLL/MPLL/EPLL/VPLL的锁相环的时间是不一样的,而像S5PC100,频率为667MHz,他的A/M/E/HPLL的锁相环时间均是300us,而在Exynos 4xxx中,时间又变成了250,这个时间一定要查芯片手册。那么,所以,这里我们要用4个寄存器来存不同的LOCK_OFFSET的值。查询ATPCS文档(Procedure Call Standard for the ARM v2.08),在第P15页找到,r4-r8是用来存储变量的寄存器,OK,我们选取4个寄存器来保存值。
APLL的锁时间为:24*30=720    --0x2D0
MPLL的锁时间为:24*200=4800  --0x12C0
EPLL的锁时间为:24*375=9000  --0x2328
VPLL的锁时间为:24*100=2400  --0x960
将上面四个值存入寄存器r4--r8,这里使用寄存器的别名v1--v4,然后再将寄存值的分别存入APLL_LOCK/MPLL_LOCK/EPLL_LOCK/VPLL_LOCK对应的寄存器地址中
ldr    r0, =0xE0100000                


ldr    v1, =0x2D0
ldr    v2, =0x12C0
ldr    v3, =0x2328
ldr    v4, =0x960

str    v1, [r0, #0x00]                
str    v2, [r0, #0x04]                
str    v3, [r0, #0x08]                
str    v4, [r0, #0x0c]                



技术分享图片
 
 
 
技术分享图片

 

 

 

代入可算出SCLKEPLL 96MHZ

 

在寄存器中,clock source x - 设置MUX开关,clock divider control - 设置分频系数


 技术分享图片

 

 

 

技术分享图片

 

 

xPLL_CON/xPLL_CON0/xPLL_CON1 寄存器:主要是用来打开/关闭PLL电路,设置PLL的倍频产生,查看PLL锁定状态等  

CLK_SRC4 MMC MUX时钟配置   CLK_DIV4 分频配置

 

CLK_MUX_STATn(n:0~1)寄存器:查看MUX的状态是否已经完成还是在进行中

 

总结:最重要的有三类寄存器,分别是CON、SRC、DIV。其中CON决定PLL倍频多少,SRC决定走哪一条路,DIV决定分频多少。

 

https://blog.csdn.net/vanity_lost/article/details/52563708?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 

SD-iNand 时钟配置部分

原文:https://www.cnblogs.com/ben-sen/p/12608968.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!