[004-u-boot-Exynos4412] Clock Management Unit
来源:互联网 发布:类似算法谜题的书 编辑:程序博客网 时间:2024/06/06 09:22
0. 前言
本文以Exynos4412芯片为例,介绍了CMU(Clock Management Unit)。CMU通过控制PLL产生系统时钟,总线时钟和外设时钟。
1. 时钟域
Exynos4412包含5个时钟域,如图所示:
- CMU_CPU:提供Cortex-A9 MPCore处理器,L2 cache控制器,and CoreSight(调试器)的时钟。
- CMU_DMC:提供DRAM内存控制器,安全子系统和通用中断控制器的时钟。
- CMU_LEFTBUS / CMU_RIGHTBUS:提供全局数据总线和全局外设总线的时钟,总线用于在DRAM和外设之间进行数据传输。
- CMU_TOP:给所有剩余的模块提供时钟,如TV,LCD,CAM等。
2. 时钟源
外部时钟
- XRTCXTI:提供RTC的时钟。
- XXTI:外部时钟源,一般接12MHz~50MHz的晶振。当前的硬件未使用该时钟源。
- XUSBXTI:外部时钟源,推荐为24MHz。当前的硬件使用该时钟源作为系统时钟。
内部时钟
- APLL:主要给CPU_BLK提供时钟,也可以作为MPLL的补充。
- MPLL:主要给DMC_CLK,LEFTBUS_CLK,RIGHTBUS_CLK和CMU_TOP提供时钟。
- EPLL:主要给音频提供时钟。
- VPLL:主要给视频提供时钟。
- USB PHY:给USB提供30MHz~48 MHz时钟。
- HDMI PHY:产生54MHz时钟。
时钟命名规则
- FIN~Xpll~:pll的输入时钟。
- FOUT~Xpll~:pll的输出时钟。
- MOUT~Xpll~:pll经过MUX的输出时钟。
- SCLK~Xpll~:PAD上的xpll时钟,可能经过了dividor,也可能就是MOUT~Xpll~。
- DOUT~xxx~:dividor的输出时钟。
其中’X’为A/M/E/V
3. 时钟组件
PLL
功能:把低频率的输入时钟提高后输出。
设置步骤:
1. 设置PLL的 P、M、S值,这是根据频率用公式计算出来的(寄存器为 XPLL_CON0)
2. 设置PLL的其他控制参数
3. 使能PLL
4. 等待一段时间使PLL稳定
5. 设置MUX ,选择PLL所输出的时钟
MUX
功能:多路复用,从多个输入源中选择一个作为输出。时钟复用器的配置寄存器被定义为CLK_SRC_XXX。
灰色的时钟复用器表示一种无干扰的时钟复用器,也就是说在改变时钟选区时不受干扰。
对该复用器需要在改变时钟时确保时钟源在工作。如果不能保证,这就表明了选择时钟的过程并没有完成,会导致未知的时钟输出状态。时钟复用器的状态寄存器被定义为CLK_MUX_STAT_XXX。白色的时钟复用器表示有干扰的时钟复用器,也就是说在改变时钟源时,要遭受脉冲信号。
对该复用器在改变时钟时可能有毛刺信号产生。因此建议在修改时钟复用器之前,先关闭这种复用器的输出功能。在完成选择的更换后,再重新使能复用的输出功能。时钟源屏蔽控制寄存器被定义为CLK_SRC_MASK_XXX。
divider
功能:时钟分频器,可以从其输入源来对时钟进行分频。时钟分频器的配置寄存器被定义为CLK_DIV_XXX。
4. 时钟配置
配置CMU_CPU
配置CMU_DMC
配置CMU_TOP
配置CMU_BUS
配置UART_BLK
配置FSYS_BLK
5. 代码
具体可参考:clock_init_exynos4412.c
阅读全文
1 0
- [004-u-boot-Exynos4412] Clock Management Unit
- [000-u-boot-Exynos4412] RP4412 IROM Booting
- [003-u-boot-Exynos4412] 移植SPL阶段
- S5PV210的时钟控制器-clock management unit(CMU)
- [001-u-boot-Exynos4412] make smdk4412_config 命令详解
- [002-u-boot-Exynos4412] SDK BL2阶段详解
- 基于iTop-4412的U-Boot 2017移植[0]:Exynos4412基础
- memory management unit
- 翻译2440 CLOCK & POWER MANAGEMENT
- 翻译2440 CLOCK & POWER MANAGEMENT
- S3C2440(1) Clock&Power Management
- RH133 Unit 6 Filesystem Management
- Spring Boot Unit Test
- U-BOOT
- u-boot
- U-boot
- U-Boot
- u-boot
- POJ 2117 Electricity(无向图割点)
- Maximum Length of Pair Chain问题及解法
- 低阶星号*游戏
- 一组图片的放大缩小+轮播
- gcc -I(大写的i),-L(大写L)和-l(小写的L)详解
- [004-u-boot-Exynos4412] Clock Management Unit
- Unity中使用串口的注意事项
- 操作系统
- 在连接WIFI的笔记本上使用putty,NAT模式改成桥接模式就可以了
- javascript闭包浅析
- xlistview网络请求数据以及添加headerview_自动轮播viewpager控件
- UVA 11426 GCD Extreme (II)
- 刷题—— hdu 6181 Two Paths
- C语言-冒泡排序