aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/plat-s3c/include/plat/regs-s3c2412-iis.h2
-rw-r--r--sound/soc/s3c24xx/s3c64xx-i2s.c13
-rw-r--r--sound/soc/s3c24xx/s3c64xx-i2s.h1
3 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/plat-s3c/include/plat/regs-s3c2412-iis.h b/arch/arm/plat-s3c/include/plat/regs-s3c2412-iis.h
index 07659dad1748..abf2fbc2eb2f 100644
--- a/arch/arm/plat-s3c/include/plat/regs-s3c2412-iis.h
+++ b/arch/arm/plat-s3c/include/plat/regs-s3c2412-iis.h
@@ -67,6 +67,8 @@
67#define S3C2412_IISMOD_BCLK_MASK (3 << 1) 67#define S3C2412_IISMOD_BCLK_MASK (3 << 1)
68#define S3C2412_IISMOD_8BIT (1 << 0) 68#define S3C2412_IISMOD_8BIT (1 << 0)
69 69
70#define S3C64XX_IISMOD_CDCLKCON (1 << 12)
71
70#define S3C2412_IISPSR_PSREN (1 << 15) 72#define S3C2412_IISPSR_PSREN (1 << 15)
71 73
72#define S3C2412_IISFIC_TXFLUSH (1 << 15) 74#define S3C2412_IISFIC_TXFLUSH (1 << 15)
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s.c b/sound/soc/s3c24xx/s3c64xx-i2s.c
index 3c06c401d0fb..aaf452096be2 100644
--- a/sound/soc/s3c24xx/s3c64xx-i2s.c
+++ b/sound/soc/s3c24xx/s3c64xx-i2s.c
@@ -99,6 +99,19 @@ static int s3c64xx_i2s_set_sysclk(struct snd_soc_dai *cpu_dai,
99 iismod |= S3C64XX_IISMOD_IMS_SYSMUX; 99 iismod |= S3C64XX_IISMOD_IMS_SYSMUX;
100 break; 100 break;
101 101
102 case S3C64XX_CLKSRC_CDCLK:
103 switch (dir) {
104 case SND_SOC_CLOCK_IN:
105 iismod |= S3C64XX_IISMOD_CDCLKCON;
106 break;
107 case SND_SOC_CLOCK_OUT:
108 iismod &= ~S3C64XX_IISMOD_CDCLKCON;
109 break;
110 default:
111 return -EINVAL;
112 }
113 break;
114
102 default: 115 default:
103 return -EINVAL; 116 return -EINVAL;
104 } 117 }
diff --git a/sound/soc/s3c24xx/s3c64xx-i2s.h b/sound/soc/s3c24xx/s3c64xx-i2s.h
index 02148cee2613..abe7253b55fc 100644
--- a/sound/soc/s3c24xx/s3c64xx-i2s.h
+++ b/sound/soc/s3c24xx/s3c64xx-i2s.h
@@ -25,6 +25,7 @@ struct clk;
25 25
26#define S3C64XX_CLKSRC_PCLK (0) 26#define S3C64XX_CLKSRC_PCLK (0)
27#define S3C64XX_CLKSRC_MUX (1) 27#define S3C64XX_CLKSRC_MUX (1)
28#define S3C64XX_CLKSRC_CDCLK (2)
28 29
29extern struct snd_soc_dai s3c64xx_i2s_dai[]; 30extern struct snd_soc_dai s3c64xx_i2s_dai[];
30 31