]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - Documentation/sound/soc/clocking.rst
Merge tag 'v4.13-rc1' into omap-for-v4.14/mmc-regulator
[mirror_ubuntu-bionic-kernel.git] / Documentation / sound / soc / clocking.rst
CommitLineData
fb3df950 1==============
eb1a6af3
LG
2Audio Clocking
3==============
4
5This text describes the audio clocking terms in ASoC and digital audio in
01dd2fbf 6general. Note: Audio clocking can be complex!
eb1a6af3
LG
7
8
9Master Clock
10------------
11
01dd2fbf 12Every audio subsystem is driven by a master clock (sometimes referred to as MCLK
eb1a6af3
LG
13or SYSCLK). This audio master clock can be derived from a number of sources
14(e.g. crystal, PLL, CPU clock) and is responsible for producing the correct
15audio playback and capture sample rates.
16
7c4dbbd8 17Some master clocks (e.g. PLLs and CPU based clocks) are configurable in that
eb1a6af3 18their speed can be altered by software (depending on the system use and to save
01dd2fbf 19power). Other master clocks are fixed at a set frequency (i.e. crystals).
eb1a6af3
LG
20
21
22DAI Clocks
23----------
24The Digital Audio Interface is usually driven by a Bit Clock (often referred to
25as BCLK). This clock is used to drive the digital audio data across the link
26between the codec and CPU.
27
28The DAI also has a frame clock to signal the start of each audio frame. This
29clock is sometimes referred to as LRC (left right clock) or FRAME. This clock
a71a468a 30runs at exactly the sample rate (LRC = Rate).
eb1a6af3 31
a71a468a 32Bit Clock can be generated as follows:-
eb1a6af3 33
fb3df950
TI
34- BCLK = MCLK / x, or
35- BCLK = LRC * x, or
36- BCLK = LRC * Channels * Word Size
a71a468a 37
10b98527 38This relationship depends on the codec or SoC CPU in particular. In general
7c4dbbd8
MB
39it is best to configure BCLK to the lowest possible speed (depending on your
40rate, number of channels and word size) to save on power.
eb1a6af3 41
7c4dbbd8
MB
42It is also desirable to use the codec (if possible) to drive (or master) the
43audio clocks as it usually gives more accurate sample rates than the CPU.
eb1a6af3 44
eb1a6af3 45
eb1a6af3 46