spi_peripherals_driver
linux kernel spi外设驱动的编写,可以分为四步:
通过spi_sync()读写spi外设寄存器
配置设备树dts spi子节点
注册/注销 struct spi_driver 变量
当设备树与驱动匹配后,调用probe函数
通过spi_sync()读写spi外设寄存器
通过regmap API读写spi外设寄存器
配置设备树dts spi子节点(同上)
注册/注销 struct spi_driver 变量(同上)
当设备树与驱动匹配后,调用probe函数
通过regmap API读写spi外设寄存器
通过spi_sync()读写spi外设寄存器
1. 配置设备树dts spi子节点
2. 注册/注销 struct spi_driver 变量
定义 struct spi_driver 变量
调用相关API注册/注销
3. 当设备树与驱动匹配后,调用probe函数
设备树与驱动匹配,即设备树dts spi子节点的compatible属性 与 xxx_of_match_table结构体的.compatible变量相同,调用probe函数
4. 通过spi_sync()读写spi外设寄存器
读操作
写操作
通过regmap API读写spi外设寄存器
前提:spi控制器自动使能/失能CS引脚 或 spi控制器驱动手动使能/失能CS引脚,即 不需要spi外设驱动使能/失能CS引脚
1. 配置设备树dts spi子节点(同上)
2. 注册/注销 struct spi_driver 变量(同上)
3. 当设备树与驱动匹配后,调用probe函数
设备树与驱动匹配,即设备树dts spi子节点的compatible属性 与 xxx_of_match_table结构体的.compatible变量相同,调用probe函数
4. 通过regmap API读写spi外设寄存器
读操作
写操作
Last updated
Was this helpful?