diff options
Diffstat (limited to 'Documentation/sound/alsa/soc/overview.txt')
-rw-r--r-- | Documentation/sound/alsa/soc/overview.txt | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/Documentation/sound/alsa/soc/overview.txt b/Documentation/sound/alsa/soc/overview.txt index 753c5cc5984a..c47ce9530677 100644 --- a/Documentation/sound/alsa/soc/overview.txt +++ b/Documentation/sound/alsa/soc/overview.txt | |||
@@ -2,18 +2,19 @@ ALSA SoC Layer | |||
2 | ============== | 2 | ============== |
3 | 3 | ||
4 | The overall project goal of the ALSA System on Chip (ASoC) layer is to provide | 4 | The overall project goal of the ALSA System on Chip (ASoC) layer is to provide |
5 | better ALSA support for embedded system on chip procesors (e.g. pxa2xx, au1x00, | 5 | better ALSA support for embedded system-on-chip processors (e.g. pxa2xx, au1x00, |
6 | iMX, etc) and portable audio codecs. Currently there is some support in the | 6 | iMX, etc) and portable audio codecs. Currently there is some support in the |
7 | kernel for SoC audio, however it has some limitations:- | 7 | kernel for SoC audio, however it has some limitations:- |
8 | 8 | ||
9 | * Currently, codec drivers are often tightly coupled to the underlying SoC | 9 | * Currently, codec drivers are often tightly coupled to the underlying SoC |
10 | cpu. This is not ideal and leads to code duplication i.e. Linux now has 4 | 10 | CPU. This is not ideal and leads to code duplication i.e. Linux now has 4 |
11 | different wm8731 drivers for 4 different SoC platforms. | 11 | different wm8731 drivers for 4 different SoC platforms. |
12 | 12 | ||
13 | * There is no standard method to signal user initiated audio events. | 13 | * There is no standard method to signal user initiated audio events (e.g. |
14 | e.g. Headphone/Mic insertion, Headphone/Mic detection after an insertion | 14 | Headphone/Mic insertion, Headphone/Mic detection after an insertion |
15 | event. These are quite common events on portable devices and ofter require | 15 | event). These are quite common events on portable devices and often require |
16 | machine specific code to re route audio, enable amps etc after such an event. | 16 | machine specific code to re-route audio, enable amps, etc., after such an |
17 | event. | ||
17 | 18 | ||
18 | * Current drivers tend to power up the entire codec when playing | 19 | * Current drivers tend to power up the entire codec when playing |
19 | (or recording) audio. This is fine for a PC, but tends to waste a lot of | 20 | (or recording) audio. This is fine for a PC, but tends to waste a lot of |
@@ -44,7 +45,7 @@ features :- | |||
44 | signals the codec when to change power states. | 45 | signals the codec when to change power states. |
45 | 46 | ||
46 | * Machine specific controls: Allow machines to add controls to the sound card | 47 | * Machine specific controls: Allow machines to add controls to the sound card |
47 | e.g. volume control for speaker amp. | 48 | (e.g. volume control for speaker amp). |
48 | 49 | ||
49 | To achieve all this, ASoC basically splits an embedded audio system into 3 | 50 | To achieve all this, ASoC basically splits an embedded audio system into 3 |
50 | components :- | 51 | components :- |
@@ -57,7 +58,7 @@ components :- | |||
57 | interface drivers (e.g. I2S, AC97, PCM) for that platform. | 58 | interface drivers (e.g. I2S, AC97, PCM) for that platform. |
58 | 59 | ||
59 | * Machine driver: The machine driver handles any machine specific controls and | 60 | * Machine driver: The machine driver handles any machine specific controls and |
60 | audio events. i.e. turing on an amp at start of playback. | 61 | audio events (e.g. turning on an amp at start of playback). |
61 | 62 | ||
62 | 63 | ||
63 | Documentation | 64 | Documentation |