本文基于 linux4.6.69 + ti am335x 分析
1、linux 下 spi driver 的代码文件

下面两个文件是 TI 平台 spi 控制器驱动 , 主要和SOC的相关的寄存器配置有关,和具体的外设 SPI设备进行物理上的通信。
drivers/spi/spi-omap2-mcspi.c (master)
drivers/spi/spi-omap2-mcspi-slave.c (slave)
下面的 spi.c 主要是注册spi bus , 一个SOC的 spi 控制器对应一个 spi bus , 对应一个 spi_master
drivers/spi/spi.c
下面的 spidev.c 属于 protocol drivers, 属于一种通用的spi 驱动,可选的,如果你要使用其他driver,比如 spi-flash , FRAM ,或者bitbang,也是可以的, 如果你在设备树中添加的spi 设备的 compatible=“spidev” 的话,匹配成功之后,就会产生 /dev/spidevX.Y 设备节点,通过这个节点可以和应用层进行交互
drivers/spi/spidev.c
spidev_read
(struct file *filp, char __user *buf, size_t count, loff_t *f_pos)
spidev_write
(struct file *filp, const char __user *buf, size_t

最低0.47元/天 解锁文章
235

被折叠的 条评论
为什么被折叠?



