文章目录
1:硬件信息
平台gpio 列表:
对应 SEC_MI2S gpio group
- gpio125
- gpio126
- gpio127
- gpio128

2:Dmic配置点
2.1:声卡dts配置
&sm6150_snd {
status = "ok";
qcom,model = "trinket-idp-snd-card";
//......
qcom,audio-routing =
"AMIC2", "MIC BIAS2",
"MIC BIAS2", "Analog Mic2",
"TX DMIC0", "MIC BIAS1",
"MIC BIAS1", "Digital Mic0",
"TX DMIC0", "Digital Mic0",
"TX DMIC1", "MIC BIAS1",
"MIC BIAS1", "Digital Mic1",
"TX DMIC1", "Digital Mic1",
"TX DMIC2", "MIC BIAS3",
"MIC BIAS3", "Digital Mic2",
"TX DMIC3", "MIC BIAS3",
"MIC BIAS3", "Digital Mic3",
//......
qcom,cdc-dmic01-gpios = <&cdc_dmic01_gpios>;
qcom,cdc-dmic23-gpios = <&cdc_dmic23_gpios>;
//qcom,sec-mi2s-gpios = <&cdc_sec_mi2s_gpios>; //与dmic 同gpio 无法同时使用
qcom,pri-mi2s-gpios = <&cdc_pri_mi2s_gpios>;
qcom,tert-mi2s-gpios = <&cdc_tert_mi2s_gpios>;
asoc-codec = <&stub_codec>, <&bolero>, <&ext_disp_audio_codec>;
asoc-codec-names = "msm-stub-codec.1", "bolero_codec", //codec bolero 需要配置,后面做解析
"msm-ext-disp-audio-codec-rx";
qcom,wsa-max-devs = <0>;
qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>,
<&wsa881x_0213>, <&wsa881x_0214>;
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
"SpkrLeft", "SpkrRight";
qcom,codec-max-aux-devs = <1>;
qcom,codec-aux-devs = <&wcd937x_codec>;
qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>,
<&bolero>;
};
2.2:pinctrl DTS配置
soc中配置
cdc_dmic01_gpios: cdc_dmic01_pinctrl {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&cdc_dmic01_clk_active &cdc_dmic01_data_active>;
pinctrl-1 = <&cdc_dmic01_clk_sleep &cdc_dmic01_data_sleep>;
};
cdc_dmic23_gpios: cdc_dmic23_pinctrl {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&cdc_dmic23_clk_active &cdc_dmic23_data_active>;
pinctrl-1 = <&cdc_dmic23_clk_sleep &cdc_dmic23_data_sleep>;
};
tlmm中配置:
cdc_dmic01_clk_active: dmic01_clk_active {
mux {
pins = "gpio125";
function = "DMIC0_CLK";
};
config {
pins = "gpio125";
drive-strength = <8>;
output-high;
};
};
cdc_dmic01_clk_sleep: dmic01_clk_sleep {
mux {
pins = "gpio125";
function = "DMIC0_CLK";
};
config {
pins = "gpio125";
drive-strength = <2>;
bias-disable;
output-low;
};
};
cdc_dmic01_data_active: dmic01_data_active {
mux {
pins = "gpio126";
function = "DMIC0_DATA";
};
config {
pins = "gpio126";
drive-strength = <8>;
input-enable;
};
};
cdc_dmic01_data_sleep: dmic01_data_sleep {
mux {
pins = "gpio126";
function = "DMIC0_DATA";
};
config {
pins = "gpio126";
drive-strength = <2>;
pull-down;
input-enable;
};
};
cdc_dmic23_clk_active: dmic23_clk_active {
mux {
pins = "gpio127";
function = "DMIC1_CLK";
};
config {
pins = "gpio127";
drive-strength = <8>;
output-high;
};
};
cdc_dmic23_clk_sleep: dmic23_clk_sleep {
mux {
pins = "gpio127";
function = "DMIC1_CLK";
};
config {
pins = "gpio127";
drive-strength = <2>;
bias-disable;
output-low;
};
};
cdc_dmic23_data_active: dmic23_data_active {
mux {
pins = "gpio128";
function = "DMIC1_DATA";
};
config {
pins = "gpio128";
drive-strength = <8>;
input-enable;
};
};
cdc_dmic23_data_sleep: dmic23_data_sleep {
mux {
pins = "gpio128";
function = "DMIC1_DATA";
};
config {
pins = "gpio128";
drive-strength = <2>;
pull-down;
input-enable;
};
};
2.3:路由配置
<path name="audio-record">
<ctl name="MultiMedia1 Mixer TX_CDC_DMA_TX_3" value="1" />
</path>
<path name="handset-mic">
<path name="dmic1" />
</path>
<path name="dmic1">
<ctl name="TX_CDC_DMA_TX_3 Channels" value="One" />
<ctl name="TX_AIF1_CAP Mixer DEC0" value="1" />
<ctl name

本文详细介绍了SM6125平台的Dmic配置,包括声卡DTS配置、pinctrl配置、路由设置以及Codec Bolero的注册过程。此外,还涉及了widget和snd_kcontrol注册,以及Dmic调试中的关键步骤和Tinymix测试案例。
8526

被折叠的 条评论
为什么被折叠?



