pm8909的adc内部架构如图所示(参考《80-nn174-58_b_pmic_adc_software_user_guide.pdf》):
MPP configuration就是在设备树里配置:
pm8909_mpps: mpps {
compatible = “qcom,qpnp-pin”;
spmi-dev-container;
gpio-controller;
#gpio-cells = <2>;
#address-cells = <1>;
#size-cells = <1>;
label = “pm8909-mpp”;
……
mpp@a300 { //配置a300是第4个mpp
reg = <0xa300 0x100>;
qcom,pin-num = <4>;
};
};
&pm8909_mpps {
……
mpp@a300 { /* MPP 4 */
qcom,mode = <4>; /功能选择 4:AIN input /
qcom,invert = <1>; / Disable invert / 输入功能的话,这个值设为0,1没有影响
qcom,ain-route = <3>; / AMUX 8 / QPNP_PIN_AIN_AMUX_CH8 = 3, (MPP)
//这里的amux8是指结构框图前面的mux的输入为8(见标识),并不是表格中的amux=8,表格中是所有的ADC通道的统一编排。
//即这里的amux8要对应到表格的19通道。
//如果是MPP2,配置为amux6,对应到表格的17通道。
qcom,master-en =