Wolfson Open Source

What's new in ASoC version 2

Version 2 of the ALSA SoC subsystem overhauls the subsystem to add greater flexibility, clean up the APIs and bring it more closely into line with the driver model. It is currently entering the final phase of development and testing with the core APIs now stable and the focus on porting kernel versions. It is hoped that this code will be merged into the standard Linux kernel by version 2.6.27.

Features implemented in version 2 include:

Dynamic driver registration

One of the most substantial changes in version 2 is the introduction of support for registration of drivers for ASoC codec and CPU drivers independently of machine drivers. This provides better integration between the ASoC subsystem and the Linux driver core, as well as supporting external system descriptions such as OpenFirmware device trees and avoiding race conditions on startup.

Support for multiple devices

ASoC version 1 was only able to support systems with a single audio codec. This increases the range of systems which can be supported using ASoC.

Configurable DAPM policies

It is now possible for an ASoC machine driver to change the algorithm used by DAPM to control when ASoC devices are powered up. This provides greater flexibility to applications and aids development by allowing problems with the DAPM configuration of the system to be bypassed until they are fixed. Currently supported algorithms include:

  • Fully automatic
  • Everything on at all times
  • All power decisions made by the machine driver
Copyright Wolfson Microelectronics 2006-8