Merge branch 'x86/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip...
[pandora-kernel.git] / sound / soc / s3c24xx / s3c2412-i2s.h
1 /* sound/soc/s3c24xx/s3c2412-i2s.c
2  *
3  * ALSA Soc Audio Layer - S3C2412 I2S driver
4  *
5  * Copyright (c) 2007 Simtec Electronics
6  *      http://armlinux.simtec.co.uk/
7  *      Ben Dooks <ben@simtec.co.uk>
8  *
9  *  This program is free software; you can redistribute  it and/or modify it
10  *  under  the terms of  the GNU General  Public License as published by the
11  *  Free Software Foundation;  either version 2 of the  License, or (at your
12  *  option) any later version.
13 */
14
15 #ifndef __SND_SOC_S3C24XX_S3C2412_I2S_H
16 #define __SND_SOC_S3C24XX_S3C2412_I2S_H __FILE__
17
18 #define S3C2412_DIV_BCLK        (1)
19 #define S3C2412_DIV_RCLK        (2)
20 #define S3C2412_DIV_PRESCALER   (3)
21
22 #define S3C2412_CLKSRC_PCLK     (0)
23 #define S3C2412_CLKSRC_I2SCLK   (1)
24
25 extern struct clk *s3c2412_get_iisclk(void);
26
27 extern struct snd_soc_dai s3c2412_i2s_dai;
28
29 struct s3c2412_rate_calc {
30         unsigned int    clk_div;        /* for prescaler */
31         unsigned int    fs_div;         /* for root frame clock */
32 };
33
34 extern int s3c2412_iis_calc_rate(struct s3c2412_rate_calc *info,
35                                  unsigned int *fstab,
36                                  unsigned int rate, struct clk *clk);
37
38 #endif /* __SND_SOC_S3C24XX_S3C2412_I2S_H */