版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33487044/article/details/85931636
平台 | 内核版本 | 安卓版本 |
---|---|---|
RK3399 | Linux4.4 | Android7.1 |
结构体
目录:kernel/include/linux/iio/consumer.h
iio_channel
结构体
iio_dev
结构体
该结构体主要用于描述 IO 口所属的设备,其具体定义如下
目录:kernel/include/linux/iio/iio.h
iio_chan_spec
结构体:
配置步骤
配置`DTS``节点
目录:kernel/arch/arm64/boot/dts/rockchip/rk3399.dtsi
添加通道定义,并将其 status
改为 "okay"
即可
kernel/arch/arm64/boot/dts/rockchip/rk3399-nanopi4-common.dtsi
在驱动文件中匹配 DTS 节点
目录:kernel/drivers/input/keyboard/rk_keys.c
将该结构体数组填充到要使用 ADC
的 platform_driver
中。
获取 AD 通道
通过probe
函数传进来的参数pdev
获取IIO
通道结构体
在probe
函数中调用的rk_keys_parse_dt
:
读取 AD
采集到的原始数据
probe
函数中会创建工作队列:
INIT_DELAYED_WORK(&ddata->adc_poll_work, adc_key_poll);