arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / sound / soc / sof / mediatek / adsp_helper.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2
3 /*
4  * Copyright (c) 2021 MediaTek Corporation. All rights reserved.
5  */
6
7 #ifndef __MTK_ADSP_HELPER_H__
8 #define __MTK_ADSP_HELPER_H__
9
10 #include <linux/firmware/mediatek/mtk-adsp-ipc.h>
11
12 /*
13  * Global important adsp data structure.
14  */
15 struct mtk_adsp_chip_info {
16         phys_addr_t pa_sram;
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;
20         u32 sramsize;
21         u32 dramsize;
22         u32 cfgregsize;
23         u32 shared_size;
24         void __iomem *va_sram; /* corresponding to pa_sram */
25         void __iomem *va_dram; /* corresponding to pa_dram */
26         void __iomem *va_cfgreg;
27         void __iomem *shared_sram; /* part of  va_sram */
28         void __iomem *shared_dram; /* part of  va_dram */
29         phys_addr_t adsp_bootup_addr;
30         int dram_offset; /*dram offset between system and dsp view*/
31
32         phys_addr_t pa_secreg;
33         u32 secregsize;
34         void __iomem *va_secreg;
35
36         phys_addr_t pa_busreg;
37         u32 busregsize;
38         void __iomem *va_busreg;
39 };
40
41 struct adsp_priv {
42         struct device *dev;
43         struct snd_sof_dev *sdev;
44         struct mtk_adsp_ipc *dsp_ipc;
45         struct platform_device *ipc_dev;
46         struct mtk_adsp_chip_info *adsp;
47         struct clk **clk;
48         u32 (*ap2adsp_addr)(u32 addr, void *data);
49         u32 (*adsp2ap_addr)(u32 addr, void *data);
50
51         void *private_data;
52 };
53
54 #endif