linux spi架构分析(一)
来源:互联网 发布:windows不是正版 编辑:程序博客网 时间:2024/05/24 04:31
这里我们讨论下linux下spi子系统下的数据结构。
从上一篇文章我们可以得到两个BSP里存在的结构
- s3c2410_board_info ——– 用来初始化spi_device
- s3c2410_spi_info ——– 用来初始化spi_controller
注意:s3c2410_spi_info包含在s3c24xx_spi结构体中,s3c24xx_spi是s3c2440的SPI控制器在Linux内核的具体描述,可以看做具体的对象,而master可以当做一个接口。
延展一下,其它架构的类似结构如
da830evm_spi_info 位于mach-davinci\board-da830-evm.c中
davinci_spi 位于 spi-davinci.c中。
分析spi-s3c24xx.c:我们可以知道其实就是实现一个具体spi controller,通过platform_driver驱动probe实现控制器驱动,最后调用spi_register_master注册控制器设备。
Linux用spi_device描述一个SPI外设设备。
struct spi_device{
struct device dev;
…
void *controller_state;
void *controller_data;
char modalias[32];
}
当spi_register_mater时,系统会调用scan_boardinfo函数,遍历这个controller上的spi_device,将其全部注册到内核。
0 0
- linux spi架构分析(一)
- Linux SPI架构分析(二)
- Linux SPI架构分析概述
- Linux系统spi驱动程序分析---(一)
- Linux内核SPI子系统架构分析(清晰)
- Linux内核SPI子系统架构分析
- Linux内核spi子系统架构分析
- linux spi驱动开发学习(一)-----spi子系统架构
- linux内核SPI总线驱动分析(一)
- linux内核SPI总线驱动分析(一)
- linux内核SPI总线驱动分析(一)
- linux内核SPI总线驱动分析(一)
- linux内核SPI总线驱动分析(一)
- linux内核SPI总线驱动分析(一)
- linux内核SPI总线驱动分析(一)
- linux内核SPI总线驱动分析(一)
- linux内核SPI总线驱动分析(一)
- linux内核SPI总线驱动分析(一)
- ASIHTTPRequest
- Iterator和ListIterator关系
- C语言 输入字符并统计出现次数(练习)
- 河南省第八届省赛(最大岛屿)
- Python学习笔记3
- linux spi架构分析(一)
- Android面试题目整理与讲解
- iOS开发012 实例 启动画面 本地存储数据 多风格iOS7式segment
- eclipse启动tomcat出现内存溢出错误 java.lang.OutOfMemoryError: PermGen space
- jsnew关键字
- KVM的DHCP无法自动获取IP
- 月薪3万的程序员都避开了哪些坑
- OFBiz 开发需要用到的几个重要(配置)文件
- 函数参数与返回值