1 /* SPDX-License-Identifier: GPL-2.0 */
4 * Copyright (c) 2021 MediaTek Corporation. All rights reserved.
7 #ifndef __MTK_ADSP_HELPER_H__
8 #define __MTK_ADSP_HELPER_H__
10 #include <linux/firmware/mediatek/mtk-adsp-ipc.h>
13 * Global important adsp data structure.
15 struct mtk_adsp_chip_info {
17 phys_addr_t pa_dram; /* adsp dram physical base */
18 phys_addr_t pa_shared_dram; /* adsp dram physical base */
19 phys_addr_t pa_cfgreg;
23 void __iomem *va_sram; /* corresponding to pa_sram */
24 void __iomem *va_dram; /* corresponding to pa_dram */
25 void __iomem *va_cfgreg;
26 void __iomem *shared_sram; /* part of va_sram */
27 void __iomem *shared_dram; /* part of va_dram */
28 phys_addr_t adsp_bootup_addr;
29 int dram_offset; /*dram offset between system and dsp view*/
31 phys_addr_t pa_secreg;
33 void __iomem *va_secreg;
35 phys_addr_t pa_busreg;
37 void __iomem *va_busreg;
42 struct snd_sof_dev *sdev;
43 struct mtk_adsp_ipc *dsp_ipc;
44 struct platform_device *ipc_dev;
45 struct mtk_adsp_chip_info *adsp;
47 u32 (*ap2adsp_addr)(u32 addr, void *data);
48 u32 (*adsp2ap_addr)(u32 addr, void *data);