AnsweredAssumed Answered

IMX6UL双声卡设置

Question asked by 承 王 on Jun 8, 2017
Latest reply on Jun 8, 2017 by 承 王

系统linux 3.14,设备树文件如下,电路上将一个wm8960断开,另一个声卡能正常工作。但是当两个都挂载时都不能工作,请问应该怎么设置?

sound@0 {
compatible = "fsl,imx6ul-evk-wm8960",
"fsl,imx-audio-wm8960";
model = "wm8960-audio";
cpu-dai = <&sai1>;
audio-codec = <&codec_2>;
asrc-controller = <&asrc>;
codec-master;
gpr = <&gpr>;
audio-routing =
"Headset Jack", "HP_L",
"Headset Jack", "HP_R",
"LINPUT1", "Main MIC",
"CPU-Playback", "ASRC-Playback",
"Playback", "CPU-Playback",
"ASRC-Capture", "CPU-Capture",
"CPU-Capture", "Capture";
};

sound@1 {
compatible = "fsl,imx6ul-evk-wm8960",
"fsl,imx-audio-wm8960";
model = "wm8960-audio";
cpu-dai = <&sai2>;
audio-codec = <&codec_1>;
asrc-controller = <&asrc>;
codec-master;
gpr = <&gpr>;
audio-routing =
"Headset Jack", "HP_L",
"Headset Jack", "HP_R",
"LINPUT1", "Main MIC",
"CPU-Playback", "ASRC-Playback",
"Playback", "CPU-Playback",
"ASRC-Capture", "CPU-Capture",
"CPU-Capture", "Capture";
};

&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";

codec_1:wm8960@1a{
compatible = "wlf,wm8960";
reg = <0x1a>;
clocks = <&clks IMX6UL_CLK_SAI1>;
clock-names = "mclk";
wlf,shared-lrclk;
};
};

&i2c2 {
clock_frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
codec_2:wm8960@1a{
compatible = "wlf,wm8960";
reg = <0x1a>;
clocks = <&clks IMX6UL_CLK_SAI2>;
clock-names = "mclk";
wlf,shared-lrclk;
};
};


&sai1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai1>;

assigned-clocks = <&clks IMX6UL_CLK_SAI1_SEL>,
<&clks IMX6UL_CLK_SAI1>;
assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
assigned-clock-rates = <0>, <12288000>;

status = "okay";
};

&sai2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai2>;

assigned-clocks = <&clks IMX6UL_CLK_SAI2_SEL>,
<&clks IMX6UL_CLK_SAI2>;
assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
assigned-clock-rates = <0>, <12288000>;

status = "okay";
};

Outcomes