diff options
Diffstat (limited to 'sound/soc/s3c24xx/s3c-i2s-v2.h')
-rw-r--r-- | sound/soc/s3c24xx/s3c-i2s-v2.h | 15 |
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 | ||
71 | extern struct clk *s3c_i2sv2_get_clock(struct snd_soc_dai *cpu_dai); | ||
72 | |||
60 | struct s3c_i2sv2_rate_calc { | 73 | struct 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 */ |