Hi NXP Team,
We are currently working with the i.MX8MP platform and using a PDM microphone for audio capture.
Under the Yocto build, audio capture using arecord works as expected — the recorded audio is successfully captured and played back.
However, under Android, while the microphone captures audio (confirmed via logs and file creation), no sound is heard during playback of the recorded file. We have verified volume settings and ensured that other audio sources play back correctly.
Could you please advise on the following:
Are there any specific Android HAL or AudioFlinger configurations required for PDM microphones on i.MX8MP?
Do we need to ensure PDM input routing is explicitly configured in the Android audio policy or device tree?
Could this be related to format incompatibility or missing codec support in Android?
Any insights or debugging steps to help isolate the issue would be greatly appreciated.
One good link to check detailed Audio bring up for NXP in Android and Linux - https://siliconsignals.io/audio-codec-bring-up-simplified-your-guide-to-android-linux-bsp-developmen...
Hello,
Check you bootargs:
androidboot.lpa.enable =1
And check the Android user guide document it has a section for audio configuration, also
Pls configure ${MY_ANDROID}/device/nxp/imx8m/evk_8mp/audio_policy_configuration.xml
Route media audio source to headphone.
Regards
Thank you for your reply.
Routing media to the headphone is already working in the prebuilt image.
We require an Android application to record from the PDM microphone. However, even though we manually select the "micfil" card, the system defaults to the Codec microphone instead.
How can we change the default microphone from Codec microphone to Micfil in the HAL layer and audio_policy_configuration.xml?
Please share the necessary steps. Note that we are able to record from the microphone using the tinycap command.