i.MX8MM MiCFiL in Machine driver (imx-micfil) DAI fmt query

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX8MM MiCFiL in Machine driver (imx-micfil) DAI fmt query

1,511件の閲覧回数
sreedhar_appala
Contributor IV

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

0 件の賞賛
返信
3 返答(返信)

1,504件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

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

0 件の賞賛
返信

1,498件の閲覧回数
sreedhar_appala
Contributor IV

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

0 件の賞賛
返信

1,491件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

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

0 件の賞賛
返信