資源描述:
《linux內(nèi)核rtc驅(qū)動框架源碼分析》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、s3c2410RTC驅(qū)動框架linux內(nèi)核源碼分析/**********************************************************************************************************??@Description:s3c2410的rtc驅(qū)動的實(shí)現(xiàn),rtc(real?time?clock)實(shí)時時鐘的驅(qū)動是個很好的*????理解如果編寫驅(qū)動的硬件,它包括了最基本的硬中斷,軟中斷的底層機(jī)制;*????s3c2410的RTC驅(qū)動的實(shí)現(xiàn)個人認(rèn)為更是對linux設(shè)備驅(qū)動一個很好的例子,他是通過二層結(jié)構(gòu)來*?
2、???實(shí)現(xiàn)的一個驅(qū)動,上層是一個arm?common的公共層,對上提供標(biāo)準(zhǔn)的通用的RTC操作接口,下層由*????我們來實(shí)現(xiàn)針對自己的chip和自己要提供的功能來實(shí)現(xiàn)的一層驅(qū)動;**??@FileTree:**********************************************************************************************************linux-2.6.14.6
3、
4、--arch
5、????
6、
7、????
8、--arm
9、????
10、????
11、--mach-s3c2410
12、????
13、????
14、????
15、-
16、devs.c????????//包含了對各個部件的resource的分配和定義,在這看rtc的資源;
17、????
18、????
19、--common
20、????
21、????
22、????
23、-rtctime.c????????//一個arm平臺的通用rtc函數(shù)層,它對上隱藏了各種soc的rtc?driver的區(qū)別;
24、????
25、????
26、--kernel
27、????
28、????
29、????
30、-time.c????????//內(nèi)核的初始化例程time_init()會調(diào)用的xxx_cmos_xxx函數(shù)的實(shí)現(xiàn);定義了全局自旋鎖rtc_lock用來串行化所有CPU對RTC的操作
31、
32、--drivers
33、????
34、
35、--char
36、????
37、????
38、-s3c2410-rtc.c????????????//具體的s3c2410上的rtc?chip的驅(qū)動實(shí)現(xiàn),如果需要在arm平臺的
39、????
40、????????????????????板子上實(shí)現(xiàn)一個驅(qū)動,改寫它就ok了。
41、
42、--include
43、????
44、--asm-arm
45、????
46、????
47、--arch-s3c2410
48、????
49、????
50、????
51、-regs-rtc.h????//S3C2410?Internal?RTC?register?definition?refer?to?datasheet;
52、????
53、????
54、-rtc.h??
55、??????????????//arm平臺rtc操作抽象層rtctime.c對應(yīng)的.h
56、????
57、--linux
58、????
59、????
60、-time.h????????????//mktime的實(shí)現(xiàn);
61、????
62、????
63、-rtc.h????????????????//公用RTC?.h**[小結(jié)]*1)提供給user的接口,在arch/arm/common/rtctime.c,include/asm-arm/rtc.h中實(shí)現(xiàn),調(diào)用操作硬件驅(qū)動在drivers/char/s3c2410-rtc.c,include/asm-arm/arch-s3c2410/regs-rtc.h實(shí)現(xiàn)
64、;*2)提供給kernel的接口,在arch/arm/kernel/time.c,include/linux/time.h中實(shí)現(xiàn),調(diào)用操作硬件驅(qū)動在drivers/char/s3c2410-rtc.c,include/asm-arm/arch-s3c2410/regs-rtc.h實(shí)現(xiàn);************************************************************************************************************??@Author:????liyangth@gmail.com???????
65、??*????????????????????????????????*??@Function????List:????**????????????????????????**????*????@Changelog:*????2007-06-24????LiYang????First?version**????@FQA:*????[50%]Q1.在驅(qū)動中要將設(shè)備注冊到總線,必須將設(shè)備封裝成struct?device_driver;調(diào)查這個結(jié)構(gòu)體中的每個成員.