Ben Dooks | 49646df | 2008-01-10 14:47:21 +0100 | [diff] [blame] | 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 | |
Liam Girdwood | 1992a6f | 2008-07-07 16:08:24 +0100 | [diff] [blame] | 27 | extern struct snd_soc_dai s3c2412_i2s_dai; |
Ben Dooks | 49646df | 2008-01-10 14:47:21 +0100 | [diff] [blame] | 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 */ |