IMX8MP+WM8962 recording line in problem.
Audio playback works fine, but we connected line out and line in, no sound was recorded.
Diagram:
Added device to devicetree:
sound-wm8962 {
compatible = "fsl,imx-audio-wm8962";
model = "wm8962-audio";
audio-cpu = <&sai3>;
audio-codec = <&codec>;
//hp-det-gpio = <&pcal6524 4 GPIO_ACTIVE_HIGH>;
hp-det-gpio = <&gpio4 28 1>;
mic-det-gpio = <&gpio3 19 1>;
audio-routing =
"Headphone Jack", "HPOUTL",
"Headphone Jack", "HPOUTR",
"Ext Spk", "SPKOUTL",
"Ext Spk", "SPKOUTR",
"AMIC", "MICBIAS",
"IN2R", "AMIC",
"IN4R", "AMIC",
"IN2L", "AMIC",
"IN4L", "AMIC";
};
clocks {
codec_osc: aud_mclk {
compatible = "fixed-clock";
#clock-cells = <0>;
//clock-frequency = <24000000>;
clock-frequency = <24576000>;
clock-output-names = "wm8962-mclk";
};
};codec: wm8962@1a {compatible = "wlf,wm8962";reg = <0x1a>;//clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI3_MCLK1>;clocks = <&codec_osc>;clock-names = "mclk";wlf,shared-lrclk;wlf,fixed-mclk;//wlf,hp-cfg =2 3>; //wlf,gpio-cfg = <1 3>;DCVDD-supply = <®_audio_pwr>;DBVDD-supply = <®_audio_pwr>;AVDD-supply = <®_audio_pwr>;CPVDD-supply = <®_audio_pwr>;MICVDD-supply = <®_audio_pwr>;PLLVDD-supply = <®_audio_pwr>;SPKVDD1-supply = <®_audio_pwr>;SPKVDD2-supply = <®_audio_pwr>;gpio-cfg = <0x0000 // 0:Default0x0000 // 1:Default0x0013 // 2:FN_DMICCLK0x0000 // 3:Default0x8014 // 4:FN_DMICCDAT0x0000 // 5:Default>;mic-cfg;};&sai3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai3>;
assigned-clocks = <&clk IMX8MP_CLK_SAI3>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
fsl,txmasterflag;
//assigned-clock-rates = <12288000>;
assigned-clock-rates = <24576000>;
clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI3_IPG>, <&clk IMX8MP_CLK_DUMMY>,
<&audio_blk_ctrl IMX8MP_CLK_AUDIO_BLK_CTRL_SAI3_MCLK1>, <&clk IMX8MP_CLK_DUMMY>,
<&clk IMX8MP_CLK_DUMMY>;
clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
fsl,sai-mclk-direction-output;
status = "okay";
};
pinctrl_sai3: sai3grp {fsl,pins = <MX8MP_IOMUXC_SAI3_TXFS__AUDIOMIX_SAI3_TX_SYNC 0xd6MX8MP_IOMUXC_SAI3_TXC__AUDIOMIX_SAI3_TX_BCLK 0xd6MX8MP_IOMUXC_SAI3_RXD__AUDIOMIX_SAI3_RX_DATA00 0xd6MX8MP_IOMUXC_SAI3_TXD__AUDIOMIX_SAI3_TX_DATA00 0xd6MX8MP_IOMUXC_SAI3_MCLK__AUDIOMIX_SAI3_MCLK 0xd6MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28 0xd6MX8MP_IOMUXC_SAI3_RXC__GPIO4_IO29 0xd6>;};
List of all devices:
root@imx8mpevk:~# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: btscoaudio [bt-sco-audio], device 0: 30c20000.sai-bt-sco-pcm-wb bt-sco-pcm-wb-0 [30c20000.sai-bt-sco-pcm-wb bt-sco-pcm-wb-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: audiohdmi [audio-hdmi], device 0: i.MX HDMI i2s-hifi-0 [i.MX HDMI i2s-hifi-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: imxaudioxcvr [imx-audio-xcvr], device 0: XCVR PCM snd-soc-dummy-dai-0 [XCVR PCM snd-soc-dummy-dai-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 4: wm8962audio [wm8962-audio], device 0: HiFi wm8962-0 [HiFi wm8962-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@imx8mpevk:~# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: btscoaudio [bt-sco-audio], device 0: 30c20000.sai-bt-sco-pcm-wb bt-sco-pcm-wb-0 [30c20000.sai-bt-sco-pcm-wb bt-sco-pcm-wb-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: imxaudiomicfil [imx-audio-micfil], device 0: micfil hifi snd-soc-dummy-dai-0 [micfil hifi snd-soc-dummy-dai-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: imxaudioxcvr [imx-audio-xcvr], device 0: XCVR PCM snd-soc-dummy-dai-0 [XCVR PCM snd-soc-dummy-dai-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 4: wm8962audio [wm8962-audio], device 0: HiFi wm8962-0 [HiFi wm8962-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
The above are my settings. I use arecord and aplay to record.
The audio files that can be recorded have no sound at all
Do you have any suggestions on what needs to be modified or set up?