由于ac100 speaker通道的声音在声音调节到最小的时候还有很大的底噪,但是插上耳机没有。所以将声音默认到耳机通道,经过功放到喇叭输出,修改方法
将android\device\softwinner\polaris-common\hardware\audio\ac100_paths.xml文件中speaker path下面的设置改成headphone的相关设置,具体如下:
<path name="mixer-speaker">
<ctl name="SPK_L Mux" value="MIXEL Switch" />
<ctl name="SPK_R Mux" value="MIXER Switch" />
</path>
```
改成
<path name="mixer-speaker">
<ctl name="HP_R Mux" value="Right Analog Mixer HPR Switch" />
<ctl name="HP_L Mux" value="Left Analog Mixer HPL Switch" />
</path>
以下:
<path name="media-speaker">
<path name="aif1.0-dac" />
<path name="dac-mixer" />
<path name="mixer-speaker" />
<ctl name="External Speaker Switch" value="1" />
</path>
改成
<path name="media-speaker">
<path name="aif1.0-dac" />
<path name="dac-headphone" />
<ctl name="Headphone Switch" value="1" />
</path>
另外修改\lichee\linux-3.4\sound\soc\codecs\ac100_dapm.c文件在audio部分初始化的时候打开耳机部分的设置,在函数ac100_aif1clk最后初始化53H寄存器
snd_soc_write(codec, 0x56, 0xfff0);