Hi,
We are working with i.MX8MM EVK + i.MX 8MIC-RPI-MX8 Board.
i.MX 8MIC-RPI-MX8 Board is interfaced to i.MX8MM EVK through MICFIL (PDM) interface
arecord of mic capture at 16KHz randomly observed spike. this behavior is random.
we are testing with the test application as suggested by "igor"
https://source.codeaurora.org/external/imx/imx-test/tree/test/mxc_pdm_test?h=imx_5.4.47_2.2.0
Meanwhile, when we observe the machine driver code for micfil "imx-micfil.c"
/* For playback the XTOR is slave, and for record is master */
fmt |= tx ? SND_SOC_DAIFMT_CBS_CFS : SND_SOC_DAIFMT_CBM_CFM;
dir = tx ? SND_SOC_CLOCK_OUT : SND_SOC_CLOCK_IN;
For rx , The MiCFiL is Slave (SND_SOC_DAIFMT_CBM_CFM),
Is my understanding is correct?
And can we change it as Master and clock direction as "out"
Kindly let us know.
Thank you, Sreedhar
Hi Sreedhar
>For rx , The MiCFiL is Slave (SND_SOC_DAIFMT_CBM_CFM),
>Is my understanding is correct?
yes correct
>And can we change it as Master and clock direction as "out"
in general one can change it, however for i.MX 8MIC-RPI-MX8 Board
no manual driver changes are needed. One can follow
sect.3 Record Audio i.MX 8MIC-RPI-MX8 Board Quick Start Guide
Best regards
igor
Thank you Igor!!
"
>For rx , The MiCFiL is Slave (SND_SOC_DAIFMT_CBM_CFM),
>Is my understanding is correct?
yes correct
"
If MiCFIL interface is Slave during receive operation. Could you please clarify me who is the master sending the clock? Is it PDM MiC?
Thank you, Sreedhar
Hi Sreedhar
based on below driver comments, for XTOR slave clock is provided from PDM microphone side
/* For playback the XTOR is slave, and for record is master */
fmt |= tx ? SND_SOC_DAIFMT_CBS_CFS : SND_SOC_DAIFMT_CBM_CFM;
dir = tx ? SND_SOC_CLOCK_OUT : SND_SOC_CLOCK_IN;
Best regards
igor