diff options
author | Liam Girdwood <lg@opensource.wolfsonmicro.com> | 2006-10-19 14:35:56 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2007-02-09 03:01:07 -0500 |
commit | a71a468a50f1385855e28864e26251b02df829bb (patch) | |
tree | 243daee96ea5c55c88a186aa03b7917f7ad533f6 /Documentation/sound/alsa/soc/clocking.txt | |
parent | 543a0fbe18d0b44f3d037fe6b59458fa0c0d5e4b (diff) |
[ALSA] ASoC: Add support for BCLK based on (Rate * Chn * Word Size)
This patch adds support for the DAI BCLK to be generated by multiplying
Rate * Channels * Word Size (RCW).
This now gives 3 options for BCLK clocking and synchronisation :-
1. BCLK = Rate * x
2. BCLK = MCLK / x
3. BCLK = Rate * Chn * Word Size. (New)
Changes:-
o Add support for RCW generation of BCLK
o Update Documentation to include RCW.
o Update DAI documentation for label = value DAI modes.
o Add RCW support to wm8731, wm8750 and pxa2xx-i2s drivers.
Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'Documentation/sound/alsa/soc/clocking.txt')
-rw-r--r-- | Documentation/sound/alsa/soc/clocking.txt | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/Documentation/sound/alsa/soc/clocking.txt b/Documentation/sound/alsa/soc/clocking.txt index 88a16c9e1979..1f55fd8cb117 100644 --- a/Documentation/sound/alsa/soc/clocking.txt +++ b/Documentation/sound/alsa/soc/clocking.txt | |||
@@ -26,9 +26,9 @@ between the codec and CPU. | |||
26 | 26 | ||
27 | The DAI also has a frame clock to signal the start of each audio frame. This | 27 | The DAI also has a frame clock to signal the start of each audio frame. This |
28 | clock is sometimes referred to as LRC (left right clock) or FRAME. This clock | 28 | clock is sometimes referred to as LRC (left right clock) or FRAME. This clock |
29 | runs at exactly the sample rate. | 29 | runs at exactly the sample rate (LRC = Rate). |
30 | 30 | ||
31 | Bit Clock is usually always a ratio of MCLK or a multiple of LRC. i.e. | 31 | Bit Clock can be generated as follows:- |
32 | 32 | ||
33 | BCLK = MCLK / x | 33 | BCLK = MCLK / x |
34 | 34 | ||
@@ -36,9 +36,14 @@ BCLK = MCLK / x | |||
36 | 36 | ||
37 | BCLK = LRC * x | 37 | BCLK = LRC * x |
38 | 38 | ||
39 | or | ||
40 | |||
41 | BCLK = LRC * Channels * Word Size | ||
42 | |||
39 | This relationship depends on the codec or SoC CPU in particular. ASoC can quite | 43 | This relationship depends on the codec or SoC CPU in particular. ASoC can quite |
40 | easily match a codec that generates BCLK by division (FSBD) with a CPU that | 44 | easily match BCLK generated by division (SND_SOC_DAI_BFS_DIV) with BCLK by |
41 | generates BCLK by multiplication (FSB). | 45 | multiplication (SND_SOC_DAI_BFS_RATE) or BCLK generated by |
46 | Rate * Channels * Word size (RCW or SND_SOC_DAI_BFS_RCW). | ||
42 | 47 | ||
43 | 48 | ||
44 | ASoC Clocking | 49 | ASoC Clocking |