OS: Android 7.1
Board: Firefly-RK3399
Kernel: v4.4.55

分两个模块,一个是cpu,还有一个是pmu模块,这里只举例cpu,cpu又分在两个文件中定义。
rk3399.dtsi:

    cru: clock-controller@ff760000 {compatible = "rockchip,rk3399-cru";reg = <0x0 0xff760000 0x0 0x1000>;#clock-cells = <1>;#reset-cells = <1>;assigned-clocks =<&cru ACLK_VOP0>, <&cru HCLK_VOP0>,<&cru ACLK_VOP1>, <&cru HCLK_VOP1>,<&cru ARMCLKL>, <&cru ARMCLKB>,<&cru PLL_GPLL>, <&cru PLL_CPLL>,<&cru ACLK_GPU>, <&cru PLL_NPLL>,<&cru ACLK_PERIHP>, <&cru HCLK_PERIHP>,<&cru PCLK_PERIHP>,<&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,<&cru PCLK_PERILP0>,<&cru HCLK_PERILP1>, <&cru PCLK_PERILP1>;assigned-clock-rates =<400000000>,  <200000000>,<400000000>,  <200000000>,<816000000>, <816000000>,<594000000>,  <800000000>,<200000000>, <1000000000>,<150000000>,   <75000000>,<37500000>,<100000000>,  <100000000>,<50000000>,<100000000>,   <50000000>;};

rk3399-vop-clk-set.dtsi:

&cru {assigned-clocks =<&cru ACLK_PERIHP>, <&cru ACLK_PERILP0>,<&cru HCLK_PERILP1>, <&cru SCLK_SDMMC>,<&cru ACLK_EMMC>, <&cru ACLK_CENTER>,<&cru HCLK_SD>, <&cru SCLK_VDU_CA>,<&cru SCLK_VDU_CORE>, <&cru ACLK_USB3>,<&cru FCLK_CM0S>, <&cru ACLK_CCI>,<&cru PCLK_ALIVE>, <&cru ACLK_GMAC>,<&cru SCLK_CS>, <&cru SCLK_CCI_TRACE>,<&cru ARMCLKL>, <&cru ARMCLKB>,<&cru PLL_NPLL>, <&cru ACLK_GPU>,<&cru PLL_GPLL>, <&cru ACLK_PERIHP>,<&cru HCLK_PERIHP>, <&cru PCLK_PERIHP>,<&cru ACLK_PERILP0>, <&cru HCLK_PERILP0>,<&cru PCLK_PERILP0>, <&cru HCLK_PERILP1>,<&cru PCLK_PERILP1>, <&cru SCLK_I2C1>,<&cru SCLK_I2C2>, <&cru SCLK_I2C3>,<&cru SCLK_I2C5>, <&cru SCLK_I2C6>,<&cru SCLK_I2C7>, <&cru SCLK_SPI0>,<&cru SCLK_SPI1>, <&cru SCLK_SPI2>,<&cru SCLK_SPI4>, <&cru SCLK_SPI5>,<&cru ACLK_GIC>, <&cru ACLK_ISP0>,<&cru ACLK_ISP1>, <&cru SCLK_VOP0_PWM>,<&cru SCLK_VOP1_PWM>, <&cru PCLK_EDP>,<&cru ACLK_HDCP>, <&cru ACLK_VIO>,<&cru HCLK_SD>, <&cru SCLK_CRYPTO0>,<&cru SCLK_CRYPTO1>, <&cru SCLK_EMMC>,<&cru ACLK_EMMC>, <&cru ACLK_CENTER>,<&cru ACLK_IEP>, <&cru ACLK_RGA>,<&cru SCLK_RGA_CORE>, <&cru ACLK_VDU>,<&cru ACLK_VCODEC>, <&cru PCLK_DDR>,<&cru ACLK_GMAC>, <&cru SCLK_VDU_CA>,<&cru SCLK_VDU_CORE>, <&cru ACLK_USB3>,<&cru FCLK_CM0S>, <&cru ACLK_CCI>,<&cru PCLK_ALIVE>, <&cru SCLK_CS>,<&cru SCLK_CCI_TRACE>, <&cru ACLK_VOP0>,<&cru HCLK_VOP0>, <&cru ACLK_VOP1>,<&cru HCLK_VOP1>;assigned-clock-rates =<75000000>, <50000000>,<50000000>, <50000000>,<50000000>, <100000000>,<50000000>, <150000000>,<150000000>, <150000000>,<50000000>, <150000000>,<50000000>, <100000000>,<75000000>, <75000000>,<816000000>, <816000000>,<600000000>, <200000000>,<800000000>, <150000000>,<75000000>, <37500000>,<100000000>, <100000000>,<50000000>, <100000000>,<50000000>, <100000000>,<100000000>, <100000000>,<100000000>, <100000000>,<100000000>, <50000000>,<50000000>, <50000000>,<50000000>, <50000000>,<200000000>, <400000000>,<400000000>, <100000000>,<100000000>, <100000000>,<400000000>, <400000000>,<200000000>, <100000000>,<200000000>, <200000000>,<100000000>, <400000000>,<400000000>, <400000000>,<400000000>, <300000000>,<400000000>, <200000000>,<400000000>, <300000000>,<300000000>, <300000000>,<300000000>, <300000000>,<100000000>, <150000000>,<150000000>, <400000000>,<100000000>, <400000000>,<100000000>;
};

assigned-clocks的id和assigned-clock-rates值一一对应。

assigned-clock-rates对应的值会在cru驱动初始化时设置:

rk3399_clk_init -> clk-rk3399.crockchip_clk_of_add_provider -> clk.cof_clk_add_provider ->of_clk_set_defaults -> clk-conf.c__set_clk_rates

__set_clk_rates():

static int __set_clk_rates(struct device_node *node, bool clk_supplier)
{......of_property_for_each_u32(node, "assigned-clock-rates", prop, cur, rate) {if (rate) {rc = of_parse_phandle_with_args(node, "assigned-clocks","#clock-cells", index, &clkspec);......clk = of_clk_get_from_provider(&clkspec);......rc = clk_set_rate(clk, rate);......index++;}return 0;
}

还有一部分已经在loader或者uboot中配置好了,只要直接读取即可,例如ddr的clock.
可参见: [RK3399][Android7.1] 调试笔记 — DDR工作频率的获取和设置

[RK3399][Android7.1] 调试笔记 --- 系统默认时钟配置相关推荐

  1. [RK3399][Android7.1] 调试笔记 --- Audio codec时钟源从BCLK1获取

    Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 需求: 默认codec的clock source是从I2S1的mclk获取,由于I2S0和I2S1的m ...

  2. [RK3399][Android7.1] 调试笔记 --- I2S1工作输出是12MHz问题

    Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 现象: 使用I2S1通道,测量到的I2S MCLK是12MHz. 理论上应该是11.288MHz. 原 ...

  3. android手机底噪,[RK3399][Android7.1] 调试笔记 --- Codec播放音乐会有底噪

    Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 背景: 移植完Codec RT5640之后,发现播放声音的时候底部有噪声. 用示波器测量到的左右声道波 ...

  4. [RK3399][Android7.1] 调试笔记 --- 三颗以上USB Camera的支持

    Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 需求 需要支持三个USB Camera,系统默认支持的是两颗. 解决方法: 以下是rockchip给的 ...

  5. [RK3399][Android7.1] 调试笔记 --- CPU_B_SLEEP引脚改动引起系统无法开机

    Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 朋友按照参考设计和firefly的板子做的硬件,无法开机. 一开始只能进入maskrom,能下载,但是 ...

  6. [RK3399][Android7.1] 调试笔记 --- 使用ADC芯片ES7243遇到的问题

    Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 用途: ES7243模块用于环形麦克场景时,采集的是音频播放的声音,然后采到之后回送到CPU,和麦克录 ...

  7. [RK3399][Android7.1] 调试笔记 --- sdcard守护进程启动位置

    Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 Board: Firefly-RK3399 之前版本sdcard守护进程都是放在init.rc中启动: ...

  8. [RK3399][Android7.1] 调试笔记 --- RTC读取时间失败

    Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 现象: 使用busybox hwclock -r读取rtc时间是提示: hwclock: ioctl ...

  9. [RK3399][Android7.1] 调试笔记 --- USB type-c插入后无法识别到

    Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 现象: 用update.img制作了一个升级包之后可以升级,但是无法识别到type-c. Log: 插 ...

最新文章

  1. java web--servlet(2)
  2. 步骤4 - 微服务提供者接收请求,提供服务并传回给Orchestra
  3. sqlite3打开中文路径数据文件失败解决方法
  4. mac idea在mybatis xml文件里引入全限定类名报红解决
  5. CV Code | 本周新出计算机视觉开源代码汇总(含图像修复、目标检测、医学图像分割、度量学习等)...
  6. 学会提问,你就成功了一大半!
  7. 依赖混淆 exploit 已被滥用于攻击亚马逊等多家大厂
  8. Android dalvik GC相关的属性详解
  9. ubuntu 20.04上配置 QT_ROS的插件
  10. 这8种常用的代码编辑器,你平时用哪个?
  11. visio指向插图任意位置和任意改变箭头形状
  12. springboot+SSM Demo框架搭建
  13. python求和1到100_python求1到100的和的几种方法
  14. 浅谈中国电信出口网络的链路情况(什么是 ChinaNet,CN2,GT,GIA)
  15. python 渲染3d模型_Python中的3D软件渲染
  16. 注册电子邮箱,打造个人网络商务形象
  17. 自动控制原理之一稳态误差分析/MATLAB
  18. 学java用什么电脑_学java用什么电脑比较好?电脑需要什么样的配置?
  19. 李宁Matplotlib视频课程作业
  20. *通配符与微信小程序的WXSS

热门文章

  1. [游戏]_公会-蓝色の被套
  2. 输入某年某月某日,判断这一天是这一年的第几天?JAVA基础题
  3. 半透明背景Activity实现AlertDialog弹窗效果
  4. Djava.endorsed.dirs=D:\Tomcat 9.0\endorsed is not supported
  5. Unity VFX在安卓真机显示不正常,显示一条绿线等。
  6. Synopsys 通过统一的电路仿真流程解决超融合 IC
  7. 【南阳ACM】 喷泉装置(一)
  8. Google Chrome访问出现 NET::ERR_CERT_INVALID
  9. Mysql的新增数据
  10. Creator优化心得:减少脚本文件的大小