首页 > 代码库 > Linux驱动: rtc子系统
Linux驱动: rtc子系统
说明
本文分析代码基于3.10内核,硬件平台为嵌入式ARM平台.
2. rtc子系统相关文件
drivers/rtc/class.c drivers/rtc/interface.c drivers/rtc/rtc-core.h drivers/rtc/rtc-dev.c drivers/rtc/rtc-lib.c drivers/rtc/rtc-proc.c drivers/rtc/rtc-sysfs.c drivers/rtc/hctosys.c drivers/rtc/rtc-xxx.c
class.c : 管理rtc sys class;
interface.c: 主要作用是间接rtc驱动接口;
rtc-dev.c : rtc设备用户接口;
rtc-lib.c : rtc辅助函数,主要用于rtc时间转换,计算;
rtc-proc : rtc proc fs(用户)接口;
rtc-sysfs : rtc sys fs(用户)接口;
hctosys.c : 用于在系统启动时从rtc读取时间,并设置为系统时间;
rtc-xxx.c : rtc硬件芯片驱动,如rtc-wm8350.c,rtc-hym8563.c等.
3. rtc子系统框图
上图是基于新的rtc子系统框架,该框架能更好的适应嵌入式开发环境,嵌入式环境可能带多个rtc芯
片.
老的rtc驱动就是一个简单的字符设备驱动,是适应于PC平台的,对应有一个/dev/rtc设备文件.
在新的rtc子系统框架下,应用程序通过/dev/rtc[0-N]设备来完成对rtc芯片的访问.这些访问通过
rtc-dev.c提供的接口间接访问rtc-xxx.c提供的rtc芯片驱动.常见的操作有读取/设置时间的操作,
这个每个rtc芯片都必须支持的操作.
当然,访问/dev/rtc[0-N]设备文件不是访问rtc芯片的唯一途径,还可以通过rtc提供的proc,sys fs
接口来访问rtc.
4. 系统时间来源:rtc设备制定
Device Drivers --->
[*] Real Time Clock --->
(rtc0) RTC used to set system time
...
*** RTC interfaces ***
...
*** I2C RTC drivers ***
...
*** SPI RTC drivers ***
...
*** on-CPU RTC drivers ***
...
注: 红色字样是指定作为系统时间来源的rtc设备.
本文出自 “JiMoKuangXiangQu” 博客,请务必保留此出处http://4594296.blog.51cto.com/4584296/1932659
Linux驱动: rtc子系统