I'm working on IMX8M Mini EVK.
At first I tried to play an audio wav file in the EVK for audio jack, I was only able to play audio files having max 2 channels and 48000 Hz sample rate.
Then, I integrated cx9000 synaptics audio amplifier driver with imx8m mini evk which supports different sample rates and connected the amplifier to the evk, on that also I was only able to play audio files having max 2 channels and 48000 Hz sample rate.
So, I want to know if this is hardware platform limitation or platform driver limitation ?
I am able to play audios of wav format having Sampling Rate 48000Hz and 96000Hz on i.MX8M Mini EVK without integrating the cx9000 synaptics audio amplifier driver.
Can you please try these audios attached herewith at your end without integrating the cx9000 audio driver?
I have used the linux kernel version 4.14.98. And I am playing audio using aplay command.
Let us know your observations/results.
I debugged codec and fsl-sai drivers for this issue and found below observations,
First, CPU is in master mode and codec is slave.
When I was trying to play audio of 44100 hz sample rate, I found that SAI1 interface of IMXM Mini was not able to set the bitclk required for 44.1 khz sample rate i.e. 44100 * 16 * 2 = 1411200.
[ 30.860586] fsl-sai 30010000.sai: setting Tx rate: 1411200, saveratio = 0
[ 30.867384] fsl-sai 30010000.sai: failed to derive required Tx rate: 1411200
[ 30.874509] fsl-sai 30010000.sai: ASoC: can't set 30010000.sai hw params: -22
When I was trying to play audio of 96000 hz sample rate, fsl-sai driver was able to set the desired bitclk of 3072000 (i.e 96000 * 16 * 2), but audio was not playing on the speakers.
Right now, I'm playing audio on cx9000 audio amplifier (on SAI1 of imx8) which supports different sample rates of 44.1khz, 48khz, 96 khz and 192khz.
NOTE: I was not able to play different sample rate audio on default audio jack drivers (which was connected on SAI1) on imx8m mini evk also.
Please, reply regarding this.