Hi!
I use the SAI1 can output I2S waveform(including DATA,SYNC,BITCLK),But,When I enable the MQS(Bit 25 in IOMUXC_GPR_GPR2). The MQS pins (Left and right, use PAD LCD_DATA22 and LCD_DATA23 with Mode ALT1) output nothing.
Except enable the MQS, should I enable some other module?
Help me out. Thk.
Hi!
Thank you for your reply.
Now, I'm programming according to the "i.MX 6UltraLite Applications Processor Reference Manual". running Without OS.Just for test the MQS.
The SAI1 is working properly(Only transmit), All signals can output In my expectation.
In the Reference Manual, Only describe the bits in IOMUXC_GPR_GPR2 register (MQS_OVERSAMPLE, MQS_EN, MQS_SW_RST, MQS_CLK_DIV) should be configurated to use the MQS.
But when I Set the MQS_EN. The MQS pins output nothing. In my expectation, The MQS pins should output PWM-like waveform.
In addition, The MQS pins Left and right, use PAD LCD_DATA22 and LCD_DATA23 with Mode ALT1.
The other question, The MQS whether need rely on the ASRC?
Hi:
I seem to have found the cause of the problem.
The field "MSEL" of the register I2S_xTCR2 in Reference Manual description as follows:
MCLK Select
Selects the audio Master Clock option used to generate an internally generated bit clock. This field has no effect when configured for an externally generated bit clock.
00 Master Clock (MCLK) 1 option selected.
01 Master Clock (MCLK) 1 option selected.
10 Master Clock (MCLK) 2 option selected.
11 Master Clock (MCLK) 3 option selected.
When I set this field to “00“, The SAI1 is working properly(Only transmit), All signals can output(BCLK,DATA,SYNC) In my expectation. But, The MQS doesn't work.
When I set this field to "01", The SAI is also working properly. and the MQS is also working properly.
The MSEL is used to config the SAI Master clock, Why it influence the MQS?
It takes me a long time to find this.Fortunately, The MQS is working properly in finally.
Where can I find the detailed description for the value "00" to "11"?
thanks.
Hi
please check that set CONFIG_SND_SOC_IMX_MQS=y in imx_v7_defconfig
and enter mqs records and allocated for mqs pads like in :
imx6ul-14x14-ddr3-arm2-mqs.dts, imx6ul.dtsi
linux-2.6-imx.git - Freescale i.MX Linux Tree
linux-2.6-imx.git - Freescale i.MX Linux Tree
also one can add debug printfs to check mqs module registers.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------