summaryrefslogtreecommitdiff
path: root/Documentation/sound/soc
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2016-11-11 00:25:28 +0300
committerTakashi Iwai <tiwai@suse.de>2016-11-11 19:34:03 +0300
commitfb3df950833c1e8c39a82313942e6375f3f498c6 (patch)
treef241c8ccd0d5fc207a228c715c2eda2ad3f2c093 /Documentation/sound/soc
parentc9746eeafca3b5286a0355b895eb48af19d54d2d (diff)
downloadlinux-fb3df950833c1e8c39a82313942e6375f3f498c6.tar.xz
ASoC: doc: ReSTize clocking.txt
A simple conversion from a plain text file. Acked-by: Mark Brown <broonie@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'Documentation/sound/soc')
-rw-r--r--Documentation/sound/soc/clocking.rst46
-rw-r--r--Documentation/sound/soc/index.rst1
2 files changed, 47 insertions, 0 deletions
diff --git a/Documentation/sound/soc/clocking.rst b/Documentation/sound/soc/clocking.rst
new file mode 100644
index 000000000000..32122d6877a3
--- /dev/null
+++ b/Documentation/sound/soc/clocking.rst
@@ -0,0 +1,46 @@
+==============
+Audio Clocking
+==============
+
+This text describes the audio clocking terms in ASoC and digital audio in
+general. Note: Audio clocking can be complex!
+
+
+Master Clock
+------------
+
+Every audio subsystem is driven by a master clock (sometimes referred to as MCLK
+or SYSCLK). This audio master clock can be derived from a number of sources
+(e.g. crystal, PLL, CPU clock) and is responsible for producing the correct
+audio playback and capture sample rates.
+
+Some master clocks (e.g. PLLs and CPU based clocks) are configurable in that
+their speed can be altered by software (depending on the system use and to save
+power). Other master clocks are fixed at a set frequency (i.e. crystals).
+
+
+DAI Clocks
+----------
+The Digital Audio Interface is usually driven by a Bit Clock (often referred to
+as BCLK). This clock is used to drive the digital audio data across the link
+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 (LRC = Rate).
+
+Bit Clock can be generated as follows:-
+
+- BCLK = MCLK / x, or
+- BCLK = LRC * x, or
+- BCLK = LRC * Channels * Word Size
+
+This relationship depends on the codec or SoC CPU in particular. In general
+it is best to configure BCLK to the lowest possible speed (depending on your
+rate, number of channels and word size) to save on power.
+
+It is also desirable to use the codec (if possible) to drive (or master) the
+audio clocks as it usually gives more accurate sample rates than the CPU.
+
+
+
diff --git a/Documentation/sound/soc/index.rst b/Documentation/sound/soc/index.rst
index 4dd679927a91..0055abe16e7e 100644
--- a/Documentation/sound/soc/index.rst
+++ b/Documentation/sound/soc/index.rst
@@ -14,3 +14,4 @@ The documentation is spilt into the following sections:-
platform
machine
pops-clicks
+ clocking