extern struct snd_sof_dsp_ops sof_imx8_ops;
 extern struct snd_sof_dsp_ops sof_imx8x_ops;
+extern struct snd_sof_dsp_ops sof_imx8m_ops;
 
 /* platform specific devices */
 #if IS_ENABLED(CONFIG_SND_SOC_SOF_IMX8)
 };
 #endif
 
+#if IS_ENABLED(CONFIG_SND_SOC_SOF_IMX8M)
+static struct sof_dev_desc sof_of_imx8mp_desc = {
+       .default_fw_path = "imx/sof",
+       .default_tplg_path = "imx/sof-tplg",
+       .default_fw_filename = "sof-imx8m.ri",
+       .nocodec_tplg_filename = "sof-imx8-nocodec.tplg",
+       .ops = &sof_imx8m_ops,
+};
+#endif
+
 static const struct dev_pm_ops sof_of_pm = {
        SET_SYSTEM_SLEEP_PM_OPS(snd_sof_suspend, snd_sof_resume)
        SET_RUNTIME_PM_OPS(snd_sof_runtime_suspend, snd_sof_runtime_resume,
 #if IS_ENABLED(CONFIG_SND_SOC_SOF_IMX8)
        { .compatible = "fsl,imx8qxp-dsp", .data = &sof_of_imx8qxp_desc},
        { .compatible = "fsl,imx8qm-dsp", .data = &sof_of_imx8qm_desc},
+#endif
+#if IS_ENABLED(CONFIG_SND_SOC_SOF_IMX8M)
+       { .compatible = "fsl,imx8mp-dsp", .data = &sof_of_imx8mp_desc},
 #endif
        { }
 };