前面三节分析的3.16.57内核中,三星的驱动中,恰好S5PV210的CPU没有使用Linux common clock framework来处理clk。所以,本文采用4.9.92的内核来分析S5PV210对前面第三节中时钟注册部分的使用。对于老的时钟框架,后面章节可能会用1到2部分说明一下。

首先是根据设备树传过来来的时钟资源的寄存器地址做地址映射,后面则就是使用设备树节点做大量的时钟注册了。

static void __init s5pv210_clk_dt_init(struct device_node *np)
{reg_base = of_iomap(np, 0);if (!reg_base)panic("%s: failed to map registers\n", __func__);__s5pv210_clk_init(np, 0, 0, false);
}
CLK_OF_DECLARE(s5pv210_clk, "samsung,s5pv210-clock", s5pv210_clk_dt_init);

在内核的下面路径中定义了s5pv210的所有的时钟。

include/dt-bindings/clock/s5pv210.h

下面列出这些时钟的编号,后面所有时钟都会使用自己的编号识别。


#ifndef _DT_BINDINGS_CLOCK_S5PV210_H
#define _DT_BINDINGS_CLOCK_S5PV210_H/* Core clocks. */
#define FIN_PLL         1
#define FOUT_APLL       2
#define FOUT_MPLL       3

从零开始之驱动发开、linux驱动(四十、Linux common clock framework(5)_使用举例)相关推荐

  1. linux clock头文件,Linux common clock framework(1)_概述

    Linux common clock framework(1)_概述 作者:wowo 发布于:2014-10-20 23:06 分类:电源管理子系统 1. 前言 common clock framew ...

  2. 从零开始之驱动发开、linux驱动(四十四、虚拟网卡驱动)

    网卡驱动的书写格式很简单 1.申请一个网卡设备结构体 2.设置这个结构体,硬件相关初始化 3.注册这个网卡设备 参考的韦东山老师的视屏,代码如下 #include <linux/module.h ...

  3. 从零开始之驱动发开、linux驱动(四十七、linux下的IIC框架【1】)

    I2C总线仅仅使用SCL. SDA这两根信号线就实现了设备之间的数据交互, 极大地简化了对硬件资源和PCB板布线空间的占用. 因此, I2C总线非常广泛地应用在EEPROM. 实时钟. 小型LCD等设 ...

  4. 从零开始之驱动发开、linux驱动(二十三、platform总线之数据驱动分离)

    本节开始引入总线概念. 总线是一种虚拟的概念,不针对任何具体的外设,但是它可以比较好的管理外设. 总线对外设的管理从设备和驱动两个方面说明. 比如我们有3个led灯要控制,一种是向我们之前的那样在软件 ...

  5. 从零开始之驱动发开、linux驱动(六十七、内核调试篇--printk使用)

    printk的使用我们在内核,驱动调试的时候使用的非常多 比如前面在调试usb驱动的时候 #include <linux/init.h> #include <linux/usb/in ...

  6. 从零开始之驱动发开、linux驱动(四十五、DM9000网卡驱动)

    这里我们肯定不是要从零开始编写网卡驱动的. 因为编写网卡驱动时,需要网络基础知识,特别是网络底层的知识,目前还没学. 将来我可能选择在,网络,图像视屏,或USB这个三个方向,选择一个深入钻研. 这里主 ...

  7. 从零开始之驱动发开、linux驱动(十四、字符驱动之按键中断方式实现和等待队列分析)

    第8节的轮询方式查询按键,非常的浪费CPU资源,这一节主要就是来解决这个问题的. 第12节的中断程序框架也给了出来,这一节我们来完成中断方式的代码实现和分析. 这节是通过使用等待队列的方式来解决CPU ...

  8. 从零开始之驱动发开、linux驱动(六十四、内核调试篇--基础知识2[console的建立])

    上一节我们分析的earlay的printk知识,本节主要分析一下在内核启动后的printk的知识. 主要是通过下面函数实现的 after_dashes = parse_args("Booti ...

  9. 从零开始之驱动发开、linux驱动(五、字符驱动之led驱动改进)

    上一节的代码有两个使用不是很方便问题: 1.写驱动时,每个次设备号都要自己指定.(这样就不能作为移植性强的软件了) 2.引用层使用时不但要手动创建设备节点,还要知道其设备信息和设备号. 我们先来解决第 ...

最新文章

  1. c#获取应用程序目录
  2. 2017/12/14 懒冬 时间序列基础
  3. Windows程序的基本结构(转)
  4. Java实现螺旋矩阵
  5. 报头中的偏移量作用_C语言中函数的实现
  6. Spring Boot 热部署 devtools模块
  7. Python 用pygame模块播放MP3
  8. Nginx的11个phases
  9. 室内温湿度监测系统解决方案
  10. MyBatis框架、log4j、数据库的配置文件
  11. 基于IDEA的Spring源码调试
  12. CTF之MISC练习一
  13. SEO关键词之选取策略及具体方法
  14. 母函数理解及整数拆分
  15. JavaScript对象与内置对象——对象(一)
  16. python中怎样向字典中添加值_python中向一个字典中加值
  17. python执行命令不连接mumu_Appium连接mumu安卓模拟器(真机)自动化测试
  18. 2019年5大企业网盘对比
  19. Nuxt之Meta标签关键字描述之description重复问题
  20. android 摇杆控制方向键,Android Studio中实现摇杆

热门文章

  1. python求txt文件内平均值_如何使用python计算几个.dat文件的平均值?
  2. 北京国际学校ib成绩排名如何?
  3. CSS常用颜色配色的参数设置
  4. CF677C Vanya and Label
  5. 戴尔台式计算机怎么安装的,戴尔Dell电脑U盘安装台式机win10系统教程详解
  6. 一分钟教会你音频配音乐怎么制作
  7. Camera2 开发问题记录
  8. 2022081班李亚楠20220914
  9. 【QGIS入门实战精品教程】10.1:QGIS基于DEM数据的地形分析案例教程
  10. L1-003 个位数统计 (15 分)