I.MX8MP Audio Enablement with ACPI
Work in progress
I.MX8MP platforms support a few different soundcards (HDMI, WM8960, etc.). This page will cover the soundcard support with WM8960 codec which is used for headphones and speakers.
I.MX platform soundcard support is based on ALSA (Advanced Linux Sound Architecture) SoC Framework and requires the following platform-specific drivers
WM8960 Codec
WM8960 Reference Manual - http://www.sunnyqi.com/upLoad/product/month_1306/WM8960.pdf
WM8960 Driver Enablement Notes - https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/WM8960-audio-codec/ta-p/1119101
Commands to configure and play Audio
Configuration to enable Audio Path and Volume for Headphones
amixer cset numid=11,iface=MIXER,name='Headphone Playback Volume' 50
amixer sset 'Left Output Mixer PCM' on
amixer sset 'Left Output Mixer Boost Bypass' on
amixer sset 'Right Output Mixer PCM' on
amixer sset 'Right Output Mixer Boost Bypass' on
Play audio
aplay <audio.wav>
ACPI Challenges
Clock Resources
To support different audio sample rates, audio codecs and other components (SDMA, SAI) bit clock need to be changed.