diff mbox

[1/1] ASoC: bcm2835-i2s: Support 384k sample rate

Message ID 1466358739-31669-1-git-send-email-clive.messer@digitaldreamtime.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

DigitalDreamtime June 19, 2016, 5:52 p.m. UTC
Add support for sample rates up to 384k to bcm2835-i2s driver,
with SNDRV_PCM_RATE_CONTINUOUS and specifying 8k min and 384k max,
for both playback and capture.

Signed-off-by: Clive Messer <clive.messer@digitaldreamtime.co.uk>
---
 sound/soc/bcm/bcm2835-i2s.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Eric Anholt July 14, 2016, 1:37 a.m. UTC | #1
Clive Messer <clive.messer@digitaldreamtime.co.uk> writes:

> Add support for sample rates up to 384k to bcm2835-i2s driver,
> with SNDRV_PCM_RATE_CONTINUOUS and specifying 8k min and 384k max,
> for both playback and capture.

It looks like this should be OK -- the PCM clock should max out at
25Mhz, and that divided by 2*32 (max bclk_ratio) is just over 384k.

Reviewed-by: Eric Anholt <eric@anholt.net>
diff mbox

Patch

diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c
index 6ba2049..4a67db2 100644
--- a/sound/soc/bcm/bcm2835-i2s.c
+++ b/sound/soc/bcm/bcm2835-i2s.c
@@ -578,7 +578,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
@@ -586,7 +588,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