Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ASoC: pcm179x: Support continuous rates

According to the PCM179x data sheets sampling frequencies between 10
kHz and 200 kHz are supported. Specify support in the driver.

Tested with PCM1791A.

References:
http://www.ti.com/lit/ds/symlink/pcm1791a.pdf
http://www.ti.com/lit/ds/symlink/pcm1792a.pdf
http://www.ti.com/lit/ds/symlink/pcm1795.pdf
http://www.ti.com/lit/ds/symlink/pcm1796.pdf

Signed-off-by: Jacob Siverskog <jacob@teenage.engineering>
Reviewed-by: Johan Hovold <johan@kernel.org>
Acked-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Jacob Siverskog and committed by
Mark Brown
e0236f54 70e3e56e

+3 -5
+3 -1
sound/soc/codecs/pcm179x.c
··· 187 187 .stream_name = "Playback", 188 188 .channels_min = 2, 189 189 .channels_max = 2, 190 - .rates = PCM1792A_RATES, 190 + .rates = SNDRV_PCM_RATE_CONTINUOUS, 191 + .rate_min = 10000, 192 + .rate_max = 200000, 191 193 .formats = PCM1792A_FORMATS, }, 192 194 .ops = &pcm179x_dai_ops, 193 195 };
-4
sound/soc/codecs/pcm179x.h
··· 17 17 #ifndef __PCM179X_H__ 18 18 #define __PCM179X_H__ 19 19 20 - #define PCM1792A_RATES (SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_8000_48000 | \ 21 - SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | \ 22 - SNDRV_PCM_RATE_192000) 23 - 24 20 #define PCM1792A_FORMATS (SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S24_LE | \ 25 21 SNDRV_PCM_FMTBIT_S16_LE) 26 22