aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/s3c24xx/s3c-i2s-v2.h
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2010-05-22 02:36:56 -0400
committerGrant Likely <grant.likely@secretlab.ca>2010-05-22 02:36:56 -0400
commitcf9b59e9d3e008591d1f54830f570982bb307a0d (patch)
tree113478ce8fd8c832ba726ffdf59b82cb46356476 /sound/soc/s3c24xx/s3c-i2s-v2.h
parent44504b2bebf8b5823c59484e73096a7d6574471d (diff)
parentf4b87dee923342505e1ddba8d34ce9de33e75050 (diff)
Merge remote branch 'origin' into secretlab/next-devicetree
Merging in current state of Linus' tree to deal with merge conflicts and build failures in vio.c after merge. Conflicts: drivers/i2c/busses/i2c-cpm.c drivers/i2c/busses/i2c-mpc.c drivers/net/gianfar.c Also fixed up one line in arch/powerpc/kernel/vio.c to use the correct node pointer. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'sound/soc/s3c24xx/s3c-i2s-v2.h')
-rw-r--r--sound/soc/s3c24xx/s3c-i2s-v2.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.h b/sound/soc/s3c24xx/s3c-i2s-v2.h
index ecf8eaaed1db..766f43a13d8b 100644
--- a/sound/soc/s3c24xx/s3c-i2s-v2.h
+++ b/sound/soc/s3c24xx/s3c-i2s-v2.h
@@ -25,10 +25,20 @@
25#define S3C_I2SV2_DIV_RCLK (2) 25#define S3C_I2SV2_DIV_RCLK (2)
26#define S3C_I2SV2_DIV_PRESCALER (3) 26#define S3C_I2SV2_DIV_PRESCALER (3)
27 27
28#define S3C_I2SV2_CLKSRC_PCLK 0
29#define S3C_I2SV2_CLKSRC_AUDIOBUS 1
30#define S3C_I2SV2_CLKSRC_CDCLK 2
31
32/* Set this flag for I2S controllers that have the bit IISMOD[12]
33 * bridge/break RCLK signal and external Xi2sCDCLK pin.
34 */
35#define S3C_FEATURE_CDCLKCON (1 << 0)
36
28/** 37/**
29 * struct s3c_i2sv2_info - S3C I2S-V2 information 38 * struct s3c_i2sv2_info - S3C I2S-V2 information
30 * @dev: The parent device passed to use from the probe. 39 * @dev: The parent device passed to use from the probe.
31 * @regs: The pointer to the device registe block. 40 * @regs: The pointer to the device registe block.
41 * @feature: Set of bit-flags indicating features of the controller.
32 * @master: True if the I2S core is the I2S bit clock master. 42 * @master: True if the I2S core is the I2S bit clock master.
33 * @dma_playback: DMA information for playback channel. 43 * @dma_playback: DMA information for playback channel.
34 * @dma_capture: DMA information for capture channel. 44 * @dma_capture: DMA information for capture channel.
@@ -43,9 +53,10 @@ struct s3c_i2sv2_info {
43 struct device *dev; 53 struct device *dev;
44 void __iomem *regs; 54 void __iomem *regs;
45 55
56 u32 feature;
57
46 struct clk *iis_pclk; 58 struct clk *iis_pclk;
47 struct clk *iis_cclk; 59 struct clk *iis_cclk;
48 struct clk *iis_clk;
49 60
50 unsigned char master; 61 unsigned char master;
51 62
@@ -57,6 +68,8 @@ struct s3c_i2sv2_info {
57 u32 suspend_iispsr; 68 u32 suspend_iispsr;
58}; 69};
59 70
71extern struct clk *s3c_i2sv2_get_clock(struct snd_soc_dai *cpu_dai);
72
60struct s3c_i2sv2_rate_calc { 73struct s3c_i2sv2_rate_calc {
61 unsigned int clk_div; /* for prescaler */ 74 unsigned int clk_div; /* for prescaler */
62 unsigned int fs_div; /* for root frame clock */ 75 unsigned int fs_div; /* for root frame clock */