ASoC: twl6040: Support other sample rates.
authorOlaya, Margarita <magi.olaya@ti.com>
Sat, 11 Dec 2010 03:05:58 +0000 (21:05 -0600)
committerLiam Girdwood <lrg@slimlogic.co.uk>
Tue, 14 Dec 2010 20:36:38 +0000 (20:36 +0000)
The twl6040 can support more sample rates other than 88.2 and 96k.

Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
sound/soc/codecs/twl6040.c

index fd9a3ab91a19726264cfdb6fbc49f295b09b7090..b59d947d0bfe93f071071a547c482aa35cdb9593 100644 (file)
@@ -39,7 +39,7 @@
 
 #include "twl6040.h"
 
-#define TWL6040_RATES   (SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000)
+#define TWL6040_RATES          SNDRV_PCM_RATE_8000_96000
 #define TWL6040_FORMATS         (SNDRV_PCM_FMTBIT_S32_LE)
 
 struct twl6040_jack_data {
@@ -890,10 +890,17 @@ static int twl6040_hw_params(struct snd_pcm_substream *substream,
 
        rate = params_rate(params);
        switch (rate) {
+       case 11250:
+       case 22500:
+       case 44100:
        case 88200:
                lppllctl |= TWL6040_LPLLFIN;
                priv->sysclk = 17640000;
                break;
+       case 8000:
+       case 16000:
+       case 32000:
+       case 48000:
        case 96000:
                lppllctl &= ~TWL6040_LPLLFIN;
                priv->sysclk = 19200000;