设为首页 加入收藏

TOP

Linux SPI框架
2014-11-24 11:52:43 来源: 作者: 【 】 浏览:0
Tags:Linux SPI 框架

Linux的SPI子系统采用主机驱动和外设驱动分离的思想,首先主机SPI控制器是一种平台设备,因此它以platform的方式注册进内核,外设的信息是以boardinfo形式静态定义的,在创建spi_master时,会根据外设的bus_num和主机的bus_num是否相等,来选择是否将该外设挂接在该SPI主控制器下。先看SPI子系统中几个关键的数据结构:


struct spi_master用来描述一个SPI主控制器


struct spi_device用来描述一个SPI从设备


struct spi_driver用来描述一个SPI从设备的驱动,它的形式和struct platform_driver是一致的


SPI子系统初始化的第一步就是将SPI总线注册进内核,并且在/sys下创建一个spi_master的类,以后注册的从设备都将挂接在该总线下


我们来看spi_bus_type的定义


来看挂接在SPI总线下的从设备和从设备驱动是如何匹配的,也就是spi_match_device函数


这里可以看到是将struct device_driver中的name字段与struct spi_device中的modalias字段进行匹配


这里已经完成了SPI子系统初始化的第一步,也就是注册SPI总线,这一步是和平台无关的,第二步是和平台相关的初始化,下一节再做介绍。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用Java快速入门Thrift 下一篇编译内核----make config时候报错

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Bash 脚本教程——Li (2025-12-26 07:53:35)
·实战篇!Linux shell (2025-12-26 07:53:32)
·整理了250个shell脚 (2025-12-26 07:53:29)
·HyperText Transfer (2025-12-26 07:20:48)
·半小时搞懂 HTTP、HT (2025-12-26 07:20:42)