Commit 9e991a4b authored by Jassi Brar's avatar Jassi Brar Committed by Mark Brown

ASoC: S3C: I2Sv2: New field for controller feature

In order to make s3c-i2s-v2.c manage controllers with minor
quirks and variation in features, we define a per-block flag
that indicates the availability/lack of a particular feature
to the s3c-i2s-v2.c

While adding support for new SoCs' I2S, check for the blocks
of older SoCs that have similar feature and set the flag for
that feature.
Signed-off-by: default avatarJassi Brar <jassi.brar@samsung.com>
Acked-by: default avatarBen Dooks <ben-linux@fluff.org>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent d47ef9c7
...@@ -29,10 +29,16 @@ ...@@ -29,10 +29,16 @@
#define S3C_I2SV2_CLKSRC_AUDIOBUS 1 #define S3C_I2SV2_CLKSRC_AUDIOBUS 1
#define S3C_I2SV2_CLKSRC_CDCLK 2 #define S3C_I2SV2_CLKSRC_CDCLK 2
/* Set this flag for I2S controllers that have the bit IISMOD[12]
* bridge/break RCLK signal and external Xi2sCDCLK pin.
*/
#define S3C_FEATURE_CDCLKCON (1 << 0)
/** /**
* struct s3c_i2sv2_info - S3C I2S-V2 information * struct s3c_i2sv2_info - S3C I2S-V2 information
* @dev: The parent device passed to use from the probe. * @dev: The parent device passed to use from the probe.
* @regs: The pointer to the device registe block. * @regs: The pointer to the device registe block.
* @feature: Set of bit-flags indicating features of the controller.
* @master: True if the I2S core is the I2S bit clock master. * @master: True if the I2S core is the I2S bit clock master.
* @dma_playback: DMA information for playback channel. * @dma_playback: DMA information for playback channel.
* @dma_capture: DMA information for capture channel. * @dma_capture: DMA information for capture channel.
...@@ -47,6 +53,8 @@ struct s3c_i2sv2_info { ...@@ -47,6 +53,8 @@ struct s3c_i2sv2_info {
struct device *dev; struct device *dev;
void __iomem *regs; void __iomem *regs;
u32 feature;
struct clk *iis_pclk; struct clk *iis_pclk;
struct clk *iis_cclk; struct clk *iis_cclk;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment