]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: pcm512x: Implement the set_bclk_ratio interface
authorDimitris Papavasiliou <dpapavas@gmail.com>
Sat, 26 Jan 2019 13:17:01 +0000 (15:17 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 28 Jan 2019 12:33:59 +0000 (12:33 +0000)
commit4a7fd73ca663765351af67f776a3adac369f735c
tree730975bd2d6b63f7c82ccd89af90b614eefb09bd
parent79baa3ad1d521feecdc97d1864e56224743c62a2
ASoC: pcm512x: Implement the set_bclk_ratio interface

Some boards, such as the HiFiBerry DAC+ Pro, use a pair of external
oscillators, to generate 44.1 or 48kHz multiples and are forced to
resort to hacks [1] in order to support 24-bit data without ending up
with fractional dividers.  This patch allows the machine driver to use
32-bit frames for 24-bit data to avoid such issues.

Although the datasheet (p. 15) seems to suggest that only a handful
of ratios are supported, it's not very explicit about it, so we allow
the full range of values supported by the underlying register in the
callback, to avoid needlessly rejecting potentially usable
configurations.

[1] http://mailman.alsa-project.org/pipermail/alsa-devel/2018-December/143442.html

Signed-off-by: Dimitris Papavasiliou <dpapavas@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/pcm512x.c