• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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