tebeg
驱动牛犊
驱动牛犊
  • 注册日期2010-10-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1505回复:1

spi设备驱动程序系列问题探讨

楼主#
更多 发布于:2012-07-17 15:49
首先,关于spi设备驱动程序开发按照分层分离的思想来开发,我想大家可能都知道了。在此,小弟有迷惑的问题:
其一,在linux内核中提供的驱动程序已经存在了spi主控制器的驱动程序,作为外设(slave)驱动开发人员还需要做主控制器驱动程序吗?
其二,platform驱动指代的是什么驱动?就是针对某一系列的芯片(三星,西门子,诺基亚等)驱动吗?
其三,关于总线,平台,主控制器,外设他们之间的关系是什么,如何实现注册以及相互之间建立联系的?

网上的说法很多,有点乱,看得也有点晕,请高手指点。谢谢了。我想这也是很多开发者关心的,如果您是高手,做点贡献吧!谢谢交流。
tebeg
驱动牛犊
驱动牛犊
  • 注册日期2010-10-21
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望51点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2012-07-17 17:49
其一,在linux内核中提供的驱动程序已经存在了spi主控制器的驱动程序,作为外设(slave)驱动开发人员还需要做主控制器驱动程序吗?

不需要


其二,platform驱动指代的是什么驱动?就是针对某一系列的芯片(三星,西门子,诺基亚等)驱动吗?

platform driver是Linux Device Model中(platform) device + (platform) driver + (platform) bus模型的一个组成部分。不光是SoC内建的外设驱动可以用platform driver形式,几乎所有的外设驱动都可以套用它。一个简单的例子是用GPIO button实现的键盘驱动(/drivers/input/keyboard/gpio_keys.c)。关于Linux Device Model的更多信息,参考"Linux Device Driver"第三版(http://www.arm9home.net/read.php?tid-1859.html)的第14章。


其三,关于总线,平台,主控制器,外设他们之间的关系是什么,如何实现注册以及相互之间建立联系的?

内核源代码的Documentation/spi/spi-summary里有一些很有用的信息,我想你最好先认真阅读一下。
游客

返回顶部