SPI接口的ADC驱动调试
背景
最近在学习IIO子系统,顺带调试了个SPI接口的ADC驱动,所以在这简单记录下。
这里只简单介绍了适配一个简单SPI接口ADC驱动的流程,不过多深入框架子系统,更多关于IIO子系统的介绍,请见下一篇:
驱动开发
dts
dts主要修改或新增以下几点:
spi master控制器相关配置
spi设备节点配置
引脚复用配置
如spi节点配置例子:
DTS
&spi0 {
status = "okay";
num-cs = <1>; /* Total number of chip selects */ aaa: aaa@0 {
status = "okay";
reg = <0>; /* Chip select used by the device. */
compatible = "yyy,xxx";
wakeup-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>; /* gpio, interrupt... */
spi-cpol; /* The device requires inverse clock polarity (CPOL) mode. */
spi-cpha; /* The device requires shifted clock phase (CPHA) mode. */
spi-tx-bus-width = <1>; /* Bus width to the SPI bus used for write transfers. */
spi-rx-bus-width = <1>;
spi-max-frequency = <5000000>;
};
};
更多spi配置信息可参见内核文档spi相关部分[^spi]
作者: Shell