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 Driver

  • I.MX SAI Interface

  • I.MX WM8960 Platform Driver

 

 

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.