Commit 45ae70e8 authored by Sylwester Nawrocki's avatar Sylwester Nawrocki Committed by Mark Brown

ASoC: samsung: i2s: Define the parameters list for SAMSUNG_I2S_OPCLK

The SAMSUNG_I2S_OPCLK is not currently used by any card driver thus we can
safely change semantics of 'dir' argument of the I2S set_sysclk() callback.
Now an enumeration is exported instead of directly using register bit field
values.
Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Acked-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 48279c53
...@@ -65,11 +65,12 @@ ...@@ -65,11 +65,12 @@
#define CON_RXDMA_ACTIVE (1 << 1) #define CON_RXDMA_ACTIVE (1 << 1)
#define CON_ACTIVE (1 << 0) #define CON_ACTIVE (1 << 0)
#define MOD_OPCLK_CDCLK_OUT (0 << 30) #define MOD_OPCLK_SHIFT 30
#define MOD_OPCLK_CDCLK_IN (1 << 30) #define MOD_OPCLK_CDCLK_OUT (0 << MOD_OPCLK_SHIFT)
#define MOD_OPCLK_BCLK_OUT (2 << 30) #define MOD_OPCLK_CDCLK_IN (1 << MOD_OPCLK_SHIFT)
#define MOD_OPCLK_PCLK (3 << 30) #define MOD_OPCLK_BCLK_OUT (2 << MOD_OPCLK_SHIFT)
#define MOD_OPCLK_MASK (3 << 30) #define MOD_OPCLK_PCLK (3 << MOD_OPCLK_SHIFT)
#define MOD_OPCLK_MASK (3 << MOD_OPCLK_SHIFT)
#define MOD_TXS_IDMA (1 << 28) /* Sec_TXFIFO use I-DMA */ #define MOD_TXS_IDMA (1 << 28) /* Sec_TXFIFO use I-DMA */
#define MOD_BLCS_SHIFT 26 #define MOD_BLCS_SHIFT 26
......
...@@ -489,7 +489,7 @@ static int i2s_set_sysclk(struct snd_soc_dai *dai, ...@@ -489,7 +489,7 @@ static int i2s_set_sysclk(struct snd_soc_dai *dai,
switch (clk_id) { switch (clk_id) {
case SAMSUNG_I2S_OPCLK: case SAMSUNG_I2S_OPCLK:
mask = MOD_OPCLK_MASK; mask = MOD_OPCLK_MASK;
val = dir; val = (dir << MOD_OPCLK_SHIFT) & MOD_OPCLK_MASK;
break; break;
case SAMSUNG_I2S_CDCLK: case SAMSUNG_I2S_CDCLK:
mask = 1 << i2s_regs->cdclkcon_off; mask = 1 << i2s_regs->cdclkcon_off;
......
...@@ -16,11 +16,16 @@ ...@@ -16,11 +16,16 @@
#define SAMSUNG_I2S_DAI "samsung-i2s" #define SAMSUNG_I2S_DAI "samsung-i2s"
#define SAMSUNG_I2S_DAI_SEC "samsung-i2s-sec" #define SAMSUNG_I2S_DAI_SEC "samsung-i2s-sec"
#define SAMSUNG_I2S_DIV_BCLK 1 #define SAMSUNG_I2S_DIV_BCLK 1
#define SAMSUNG_I2S_RCLKSRC_0 0 #define SAMSUNG_I2S_RCLKSRC_0 0
#define SAMSUNG_I2S_RCLKSRC_1 1 #define SAMSUNG_I2S_RCLKSRC_1 1
#define SAMSUNG_I2S_CDCLK 2 #define SAMSUNG_I2S_CDCLK 2
/* Operation clock for IIS logic */
#define SAMSUNG_I2S_OPCLK 3 #define SAMSUNG_I2S_OPCLK 3
#define SAMSUNG_I2S_OPCLK_CDCLK_OUT 0 /* CODEC clock out */
#define SAMSUNG_I2S_OPCLK_CDCLK_IN 1 /* CODEC clock in */
#define SAMSUNG_I2S_OPCLK_BCLK_OUT 2 /* Bit clock out */
#define SAMSUNG_I2S_OPCLK_PCLK 3 /* Audio bus clock */
#endif /* __SND_SOC_SAMSUNG_I2S_H */ #endif /* __SND_SOC_SAMSUNG_I2S_H */
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