53d2a0a0df362492838ab37b38a07a9fe3f6716e
[linux-2.6.git] / sound / soc / s3c24xx / s3c64xx-i2s.h
1 /* sound/soc/s3c24xx/s3c64xx-i2s.h
2  *
3  * ALSA SoC Audio Layer - S3C64XX I2S driver
4  *
5  * Copyright 2008 Openmoko, Inc.
6  * Copyright 2008 Simtec Electronics
7  *      Ben Dooks <ben@simtec.co.uk>
8  *      http://armlinux.simtec.co.uk/
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License version 2 as
12  * published by the Free Software Foundation.
13  */
14
15 #ifndef __SND_SOC_S3C24XX_S3C64XX_I2S_H
16 #define __SND_SOC_S3C24XX_S3C64XX_I2S_H __FILE__
17
18 struct clk;
19
20 #include "s3c-i2s-v2.h"
21
22 #define S3C64XX_DIV_BCLK        S3C_I2SV2_DIV_BCLK
23 #define S3C64XX_DIV_RCLK        S3C_I2SV2_DIV_RCLK
24 #define S3C64XX_DIV_PRESCALER   S3C_I2SV2_DIV_PRESCALER
25
26 #define S3C64XX_CLKSRC_PCLK     S3C_I2SV2_CLKSRC_PCLK
27 #define S3C64XX_CLKSRC_MUX      S3C_I2SV2_CLKSRC_AUDIOBUS
28 #define S3C64XX_CLKSRC_CDCLK    S3C_I2SV2_CLKSRC_CDCLK
29
30 #define S3C64XX_I2S_RATES \
31         (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 | SNDRV_PCM_RATE_16000 | \
32         SNDRV_PCM_RATE_22050 | SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | \
33         SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000)
34
35 #define S3C64XX_I2S_FMTS \
36         (SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE |\
37          SNDRV_PCM_FMTBIT_S24_LE)
38
39 extern struct snd_soc_dai s3c64xx_i2s_dai[];
40
41 extern struct clk *s3c64xx_i2s_get_clock(struct snd_soc_dai *dai);
42
43 #endif /* __SND_SOC_S3C24XX_S3C64XX_I2S_H */