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