SADC控制器
模块功能介绍
X2000芯片的A/D转换模块是10位的高精度模数转换器,支持6路模拟输入。
内核源码路径
module_drivers/drivers/mfd/ingenic_adc_v13.c
module_drivers/drivers/mfd/ingenic_adc_aux.c
设备树配置
设备树所在位置:
kernel内核(version <= 5.10)dts文件路径:
module_driver/dts-stage/x2000/x2000.dtsi
kernel内核(version > 5.10)dts文件路径:
module_driver/dts/x2000/x2000.dtsi
SADC控制器描述:
sadc: sadc@10070000 {
compatible = "ingenic,x2000-sadc";
reg = <0x10070000 0x32>;
interrupt-parent = <&core_intc>;
interrupts = <IRQ_SADC>;
status = "ok";
};
设备树默认配置
默认编译会产生sadc设备
设备树自定义配置
用户可根据需求在板级设备树中添加sadc,并使能
&sadc {
status = "okay";
};
内核编译配置
内核默认编译配置
配置内核并编译sadc驱动:
Symbol: MFD_INGENIC_SADC_V13 [=y]
Type : tristate
Defined at module_drivers/drivers/mfd/Kconfig
Prompt: [SADC] Support for the Ingenic SADC core
Symbol: MFD_INGENIC_SADC_AUX [=y]
Type : tristate
Defined at module_drivers/drivers/mfd/Kconfig
Prompt: [SADC] Support for the Ingenic SADC AUX
内核自定义编译配置
SADC配置界面如下:

模块内核差异
无
设备节点生成
设备加载成功后会在/dev目录下生成如下节点:

应用程序使用说明
应用程序源码位置
packages/example/sadc/
命令行及参数示意
应用程序默认存放在/testsuite/sadc_sample
# cd /testsuite/sadc_sample
./sadc_sample adc_num
其中的adc_num指/dev下adc设备节点号;在x2000芯片中,adc_num可取的值为:0,1,2,3,4,5.