1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef SOC_MEDIATEK_SPM_COMMON_H 4 #define SOC_MEDIATEK_SPM_COMMON_H 5 6 #include <soc/mcu_common.h> 7 8 #define SPM_SYSTEM_BASE_OFFSET 0x40000000 9 10 struct pcm_desc { 11 u32 pmem_words; 12 u32 total_words; 13 u32 pmem_start; 14 u32 dmem_start; 15 }; 16 17 struct dyna_load_pcm { 18 u8 *buf; /* binary array */ 19 struct pcm_desc desc; 20 }; 21 22 const struct pwr_ctrl *get_pwr_ctrl(void); 23 void spm_code_swapping(void); 24 void spm_set_power_control(const struct pwr_ctrl *pwrctrl); 25 void spm_register_init(void); 26 void spm_reset_and_init_pcm(void); 27 void spm_set_wakeup_event(const struct pwr_ctrl *pwrctrl); 28 void spm_extern_initialize(void); 29 int spm_init(void); 30 31 #endif /* SOC_MEDIATEK_SPM_COMMON_H */ 32