SPI驱动源文件目录在哪

spi 驱动源文件目录
linux common spi driver
kernel-4.14/drivers/spi/spi.c linux 提供的通用接口封装层驱动kernel-4.14/drivers/spi/spidev.c linux 提供的 spi 通用设备驱动程序kernel-4.14/include/linux/spi/spi.h linux 提供的包含 spi 的主要数据结构和函数spi 控制器驱动,ic 厂商提供,不同厂商命名不同
kernel-4.14/drivers/spi/spi-mt65xx.c mtk spi 控制器驱动kernel-4.14/drivers/spi/spi-mt65xx-dev.ckernel-4.14/include/linux/platform_data/spi-mt65xx.hdts
kernel-4.14/arch/arm/boot/dts/...kernel-4.14/arch/arm64/boot/dts/...以上文件对应如下 spi 驱动软件架构:
spi 控制器驱动程序spi 控制器不用关心设备的具体功能,它只负责把上层协议驱动准备好的数据按 spi 总线的时序要求发送给 spi 设备,同时把从设备收到的数据返回给上层的协议驱动,因此,内核把 spi 控制器的驱动程序独立出来。
spi 控制器驱动负责控制具体的控制器硬件,诸如 dma 和中断操作等等,因为多个上层的协议驱动可能会通过控制器请求数据传输操作,所以,spi 控制器驱动同时也要负责对这些请求进行队列管理,保证先进先出的原则。
spi 通用接口封装层为了简化 spi 驱动程序的编程工作,同时也为了降低【协议驱动程序】和【控制器驱动程序】的耦合程度,内核把控制器驱动和协议驱动的一些通用操作封装成标准的接口,加上一些通用的逻辑处理操作,组成了 spi 通用接口封装层。
这样的好处是,对于控制器驱动程序,只要实现标准的接口回调 api,并把它注册到通用接口层即可,无需直接和协议层驱动程序进行交互。而对于协议层驱动来说,只需通过通用接口层提供的 api 即可完成设备和驱动的注册,并通过通用接口层的 api 完成数据的传输,无需关注 spi 控制器驱动的实现细节。
spi 协议驱动程序spi 设备的具体功能是由 spi 协议驱动程序完成的,spi 协议驱动程序了解设备的功能和通信数据的协议格式。向下,协议驱动通过通用接口层和控制器交换数据,向上,协议驱动通常会根据设备具体的功能和内核的其它子系统进行交互。
例如,和 mtd 层交互以便把 spi 接口的存储设备实现为某个文件系统,和 tty 子系统交互把 spi 设备实现为一个 tty 设备,和网络子系统交互以便把一个 spi 设备实现为一个网络设备。如果是一个专有的 spi 设备,我们也可以按设备的协议要求,实现自己的专有协议驱动。
spi 通用设备驱动程序考虑到连接在 spi 控制器上的设备的可变性,在内核没有配备相应的协议驱动程序,对于这种情况,内核为我们准备了通用的 spi 设备驱动程序,该通用设备驱动程序向用户空间提供了控制 spi 控制的控制接口,具体的协议控制和数据传输工作交由用户空间根据具体的设备来完成,在这种方式中,只能采用同步的方式和 spi 设备进行通信,所以通常用于一些数据量较少的简单 spi 设备。

国际电信联盟《无线电规则》摘录
FPGA纯verilog编解码SDI实现流程
特斯拉自研车用MCU控制器设计
Intel14nm产能缺货不仅没有对业绩产生影响 甚至营收还比年初预计的高了62亿美元
物联网将高速发展,助力智能生活变革
SPI驱动源文件目录在哪
e络盟社区发布新一期3D打印电子书
4-20mA控制单电磁铁0-10V0-5V控制双电磁铁比例阀放大器
中兴通讯:已与美国和解,暴风已经过去了
国产特斯拉Model 3开启预订 意图挽救急转直下的特斯拉
LM48100Q Boomer 音频功率放大器,适用于汽车警
aigo国民好物移动固态硬盘 打工人的高效办公搭档
关于并发编程与线程安全的思考与实践
高性能信号处理技术将取代标准IC
大电流弹片微针模组能够满足FPC连接器的测试需求
ADI公司和LifeQ携手提升健康管理应用中人体监测设备的效能
智租换电进入济南、青岛!
光谱分析仪能检测什么_光谱分析仪检测方法(分析检测)
长时间戴耳机对耳朵的伤害多大?这几点一定要牢记
瑞萨电子推出RX23W 适用于家用电器、医疗设备等物联网终端设备