ASoC: bcm2835: Support additional samplerates up to 384kHz
authorMatthias Reichl <hias@horus.com>
Wed, 8 Nov 2017 20:03:31 +0000 (21:03 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 10 Nov 2017 21:24:34 +0000 (21:24 +0000)
Sample rates are only restricted by the capabilities of the
clock driver, so use SNDRV_PCM_RATE_CONTINUOUS instead of
SNDRV_PCM_RATE_8000_192000.

Tests (eg with pcm5122) have shown that bcm2835 works fine
in 384kHz/32bit stereo mode, so change the maximum allowed
rate from 192kHz to 384kHz.

Signed-off-by: Matthias Reichl <hias@horus.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/bcm/bcm2835-i2s.c

index dcacf7f83c9371df539a788ea33fedcf97d64690..f4b778ed350b6d98a6d521af472e7e23f21f4cf2 100644 (file)
@@ -719,7 +719,9 @@ static struct snd_soc_dai_driver bcm2835_i2s_dai = {
        .playback = {
                .channels_min = 2,
                .channels_max = 2,
-               .rates =        SNDRV_PCM_RATE_8000_192000,
+               .rates =        SNDRV_PCM_RATE_CONTINUOUS,
+               .rate_min =     8000,
+               .rate_max =     384000,
                .formats =      SNDRV_PCM_FMTBIT_S16_LE
                                | SNDRV_PCM_FMTBIT_S24_LE
                                | SNDRV_PCM_FMTBIT_S32_LE
@@ -727,7 +729,9 @@ static struct snd_soc_dai_driver bcm2835_i2s_dai = {
        .capture = {
                .channels_min = 2,
                .channels_max = 2,
-               .rates =        SNDRV_PCM_RATE_8000_192000,
+               .rates =        SNDRV_PCM_RATE_CONTINUOUS,
+               .rate_min =     8000,
+               .rate_max =     384000,
                .formats =      SNDRV_PCM_FMTBIT_S16_LE
                                | SNDRV_PCM_FMTBIT_S24_LE
                                | SNDRV_PCM_FMTBIT_S32_LE