[alsa-devel] WM8510 on i.MX6
Schrempf Frieder
frieder.schrempf at kontron.de
Thu Feb 28 09:54:22 CET 2019
Hi,
I have a board with i.MX6 and a WM8510 codec and I can play audio using
an old vendor kernel (3.14) and my own asoc machine driver [1].
Now I want to run this with something more recent (currently trying on
4.14) and upstream drivers like simple-card or fsl-asoc-card.
The problem is I'm only getting a little bit of noise from the speakers
but nothing more.
I would really appreciate it if someone more knowledgeable could have a
quick look and maybe come up with some ideas how I can proceed debugging.
Thanks,
Frieder
[1] https://paste.ee/p/VuZbg
My devicetree setup for the simple-card approach looks like this:
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "wm8510-audio";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&sound_codec>;
simple-audio-card,frame-master = <&sound_codec>;
simple-audio-card,widgets =
"Speaker", "Ext Spk";
simple-audio-card,routing =
"Ext Spk", "SPKOUTP",
"Ext Spk", "SPKOUTN";
assigned-clocks = <&clks IMX6QDL_CLK_CKO2_SEL>,
<&clks IMX6QDL_CLK_CKO2>;
assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>,
<&clks IMX6QDL_CLK_CKO2_PODF>;
assigned-clock-rates = <0 24000000>;
sound_master: simple-audio-card,cpu {
sound-dai = <&ssi2>;
};
sound_codec: simple-audio-card,codec {
sound-dai = <&codec>;
clocks = <&clks IMX6QDL_CLK_CKO2>;
};
};
&audmux {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_audmux>;
status = "okay";
ssi2 {
fsl,audmux-port = <1>;
fsl,port-config = <
(IMX_AUDMUX_V2_PTCR_SYN |
IMX_AUDMUX_V2_PTCR_TFSEL(4) |
IMX_AUDMUX_V2_PTCR_TCSEL(4) |
IMX_AUDMUX_V2_PTCR_TFSDIR |
IMX_AUDMUX_V2_PTCR_TCLKDIR)
IMX_AUDMUX_V2_PDCR_RXDSEL(4)
>;
};
aud5 {
fsl,audmux-port = <4>;
fsl,port-config = <
IMX_AUDMUX_V2_PTCR_SYN
IMX_AUDMUX_V2_PDCR_RXDSEL(1)
>;
};
};
&ssi2 {
status = "okay";
};
&i2c2 {
status = "okay";
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
codec: wm8510 at 1a {
#sound-dai-cells = <0>;
compatible = "wlf,wm8510";
reg = <0x1a>;
};
};
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sound_mclk>;
pinctrl_sound_mclk: sound {
/* WM8510 MCLK */
fsl,pins = <
MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0
>;
};
pinctrl_audmux: audmux {
fsl,pins = <
MX6QDL_PAD_KEY_COL0__AUD5_TXC 0x130b0
MX6QDL_PAD_KEY_COL1__AUD5_TXFS 0x130b0
MX6QDL_PAD_KEY_ROW1__AUD5_RXD 0x130b0
MX6QDL_PAD_KEY_ROW0__AUD5_TXD 0x130b0
>;
};
};
More information about the Alsa-devel
mailing list