高通平台音频调试笔记

可以通过抓取如下log来查看对应音频场景对应的音频设备,adb logcat -v time | grep "select_device"

1、喇叭

播放音乐,查看其音频设备,一般应该是speaker,如果有声音则表示默认正常,

如果没有声音,则要确认如下几点

        通过查看原理图确定speaker的接法,是直接接在lineout,耳机左右声道还是接codec的SPKDRV。

        如果是接在lineout,则一般lineout出来会接一个功放,看该功放是否使能,对应驱动是否添加,然后再修改mxier_paths.xml中speaker的音频控件,将其改为lineout

        如果是接在耳机左右声道,则一般也会接一个功放,看功放是否使能,对应驱动是否添加,再修改mixer_paths.xml中speaker的音频控件,将其改为耳机左右声道

        如果是直接接到codec的SPKDRV,则高通默认配置应该就可以

        

注:mixer_paths.xml也有可能是mxier_paths_mtp.xml,这个具体确定可以查看platform.c文件

 

2、听筒

因为普通音频场景使用不到听筒,而项目前期一般不能打电话,所以这个测试一般通过tinyplayin进行,当然其他的场景也可以使用tinyplay。听筒相对喇叭比较简单,一般都是直接接到codec的EARO_P, EARO_M,听筒一般不需要修改控件。可通过查看log确定使用听筒时的音频设备,具体使用tinyplay的方法,可参考我的另一个博客https://blog.csdn.net/u012899335/article/details/82421115

 

3、耳机

耳机要验证的主要有耳机插拔状态、耳机按键,耳机听筒,耳机mic。下面分别说明

耳机插拔检测,如果状态相反,则可以通过修改设备树qcom,msm-mbhc-hphl-swh 的值,具体可参考我另一篇博客。https://blog.csdn.net/u012899335/article/details/82312766

耳机按键,耳机按键的检测原理是不同按键按下时对应的阻值不同,codec检测到该阻值将其写到寄存器里,ap可以根据不同的阻值来进行判断不同的耳机按键。

耳机听筒,耳机听筒基本不会有问题,如果有问题,可能是欧标,美标不对导致。

耳机mic,耳机mic一般不会有问题,如果有问题,可能是欧标,美标不对导致。

 

4、mic

新项目的mic配置的难点主要在要确定硬件的接法,使用的是两脚mic还是四脚硅麦,mic的偏置电压设置,外部电容的配置,如果配置不对,则mic不会正常工作。

首先配置mic的偏置电压,设备树中有两种配置,一种是配置成外部偏置,一种配置成内部偏置,具体配置需要根据硬件连接确定。

外部电容的配置,硅麦因为本身不需要接电容,所以直接配置成外部电容即可,普通两脚mic需要接电容,如果硬件上串联的有电容,则配置为外部电容,否则使用内部电容。

 

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