Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d9e9ff5a authored by Liam Girdwood's avatar Liam Girdwood Committed by Mark Brown
Browse files

ASoC: docs: Update the Overview document



Update the ASoC overview to bring it up to date with the current code base
and include multi-component.

Signed-off-by: default avatarLiam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 6ce4eac1
Loading
Loading
Loading
Loading
+18 −9
Original line number Diff line number Diff line
@@ -49,18 +49,23 @@ features :-
  * Machine specific controls: Allow machines to add controls to the sound card
    (e.g. volume control for speaker amplifier).

To achieve all this, ASoC basically splits an embedded audio system into 3
components :-
To achieve all this, ASoC basically splits an embedded audio system into
multiple re-usable component drivers :-

  * Codec driver: The codec driver is platform independent and contains audio
    controls, audio interface capabilities, codec DAPM definition and codec IO
    functions.
  * Codec class drivers: The codec class driver is platform independent and
    contains audio controls, audio interface capabilities, codec DAPM
    definition and codec IO functions. This class extends to BT, FM and MODEM
    ICs if required. Codec class drivers should be generic code that can run
    on any architecture and machine.

  * Platform driver: The platform driver contains the audio DMA engine and audio
    interface drivers (e.g. I2S, AC97, PCM) for that platform.
  * Platform class drivers: The platform class driver includes the audio DMA
    engine driver, digital audio interface (DAI) drivers (e.g. I2S, AC97, PCM)
    and any audio DSP drivers for that platform.

  * Machine driver: The machine driver handles any machine specific controls and
    audio events (e.g. turning on an amp at start of playback).
  * Machine class driver: The machine driver class acts as the glue that
    decribes and binds the other component drivers together to form an ALSA
    "sound card device". It handles any machine specific controls and
    machine level audio events (e.g. turning on an amp at start of playback).


Documentation
@@ -84,3 +89,7 @@ machine.txt: Machine driver internals.
pop_clicks.txt: How to minimise audio artifacts.

clocking.txt: ASoC clocking for best power performance.

jack.txt: ASoC jack detection.

DPCM.txt: Dynamic PCM - Describes DPCM with DSP examples.