mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-03 21:06:39 +07:00
ASoC: fsl_esai: Set PCRC and PRRC registers at the end of hw_params()
According to Reference Manual -- ESAI Initialization chapter, as the standard procedure of ESAI personal reset, the PCRC and PRRC registers should be remained in its reset value and then configured after T/RCCR and T/RCR configurations's done but before TE/RE's enabling. So this patch moves PCRC and PRRC settings to the end of hw_params(). Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
57ebbcafab
commit
4f8210f66e
@ -461,12 +461,6 @@ static int fsl_esai_startup(struct snd_pcm_substream *substream,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!dai->active) {
|
if (!dai->active) {
|
||||||
/* Reset Port C */
|
|
||||||
regmap_update_bits(esai_priv->regmap, REG_ESAI_PRRC,
|
|
||||||
ESAI_PRRC_PDC_MASK, ESAI_PRRC_PDC(ESAI_GPIO));
|
|
||||||
regmap_update_bits(esai_priv->regmap, REG_ESAI_PCRC,
|
|
||||||
ESAI_PCRC_PC_MASK, ESAI_PCRC_PC(ESAI_GPIO));
|
|
||||||
|
|
||||||
/* Set synchronous mode */
|
/* Set synchronous mode */
|
||||||
regmap_update_bits(esai_priv->regmap, REG_ESAI_SAICR,
|
regmap_update_bits(esai_priv->regmap, REG_ESAI_SAICR,
|
||||||
ESAI_SAICR_SYNC, esai_priv->synchronous ?
|
ESAI_SAICR_SYNC, esai_priv->synchronous ?
|
||||||
@ -526,6 +520,11 @@ static int fsl_esai_hw_params(struct snd_pcm_substream *substream,
|
|||||||
|
|
||||||
regmap_update_bits(esai_priv->regmap, REG_ESAI_xCR(tx), mask, val);
|
regmap_update_bits(esai_priv->regmap, REG_ESAI_xCR(tx), mask, val);
|
||||||
|
|
||||||
|
/* Remove ESAI personal reset by configuring ESAI_PCRC and ESAI_PRRC */
|
||||||
|
regmap_update_bits(esai_priv->regmap, REG_ESAI_PRRC,
|
||||||
|
ESAI_PRRC_PDC_MASK, ESAI_PRRC_PDC(ESAI_GPIO));
|
||||||
|
regmap_update_bits(esai_priv->regmap, REG_ESAI_PCRC,
|
||||||
|
ESAI_PCRC_PC_MASK, ESAI_PCRC_PC(ESAI_GPIO));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user