编写SPI设备驱动程序
文章目录
参考资料:
-
内核头文件:
include\linux\spi\spi.h -
内核文档:
Documentation\spi\spidev
一、 SPI驱动程序框架

二、 怎么编写SPI设备驱动程序
2.1 编写设备树
-
查看原理图,确定这个设备链接在哪个SPI控制器下
-
在设备树里,找到SPI控制器的节点
-
在这个节点下,创建子节点,用来表示SPI设备
-
示例如下:
&ecspi1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ecspi1>; fsl,spi-num-chipselects = <2>; cs-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>, <&gpio4 24 GPIO_ACTIVE_LOW>; status = "okay"; dac: dac { compatible = "100ask,dac"; reg = <0>; spi-max-frequency = <10000000>; }; };
2.2 注册spi_driver
SPI设备的设备树节点,会被转换为一个spi_device结构体。
我们需要编写一个spi_driver来支持它。
示例如下:
static

本文介绍了如何编写SPI设备驱动程序,包括在设备树中配置SPI设备,注册spi_driver以及如何发起SPI传输的接口函数,如spi_write、spi_read等。同时,文章提到了适用于不同上下文的同步和异步传输函数,并强调了spi_transfer和spi_message结构体在SPI通信中的作用。
最低0.47元/天 解锁文章
359

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



