ASoC: SOF: mediatek: Add ipc support for mt8195
[linux-2.6-microblaze.git] / sound / soc / sof / mediatek / adsp_helper.h
index f269a2b..4ab9987 100644 (file)
@@ -7,24 +7,22 @@
 #ifndef __MTK_ADSP_HELPER_H__
 #define __MTK_ADSP_HELPER_H__
 
+#include <linux/firmware/mediatek/mtk-adsp-ipc.h>
+
 /*
  * Global important adsp data structure.
  */
-#define DSP_MBOX_NUM   3
-
 struct mtk_adsp_chip_info {
        phys_addr_t pa_sram;
        phys_addr_t pa_dram; /* adsp dram physical base */
        phys_addr_t pa_shared_dram; /* adsp dram physical base */
        phys_addr_t pa_cfgreg;
-       phys_addr_t pa_mboxreg[DSP_MBOX_NUM];
        u32 sramsize;
        u32 dramsize;
        u32 cfgregsize;
        void __iomem *va_sram; /* corresponding to pa_sram */
        void __iomem *va_dram; /* corresponding to pa_dram */
        void __iomem *va_cfgreg;
-       void __iomem *va_mboxreg[DSP_MBOX_NUM];
        void __iomem *shared_sram; /* part of  va_sram */
        void __iomem *shared_dram; /* part of  va_dram */
        phys_addr_t adsp_bootup_addr;
@@ -42,10 +40,8 @@ struct mtk_adsp_chip_info {
 struct adsp_priv {
        struct device *dev;
        struct snd_sof_dev *sdev;
-
-       /* DSP IPC handler */
-       struct mbox_controller *adsp_mbox;
-
+       struct mtk_adsp_ipc *dsp_ipc;
+       struct platform_device *ipc_dev;
        struct mtk_adsp_chip_info *adsp;
        struct clk **clk;
        u32 (*ap2adsp_addr)(u32 addr, void *data);