summaryrefslogtreecommitdiff
path: root/sound/soc/s3c24xx/s3c2412-i2s.h
diff options
context:
space:
mode:
authorBen Dooks <ben-linux@fluff.org>2008-01-10 14:47:21 +0100
committerJaroslav Kysela <perex@perex.cz>2008-01-31 17:29:53 +0100
commit49646dfa2ae81e770da1c12c4fce227062ce4612 (patch)
treeaf0e1464fdf5e8beda908b1c604bed2f72f95944 /sound/soc/s3c24xx/s3c2412-i2s.h
parent5cd919a2144f1beee7fb2e18ef6b8bee7105f554 (diff)
[ALSA] ASoC: S3C2412 IIS driver
S3C2412 SoC IIS support for ALSA/ASoC Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/soc/s3c24xx/s3c2412-i2s.h')
-rw-r--r--sound/soc/s3c24xx/s3c2412-i2s.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/sound/soc/s3c24xx/s3c2412-i2s.h b/sound/soc/s3c24xx/s3c2412-i2s.h
new file mode 100644
index 000000000000..27f48e1ffa86
--- /dev/null
+++ b/sound/soc/s3c24xx/s3c2412-i2s.h
@@ -0,0 +1,38 @@
+/* sound/soc/s3c24xx/s3c2412-i2s.c
+ *
+ * ALSA Soc Audio Layer - S3C2412 I2S driver
+ *
+ * Copyright (c) 2007 Simtec Electronics
+ * http://armlinux.simtec.co.uk/
+ * Ben Dooks <ben@simtec.co.uk>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+*/
+
+#ifndef __SND_SOC_S3C24XX_S3C2412_I2S_H
+#define __SND_SOC_S3C24XX_S3C2412_I2S_H __FILE__
+
+#define S3C2412_DIV_BCLK (1)
+#define S3C2412_DIV_RCLK (2)
+#define S3C2412_DIV_PRESCALER (3)
+
+#define S3C2412_CLKSRC_PCLK (0)
+#define S3C2412_CLKSRC_I2SCLK (1)
+
+extern struct clk *s3c2412_get_iisclk(void);
+
+extern struct snd_soc_cpu_dai s3c2412_i2s_dai;
+
+struct s3c2412_rate_calc {
+ unsigned int clk_div; /* for prescaler */
+ unsigned int fs_div; /* for root frame clock */
+};
+
+extern int s3c2412_iis_calc_rate(struct s3c2412_rate_calc *info,
+ unsigned int *fstab,
+ unsigned int rate, struct clk *clk);
+
+#endif /* __SND_SOC_S3C24XX_S3C2412_I2S_H */