立即注册
查看: 1499|回复: 8

[瑞芯微RK资料] RK3036\RK312x\RK322x\RK3326\RK1808等平台小系统下时钟方案概述

已绑定手机
发表于 2022-5-7 15:51:56 | 显示全部楼层 |阅读模式 来自 广东省深圳市
1、基本架构
时钟主要分成这几个部分:
PLL锁相环、MUX选择器、DIV分频器、GATE、SOFTRESET。
1.jpg
PLL锁相环:
2.jpg

2、使用规则
PLL设置:
目前支持的PLL类型有RK3036(rk3036\rk312x\rk322x\RK3326\RK1808都是此类型)、RK3328、rk3399。Pll的频率表里面会放几个最常用的频率点,如果没有此频率点,则会走自动计算,计算PLL的参数。
PLL设置我们有统一的函数调用,为了满足小系统要求,我们尽可能做到精简。

使用示例:
#include "arch/arm/src/rockchip/rk_clockconfig.h"
/* rk3326 gpll regs */
static struct rk_pll_clock_s rk3326_gpll =
{
  .con_offset = RK3326_PMU_PLL_CON(0),       
  .mode_offset = RK3326_PMU_MODE_CON,
  .mode_shift = 0,
  .lock_shift = 10,
  .rate_table = RK3326_pll_rates,
};
/* set gpll rate */
rk_pll_set_rate(&rk3326_gpll, RK3326_GPLL_FREQ);
/* get gpll rate */
g_gpll_freq = rk_pll_get_rate(&rk3326_gpll);

模块时钟设置:
因为小系统上不可能移植完整的clk架构,我们采用最基础的寄存器操作。
由CRU工具生成相应头文件,使用头文件的define定义来完成时钟的设置。
MUX 使用示例:
/* Con = 10; Shift = 6; Width = 2; */
#define ACLK_VPU_CLK_PLL_SEL 0x0206000a
#define ACLK_VPU_CLK_SEL_GPLL 0
#define ACLK_VPU_CLK_SEL_CPLL 1
/* set aclk_vpu sel 0: gpll */
rk_clk_set_mux(RK3326_CLKSEL_CON(0), ACLK_VPU_CLK_PLL_SEL, ACLK_VPU_CLK_SEL_GPLL);
/* set aclk_vpu sel 1: cpll */
rk_clk_set_mux(RK3326_CLKSEL_CON(0), ACLK_VPU_CLK_PLL_SEL, ACLK_VPU_CLK_SEL_CPLL);

DIV 使用示例:
/* Con = 10; Shift = 0; Width = 5; */
#define ACLK_VPU_CLK_DIV 0x0500000a
/* set aclk_vpu div = 4 */
rk_clk_set_div(RK3326_CLKSEL_CON(0), ACLK_VPU_CLK_DIV, 3);
/* set aclk_vpu div = 6l */
rk_clk_set_div(RK3326_CLKSEL_CON(0), ACLK_VPU_CLK_DIV, 5);
......

3、后期目标
优点:
简单、直接、代码空间小。

缺点:
模块人员需要了解时钟树,要明确知道自己需要设置哪些时钟,设置parnet、设置div。
GATE的时候需要清除时钟树的结构,对于共用时钟的模块需要特别的注意。
针对上面的缺点,我们现在做了时钟设置的时候只设置div就可以,parent帮你选择最优的。
GATE前级时钟都保持常开,只控制最后一级时钟,这样控制的时钟相对少很多,简单很多。
CRU工具我们还在改进中,后面我们希望可以用工具直接生产内核、Uboot、小系统上clk相关的代码。(CRU寄存器那么多,人工填写还是很费力也很容易出错的)。

更多详细内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复
已绑定手机
发表于 2022-5-7 16:36:25 | 显示全部楼层 来自 湖南省长沙市
不知道能不能任意分频
已绑定手机
发表于 2022-5-9 23:50:14 | 显示全部楼层 来自 上海市
谢谢分享
已绑定手机
发表于 2022-5-9 23:50:28 | 显示全部楼层 来自 上海市
学习一下
已绑定手机
发表于 2022-7-4 06:42:15 | 显示全部楼层 来自 河北省
平台小系统下时钟方案概述
已绑定手机
发表于 2022-7-4 09:47:37 | 显示全部楼层 来自 江苏省南京市
谢谢分享
已绑定手机
发表于 2022-12-14 10:06:42 | 显示全部楼层 来自 四川省成都市双流区
这资料可以
已绑定手机
发表于 2023-12-31 22:38:04 | 显示全部楼层 来自 福建省漳州市
很细心,很好,很好的文档
已绑定手机
发表于 2024-1-4 09:14:54 | 显示全部楼层 来自 广东省深圳市
RK3036\RK312x\RK322x\RK3326\RK1808等平台小系统下时钟方案概述
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表