Old i2s microphone driver does not work on newer kernel versions with imx8mq.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Old i2s microphone driver does not work on newer kernel versions with imx8mq.

380 Views
synaption
Contributor I

I am trying to use the driver and a slightly modified DTS from this post.  https://community.nxp.com/t5/i-MX-Processors/IMX8MM-SPH0645-I2S-microphone-speed-up-recordings/m-p/1...

I think the driver was made by following this document.  https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/imx-processors%40tkb/828/1/Add%20audio%2...

The problem is that the driver no longer compiles.  I get this error:  

sound/soc/fsl/imx-sph0645.c:43:35: error: ‘struct snd_soc_pcm_runtime’ has no member named ‘cpu_dai’
43 | struct snd_soc_dai *cpu_dai = rtd->cpu_dai;

I think this has to do with my kernel version because the imx-wm8524.c diver that the sph0645 driver appears to be based off of disappeared somewhere between imx kernel 5.4 and 5.10.  So my questions are what happened to imx-wm8524.c?  Was it replaced by something else I should use for reference instead?  Why is 'cpu_dai'  no longer a member of 'struct snd_soc_pcm_runtime'?  What can I change to fix this error?  Alternatively, my goal is to get an sph0645 i2s microphone working with my imx8mq on kernel 5.15, so what other driver can I use, or what else can I do to get this to work?

0 Kudos
1 Reply