xref: /rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/mt_spm_conservation.h (revision e7be9243d071b37d13d826824ec4bb8c8b39caa2)
1 /*
2  * Copyright (c) 2025, Mediatek Inc. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef MT_SPM_CONSERVATION_H
8 #define MT_SPM_CONSERVATION_H
9 
10 #include <mt_spm.h>
11 #include <mt_spm_internal.h>
12 
13 int spm_conservation(int state_id, uint32_t ext_opand,
14 		     struct spm_lp_scen *spm_lp,
15 		     uint32_t resource_req);
16 
17 void spm_conservation_finish(int state_id, uint32_t ext_opand,
18 			     struct spm_lp_scen *spm_lp,
19 			     struct wake_status **status);
20 
21 int spm_conservation_get_result(struct wake_status **res);
22 
23 int spm_conservation_fw_run(uint32_t first, void *pwrctrl);
24 
25 int spm_conservation_wakeup_obs(int IsSet, int cat,
26 				uint32_t wake_src_bits);
27 
28 void mt_uart_save(void);
29 void mt_uart_restore(void);
30 #endif /* MT_SPM_CONSERVATION_H */
31