移植-音频
音频通路示意
8550 平台的音频输出/输入通路:


WCD9385 的 HPH 播放和 AMIC 录音
1. 修改设备树
对应的设备树文件:
src/vendor/qcom/proprietary/audio-devicetree/kalama-audio-rb5-gen2.dtsi配置 Routing :设置播放、录音所需音频通路与 BIAS 偏置电压
&kalama_snd {
qcom,audio-routing =
"AMIC1", "Analog Mic1",
"AMIC1", "MIC BIAS1",
...
"IN1_HPHL", "HPHL_OUT",
"IN2_HPHR", "HPHR_OUT",
"IN3_AUX", "AUX_OUT",
...
"RX_TX DEC0_INP", "TX DEC0 MUX",
"RX_TX DEC1_INP", "TX DEC1 MUX",
"RX_TX DEC2_INP", "TX DEC2 MUX",
"RX_TX DEC3_INP", "TX DEC3 MUX",
...
"TX SWR_INPUT", "WCD_TX_OUTPUT",
...
};配置 Codec:
&kalama_snd {
asoc-codec = , , ;
asoc-codec-names = "msm-stub-codec.1", "lpass-cdc", "wcd938x_codec";
};裁剪 Dailink:
&kalama_snd {
qcom,wsa-max-devs = ;
qcom,wcn-bt = ;
};修改 MIC 的插拔检测电平:
&kalama_snd {
qcom,msm-mbhc-hphl-swh = ;
};关闭和 DP 的关联:
&kalama_snd {
qcom,ext-disp-audio-rx = ;
};2. 录音测试
通过 agmcap 进行录音测试:
bash
qtitinymix 'TX DEC0 MUX' 'SWR_MIC'
qtitinymix 'ADC2 ChMap' 'SWRM_TX2_CH2'
qtitinymix 'TX SMIC MUX0' 'SWR_MIC5'
qtitinymix 'TX_AIF1_CAP Mixer DEC0' 1
qtitinymix 'ADC2_MIXER Switch' 1
qtitinymix 'HDR12 MUX' 'NO_HDR12'
qtitinymix 'ADC2 MUX' 'INP2'
qtitinymix 'ADC2 Volume' 12
qtitinymix 'TX1 MODE' 'ADC_LP'
qtitinymix 'DEC0 MODE' 'ADC_DEFAULT'
qtitinymix 'TX_DEC0 Volume' 68
qtitinymix 'AMIC2_MIXER Switch' 1
agmcap /data/test.wav -D 100 -d 101 -c 1 -r 48000 -b 16 -i CODEC_DMA-LPAIF_RXTX-TX-33. 播放测试
通过 agmplay 进行播放测试:
bash
qtitinymix 'RX_MACRO RX0 MUX' 'HPH_L'
qtitinymix 'RX_MACRO RX1 MUX' 'HPH_R'
qtitinymix 'RX INT0_1 MIX1 INP0' 'RX0'
qtitinymix 'RX INT1_1 MIX1 INP0' 'RX1'
qtitinymix 'HPH_L Volume' 20
qtitinymix 'HPH_R Volume' 20
qtitinymix 'HPHL_RX_PGA' 'HPHL'
qtitinymix 'HPHR_RX_PGA' 'HPHR'
agmplay /data/test.wav -D 100 -d 100 -i CODEC_DMA-LPAIF_RXTX-RX-0