aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLionel Xu <Lionel.Xu@freescale.com>2011-08-26 18:26:45 +0800
committerLionel Xu <Lionel.Xu@freescale.com>2011-08-29 13:39:45 +0800
commitc703282fe7f93b67ee73c81683663f45bb82f89a (patch)
tree4295ffef0325e2c177adbf782048b7b4d27c6a2d
parentb6c1b0ed81a7bec3c361fa82b299ad5dd3ea3d20 (diff)
ENGR00139255-2 MX6Q_BSP ESAI: Add esai recording support
Add ESAI recording to mx6q platform. Note: since there is pad conflict between esai record and fec, add a boot argument esai_record to deal with it. This argument is required to enable the record functionality. Signed-off-by: Lionel Xu <R63889@freescale.com>
-rw-r--r--sound/soc/codecs/cs42888.c4
-rw-r--r--sound/soc/imx/imx-cs42888.c2
-rw-r--r--sound/soc/imx/imx-esai.c2
3 files changed, 5 insertions, 3 deletions
diff --git a/sound/soc/codecs/cs42888.c b/sound/soc/codecs/cs42888.c
index e06eb30a181..c810333b328 100644
--- a/sound/soc/codecs/cs42888.c
+++ b/sound/soc/codecs/cs42888.c
@@ -618,6 +618,7 @@ static int cs42888_set_dai_fmt(struct snd_soc_dai *codec_dai,
return ret;
}
+ dump_reg(codec);
return ret;
}
@@ -647,7 +648,7 @@ static int cs42888_hw_params(struct snd_pcm_substream *substream,
unsigned int i;
unsigned int rate;
unsigned int ratio;
- u8 val;
+ u32 val;
rate = params_rate(params); /* Sampling rate, in Hz */
ratio = cs42888->mclk / rate; /* MCLK/LRCK ratio */
@@ -706,6 +707,7 @@ static int cs42888_hw_params(struct snd_pcm_substream *substream,
return ret;
}
+ dump_reg(codec);
return ret;
}
diff --git a/sound/soc/imx/imx-cs42888.c b/sound/soc/imx/imx-cs42888.c
index 8943534b958..87c2115cc96 100644
--- a/sound/soc/imx/imx-cs42888.c
+++ b/sound/soc/imx/imx-cs42888.c
@@ -155,7 +155,7 @@ static int imx_3stack_surround_hw_params(struct snd_pcm_substream *substream,
snd_soc_dai_set_clkdiv(cpu_dai, ESAI_TX_DIV_PM, 2);
snd_soc_dai_set_clkdiv(cpu_dai, ESAI_TX_DIV_FP, lrclk_ratio);
snd_soc_dai_set_clkdiv(cpu_dai, ESAI_RX_DIV_PSR, 1);
- snd_soc_dai_set_clkdiv(cpu_dai, ESAI_RX_DIV_PM, 0);
+ snd_soc_dai_set_clkdiv(cpu_dai, ESAI_RX_DIV_PM, 2);
snd_soc_dai_set_clkdiv(cpu_dai, ESAI_RX_DIV_FP, lrclk_ratio);
/* set codec DAI configuration */
diff --git a/sound/soc/imx/imx-esai.c b/sound/soc/imx/imx-esai.c
index 3a31d079796..ebd45ffa6ec 100644
--- a/sound/soc/imx/imx-esai.c
+++ b/sound/soc/imx/imx-esai.c
@@ -68,7 +68,7 @@ static int imx_esai_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
ecr |= ESAI_ECR_ETI;
ecr &= ~ESAI_ECR_ETO;
ecr |= ESAI_ECR_ERI;
- ecr |= ESAI_ECR_ERO;
+ ecr &= ~ESAI_ECR_ERO;
}
}