ASoC: tlv320aic32x4: Add 96k sample rate
authorJeremy McDermond <nh6z@nh6z.net>
Tue, 19 Apr 2016 16:59:04 +0000 (09:59 -0700)
committerMark Brown <broonie@kernel.org>
Tue, 19 Apr 2016 17:13:05 +0000 (18:13 +0100)
The TLV320AIC32x4 series supports 96ksps rates in hardware.  This patch
adds the necessary PLL divider values and clock settings to the table to
make 96ksps work.

Signed-off-by: Jeremy McDermond <nh6z@nh6z.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/tlv320aic32x4.c

index c6b6d551f4febfbcc0828724d4e18489a74df0c5..2f8480c93b3ca2adcc4c536a02ae6e83f0293917 100644 (file)
@@ -159,7 +159,10 @@ static const struct aic32x4_rate_divs aic32x4_divs[] = {
        /* 48k rate */
        {AIC32X4_FREQ_12000000, 48000, 1, 8, 1920, 128, 2, 8, 128, 2, 8, 4},
        {AIC32X4_FREQ_24000000, 48000, 2, 8, 1920, 128, 8, 2, 64, 8, 4, 4},
-       {AIC32X4_FREQ_25000000, 48000, 2, 7, 8643, 128, 8, 2, 64, 8, 4, 4}
+       {AIC32X4_FREQ_25000000, 48000, 2, 7, 8643, 128, 8, 2, 64, 8, 4, 4},
+
+       /* 96k rate */
+       {AIC32X4_FREQ_25000000, 96000, 2, 7, 8643, 64, 4, 4, 64, 4, 4, 1},
 };
 
 static const struct snd_kcontrol_new hpl_output_mixer_controls[] = {
@@ -564,7 +567,7 @@ static int aic32x4_set_bias_level(struct snd_soc_codec *codec,
        return 0;
 }
 
-#define AIC32X4_RATES  SNDRV_PCM_RATE_8000_48000
+#define AIC32X4_RATES  SNDRV_PCM_RATE_8000_96000
 #define AIC32X4_FORMATS        (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE \
                         | SNDRV_PCM_FMTBIT_S24_3LE | SNDRV_PCM_FMTBIT_S32_LE)