高通平台ADC开发-AT+QTEMP

1.高通平台AP内部没有集成ADC电路,使用的是PMU内部的ADC,通过PMU的GPIO或者AMUX采集接口,AT+QADC命令采集电压信息,AT+QTEMP命令将采集的电压信息转换为温度信息,信息通过spmi总线发送给AP处理。sdx55平台使用的PMU型号为PMX55,内部集成的ADC channel信息如下:

高通平台ADC开发-AT+QTEMP_第1张图片

PMX55 ADC功能图:

高通平台ADC开发-AT+QTEMP_第2张图片

ADC channel定义在qcom,spmi-vadc.h中,根据不同的芯片内部上拉电阻来区分不同channel,上拉电阻可以通过软件来控制,比如下图中的AMUX1物理接口的ADC如果内部上拉是30k,则软件控制的ADC channel是0x2d;如果内部上拉是100k,则ADC channel是0x4d

高通平台ADC开发-AT+QTEMP_第3张图片

比如我们需要读AMUX4(原理图如下)物理channel的温度信息,首先确认下内部上拉选择多少,比如100k上拉,则从qcom,spmi-vadc.h中我们知道100k内部上拉的AMUX4的channel是0x50。

高通平台ADC开发-AT+QTEMP_第4张图片

则需要修改的代码如下,在pmxprairie.dtsi的pmxprairie_adc_tm_iio节点中添加改节点的处理信息

高通平台ADC开发-AT+QTEMP_第5张图片

从上图可以看出来实际的ADC配置节点是在pmxprairie_vadc中,所以需要做下面修改,在sdxprairie-mtp.dtsi的pmxprairie_vadc中添加如下节点代码,属性的解析可以参考qcom,spmi-adc5.txt文档

高通平台ADC开发-AT+QTEMP_第6张图片

你可能感兴趣的:(Linux驱动)