ASoC - audio for embedded Linux systems
The ALSA System on a Chip (ASoC) subsystem provides a framework for audio in emedded systems running Linux. It provides a framework allowing reuse of support for individual system components, providing support for minimising power requirements based on the currently active components.
A system using ASoC is represented by a machine driver, specifying which audio related components are in use in the system and how they are connected to each other (currently PCM, I2S and AC97 are supported). The ASoC core then uses this information to provide a sound device to the system with the combined capabilities of the devices in the system. The interconnection information is also used to provide dynamic audio power management (DAPM) - only those components required for the currently active configuration will be powered up, with the core providing algorithms to reduce pops and clicks as components are powered on and off.
ASoC is currently available in the mainline Linux kernel available from kernel.org from version 2.6.21+.
Git is used to manage the ASoC development source code. The ASoC development git repository is available via git from:
and there is also an on-line source browser. This tree contains many more SoC CPU and CODEC drivers than the mainline Linux kernel and is used for the development of new ASoC features and drivers. For more information on using git please see our git information pages.
Development is carried out on the dev branch, and there are a number of branches available for integration into standard kernel releases:
ASoC releases are also available in patch format here.
More developer information can be found on the ALSA developer Wiki.
Supported SoC CPUs
Any CPU with good Linux support should also include support for the ASoC subsystem, it is the standard embedded audio subsystem for the Linux kernel.
Supported hardware CODECs
The list of supported CODECs under ASoC is growing all the time. The most up to date list is available can be found in the ASoC git tree codec directory.
Notifications of changes to the repository are e-mailed to the asoc-commits mailing list.
ASoC is open source software and released under the GNU GPL License.