码迷,mamicode.com
首页 > 系统相关 > 详细

Linux Driver porting的步骤

时间:2015-04-10 15:32:00      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

1. 认真阅读IC的spec,我们需要从中读出一些有用的信息。
    1) IC正确的(或者可以说精确的)上电时序,这其中包括,Host端控制IC时存在几个pin(regulator, GPIO等),这几个pin严格的上点时序是怎么样的。
    2)IC上电时,是否需要发送一定的初始化序列,来保证IC的正常工作。
    3)IC的正常工作时的工作原理及工作模式等。
2. Driver编写:
    Linux driver的编写一般分为两个部分:一个为DTS, 另一个为真正的driver code。
    DTS:一般从device的spec中,我们可以得知,真正drive这颗IC所需要的所有资源。一般我们会将这些资源,全部填充到DTS node里。这些资源在系统boot的时候会被driver进行解析和资源申请。
    Driver code:以下是driver porting中几个比较重要的函数,需要注意。
                        xxx_init() 这个是一定会被系统加载的,因为它被编译到.init段中,一般这个函数,只会做一件事情,就是注册driver。
                        xxx_probe() 这个函数一般在driver match成功后,被系统调用的。而在这个函数中做的事情比较多,主要分三个方面的任务:一是对DTS的分析及资源的申请工作。二是,对于device的default工作模式进行设置,包括上电时序和模式选择等。三是,对于文件系统的注册(因为在Linux系统中,所有kernel与上层的交互都是通过文件系统来完成的)。
                        xxx_suspend() /xxx_resume()这是Power management系统需要回调的函数。用以保证系统能够正常进入低功耗模式。

Linux Driver porting的步骤

标签:

原文地址:http://blog.csdn.net/computertechnology/article/details/44980051

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!