summaryrefslogtreecommitdiff
path: root/sound/soc/fsl/fsl_dsp_audiomix.c
diff options
context:
space:
mode:
authorDaniel Baluta <daniel.baluta@nxp.com>2020-06-18 21:15:28 +0300
committerDaniel Baluta <daniel.baluta@nxp.com>2020-06-19 17:01:30 +0300
commitdd53cbb0fdddeebd3526e42e0cdc9d393670671b (patch)
tree8cc44162d0d7e02c1996ed4fccc5fe6365859928 /sound/soc/fsl/fsl_dsp_audiomix.c
parentb3adec224c89003919743e6764b9dbb751983894 (diff)
MLK-24263-7 ASoC: fsl_dsp_audiomix: Introduce imx_audiomix_dsp_stall
This function is used to stall the DSP and it will be used together with PWRCTL register in order to properly reset the DSP to handle the Power Management use case. Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Diffstat (limited to 'sound/soc/fsl/fsl_dsp_audiomix.c')
-rw-r--r--sound/soc/fsl/fsl_dsp_audiomix.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/soc/fsl/fsl_dsp_audiomix.c b/sound/soc/fsl/fsl_dsp_audiomix.c
index ba7730b54cd2..679550ae857d 100644
--- a/sound/soc/fsl/fsl_dsp_audiomix.c
+++ b/sound/soc/fsl/fsl_dsp_audiomix.c
@@ -26,6 +26,16 @@ void imx_audiomix_dsp_start(struct imx_audiomix_dsp_data *data)
}
EXPORT_SYMBOL(imx_audiomix_dsp_start);
+void imx_audiomix_dsp_stall(struct imx_audiomix_dsp_data *data)
+{
+ u32 val;
+
+ val = readl(data->base + AudioDSP_REG2);
+ val |= AudioDSP_REG2_RUNSTALL;
+ writel(val, data->base + AudioDSP_REG2);
+}
+EXPORT_SYMBOL(imx_audiomix_dsp_stall);
+
void imx_audiomix_dsp_pid_set(struct imx_audiomix_dsp_data *data, u32 val)
{
writel(val, data->base + AudioDSP_REG3);