summaryrefslogtreecommitdiff
path: root/sound/soc/fsl/fsl_dsp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/fsl/fsl_dsp.c')
-rw-r--r--sound/soc/fsl/fsl_dsp.c56
1 files changed, 33 insertions, 23 deletions
diff --git a/sound/soc/fsl/fsl_dsp.c b/sound/soc/fsl/fsl_dsp.c
index 63c11db54f04..1d5b28fc05ac 100644
--- a/sound/soc/fsl/fsl_dsp.c
+++ b/sound/soc/fsl/fsl_dsp.c
@@ -819,32 +819,42 @@ static int fsl_dsp_probe(struct platform_device *pdev)
return ret;
};
- ret = imx_sc_misc_set_control(dsp_priv->dsp_ipcHandle, IMX_SC_R_DSP,
- IMX_SC_C_OFS_SEL, 1);
- if (ret) {
- dev_err(&pdev->dev, "Error system address offset source select\n");
- return -EIO;
- }
+ if (dsp_priv->dsp_board_type == DSP_IMX8QXP_TYPE) {
+ ret = imx_sc_misc_set_control(dsp_priv->dsp_ipcHandle, IMX_SC_R_DSP,
+ IMX_SC_C_OFS_SEL, 1);
+ if (ret) {
+ dev_err(&pdev->dev, "Error system address offset source select\n");
+ return -EIO;
+ }
- ret = imx_sc_misc_set_control(dsp_priv->dsp_ipcHandle, IMX_SC_R_DSP,
- IMX_SC_C_OFS_AUDIO, 0x80);
- if (ret) {
- dev_err(&pdev->dev, "Error system address offset of AUDIO\n");
- return -EIO;
- }
+ ret = imx_sc_misc_set_control(dsp_priv->dsp_ipcHandle, IMX_SC_R_DSP,
+ IMX_SC_C_OFS_PERIPH, 0x5A);
+ if (ret) {
+ dev_err(&pdev->dev, "Error system address offset of PERIPH %d\n",
+ ret);
+ return -EIO;
+ }
- ret = imx_sc_misc_set_control(dsp_priv->dsp_ipcHandle, IMX_SC_R_DSP,
- IMX_SC_C_OFS_PERIPH, 0x5A);
- if (ret) {
- dev_err(&pdev->dev, "Error system address offset of PERIPH %d\n",
- sciErr);
- }
+ ret = imx_sc_misc_set_control(dsp_priv->dsp_ipcHandle, IMX_SC_R_DSP,
+ IMX_SC_C_OFS_IRQ, 0x51);
+ if (ret) {
+ dev_err(&pdev->dev, "Error system address offset of IRQ\n");
+ return -EIO;
+ }
- ret = imx_sc_misc_set_control(dsp_priv->dsp_ipcHandle, IMX_SC_R_DSP,
- IMX_SC_C_OFS_IRQ, 0x51);
- if (ret) {
- dev_err(&pdev->dev, "Error system address offset of IRQ\n");
- return -EIO;
+ ret = imx_sc_misc_set_control(dsp_priv->dsp_ipcHandle, IMX_SC_R_DSP,
+ IMX_SC_C_OFS_AUDIO, 0x80);
+ if (ret) {
+ dev_err(&pdev->dev, "Error system address offset of AUDIO\n");
+ return -EIO;
+ }
+ } else {
+ ret = imx_sc_misc_set_control(dsp_priv->dsp_ipcHandle, IMX_SC_R_DSP,
+ IMX_SC_C_OFS_SEL, 0);
+ if (ret) {
+ dev_err(&pdev->dev, "Error system address offset source select\n");
+ return -EIO;
+ }
}
ret = dsp_mu_init(dsp_priv);