首页 > 常见问题 | 艾为电子 > FAQ0100156: 音频芯片若i2c_probe未被调用,如何排查?

FAQ0100156: 音频芯片若i2c_probe未被调用,如何排查?

Audio 2021-07-01 阅读量: 119 点赞量: 0

(以数字PA aw882xx driver code为例

1.确认DTS中修改位置正确,编译生效

执行adb shell指令

cd /sys/firmware/devicetree/base/soc/或cd /sys/firmware/devicetree/base/进入目录,再根据PA所挂载的i2c总线号打开对应目录,目录下有aw882xx_smartpa的节点则编译生效。


以QCOM平台,i2c0为例:cd /sys/firmware/devicetree/base/soc/i2c@4a84000,可以看到有aw882xx_smartpa@34和aw882xx_smartpa@35,说明dts修改生效;

1.png


以MTK平台,i2c6为例:cd /sys/firmware/devicetree/base/i2c6@11f00000,可以看到有aw882xx_smartpa@34,说明dts修改生效;

22.png


若上述验证不通过,需要检查所修改的dts是否有被编译到;


2.确认驱动移植编译生效

kernel log检索i2c_init,若有“aw882xx_i2c_init: aw882xx driver version…”说明驱动移植编译生效;若未进入i2c_init,需要检查编译配置,驱动是否有编译到;

确认设备树配置的compatible属性和驱动定义的compatible是否一致;

(1)设备树的compatible:

3.png


(2)驱动(以AW882XX为例)中定义了多个compatible,有一个匹配即可;

4.png


不匹配,需要修改设备树,按照驱动定义修改一致。


返回FAQ列表