aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/sound/alsa/soc/clocking.txt
diff options
context:
space:
mode:
authorLiam Girdwood <lg@opensource.wolfsonmicro.com>2006-10-19 14:35:56 -0400
committerJaroslav Kysela <perex@suse.cz>2007-02-09 03:01:07 -0500
commita71a468a50f1385855e28864e26251b02df829bb (patch)
tree243daee96ea5c55c88a186aa03b7917f7ad533f6 /Documentation/sound/alsa/soc/clocking.txt
parent543a0fbe18d0b44f3d037fe6b59458fa0c0d5e4b (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.txt13
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
27The DAI also has a frame clock to signal the start of each audio frame. This 27The DAI also has a frame clock to signal the start of each audio frame. This
28clock is sometimes referred to as LRC (left right clock) or FRAME. This clock 28clock is sometimes referred to as LRC (left right clock) or FRAME. This clock
29runs at exactly the sample rate. 29runs at exactly the sample rate (LRC = Rate).
30 30
31Bit Clock is usually always a ratio of MCLK or a multiple of LRC. i.e. 31Bit Clock can be generated as follows:-
32 32
33BCLK = MCLK / x 33BCLK = MCLK / x
34 34
@@ -36,9 +36,14 @@ BCLK = MCLK / x
36 36
37BCLK = LRC * x 37BCLK = LRC * x
38 38
39 or
40
41BCLK = LRC * Channels * Word Size
42
39This relationship depends on the codec or SoC CPU in particular. ASoC can quite 43This relationship depends on the codec or SoC CPU in particular. ASoC can quite
40easily match a codec that generates BCLK by division (FSBD) with a CPU that 44easily match BCLK generated by division (SND_SOC_DAI_BFS_DIV) with BCLK by
41generates BCLK by multiplication (FSB). 45multiplication (SND_SOC_DAI_BFS_RATE) or BCLK generated by
46Rate * Channels * Word size (RCW or SND_SOC_DAI_BFS_RCW).
42 47
43 48
44ASoC Clocking 49ASoC Clocking