Hi,
I developed a custom board for a CC-WST-J17D-NK module. Everything works fine except for the MEMS microphones.
I connected two microphones (CMM-4030DT-261280-TR) to the module: CLOCK to D1 and DATA to D0 (configured using the Digi ConnectCore Smart IOmux tool). One is configured as right channel and the second as left channel.
My difficulty is configuring the DTS file for Yocto:
/ {
dummy_codec_mic: dummy-codec-mic {
compatible = "linux,snd-soc-dummy"; #sound-dai-cells = <0>; }; sound_mic: sound-mic { compatible = "simple-audio-card"; simple-audio-card,name = "SAI1A-Mic-Stereo"; simple-audio-card,format = "pdm"; sai1a_cpu: simple-audio-card,cpu { sound-dai = <&sai1a>; }; simple-audio-card,codec { sound-dai = <&dummy_codec_mic>; }; };};
&sai1 {
pinctrl-names = "default", "sleep"; pinctrl-0 = <&ccmp25_sai1_pins>; pinctrl-1 = <&ccmp25_sai1_sleep_pins>; status = "okay"; sai1a: audio-controller@4400b004 { dma-names = "rx"; /\* capture uniquement \*/ status = "okay"; sai1a_port: port { sai1a_endpoint: endpoint { format = "pdm"; }; }; };};
&pinctrl {
ccmp25_sai1_pins: ccmp25-sai1 { pins { pinmux = <STM32_PINMUX('D', 0, AF6)>, /\* SAI1_D1 \*/ <STM32_PINMUX('D', 1, AF6)>; /\* SAI1_CK2 \*/ drive-push-pull; bias-disable; slew-rate = <1>; }; }; ccmp25_sai1_sleep_pins: ccmp25-sai1-sleep { pins { pinmux = <STM32_PINMUX('D', 0, ANALOG)>, /\* SAI1_D1 \*/ <STM32_PINMUX('D', 1, ANALOG)>; /\* SAI1_CK2 \*/ }; };};
under Linux I can see the sound card, but when I perform a recording it is empty and no clock is generated (verified with an oscilloscope).
If someone could help me debug this, I would appreciate it.
Thank you in advance.
