aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJassi Brar <jassi.brar@samsung.com>2010-03-10 02:48:52 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-03-10 13:45:50 -0500
commitbf3288260288160e22f85bbf00b281523c14b587 (patch)
tree10bd42573b64d045ff005a223d5dca70220cdb54
parentfad837c16cdd856c68ce2e1335ad0fe836ed8ecd (diff)
ASoC: S3C64XX: I2S: Make BCLK independent of sample size
For some CPU-CODEC and source clock combination we might need to set BCLK to N*Sample_size*LRCLK, where N may be even 3 or 4, not just 2. We can simply remove the dependency of BCLK on sample size as there is already a callback(S3C_I2SV2_DIV_BCLK) available to set required BCLK. Signed-off-by: Jassi Brar <jassi.brar@samsung.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--sound/soc/s3c24xx/s3c-i2s-v2.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.c b/sound/soc/s3c24xx/s3c-i2s-v2.c
index b846f563cb50..667431c824d0 100644
--- a/sound/soc/s3c24xx/s3c-i2s-v2.c
+++ b/sound/soc/s3c24xx/s3c-i2s-v2.c
@@ -358,19 +358,16 @@ static int s3c2412_i2s_hw_params(struct snd_pcm_substream *substream,
358#endif 358#endif
359 359
360#ifdef CONFIG_PLAT_S3C64XX 360#ifdef CONFIG_PLAT_S3C64XX
361 iismod &= ~(S3C64XX_IISMOD_BLC_MASK | S3C2412_IISMOD_BCLK_MASK); 361 iismod &= ~S3C64XX_IISMOD_BLC_MASK;
362 /* Sample size */ 362 /* Sample size */
363 switch (params_format(params)) { 363 switch (params_format(params)) {
364 case SNDRV_PCM_FORMAT_S8: 364 case SNDRV_PCM_FORMAT_S8:
365 /* 8 bit sample, 16fs BCLK */ 365 iismod |= S3C64XX_IISMOD_BLC_8BIT;
366 iismod |= (S3C64XX_IISMOD_BLC_8BIT | S3C2412_IISMOD_BCLK_16FS);
367 break; 366 break;
368 case SNDRV_PCM_FORMAT_S16_LE: 367 case SNDRV_PCM_FORMAT_S16_LE:
369 /* 16 bit sample, 32fs BCLK */
370 break; 368 break;
371 case SNDRV_PCM_FORMAT_S24_LE: 369 case SNDRV_PCM_FORMAT_S24_LE:
372 /* 24 bit sample, 48fs BCLK */ 370 iismod |= S3C64XX_IISMOD_BLC_24BIT;
373 iismod |= (S3C64XX_IISMOD_BLC_24BIT | S3C2412_IISMOD_BCLK_48FS);
374 break; 371 break;
375 } 372 }
376#endif 373#endif