cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

adsp_helper.h (1282B)


      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 */
     15struct 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	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*/
     30
     31	phys_addr_t pa_secreg;
     32	u32 secregsize;
     33	void __iomem *va_secreg;
     34
     35	phys_addr_t pa_busreg;
     36	u32 busregsize;
     37	void __iomem *va_busreg;
     38};
     39
     40struct adsp_priv {
     41	struct device *dev;
     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;
     46	struct clk **clk;
     47	u32 (*ap2adsp_addr)(u32 addr, void *data);
     48	u32 (*adsp2ap_addr)(u32 addr, void *data);
     49
     50	void *private_data;
     51};
     52
     53#endif