aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/sound/alsa/soc/clocking.txt
diff options
context:
space:
mode:
authorLiam Girdwood <lg@opensource.wolfsonmicro.com>2006-10-19 20:35:56 +0200
committerJaroslav Kysela <perex@suse.cz>2007-02-09 09:01:07 +0100
commita71a468a50f1385855e28864e26251b02df829bb (patch)
tree243daee96ea5c55c88a186aa03b7917f7ad533f6 /Documentation/sound/alsa/soc/clocking.txt
parent[ALSA] ASoC AT91 DAI modes update (diff)
downloadlinux-dev-a71a468a50f1385855e28864e26251b02df829bb.tar.xz
linux-dev-a71a468a50f1385855e28864e26251b02df829bb.zip
[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.
The DAI also has a frame clock to signal the start of each audio frame. This
clock is sometimes referred to as LRC (left right clock) or FRAME. This clock
-runs at exactly the sample rate.
+runs at exactly the sample rate (LRC = Rate).
-Bit Clock is usually always a ratio of MCLK or a multiple of LRC. i.e.
+Bit Clock can be generated as follows:-
BCLK = MCLK / x
@@ -36,9 +36,14 @@ BCLK = MCLK / x
BCLK = LRC * x
+ or
+
+BCLK = LRC * Channels * Word Size
+
This relationship depends on the codec or SoC CPU in particular. ASoC can quite
-easily match a codec that generates BCLK by division (FSBD) with a CPU that
-generates BCLK by multiplication (FSB).
+easily match BCLK generated by division (SND_SOC_DAI_BFS_DIV) with BCLK by
+multiplication (SND_SOC_DAI_BFS_RATE) or BCLK generated by
+Rate * Channels * Word size (RCW or SND_SOC_DAI_BFS_RCW).
ASoC Clocking