1 /*
2  * Copyright (c) 2022, MediaTek Inc. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef MT_SPM_RESOURCE_REQ_H
8 #define MT_SPM_RESOURCE_REQ_H
9 
10 /* SPM resource request internal bit */
11 #define MT_SPM_BIT_XO_FPM	(0U)
12 #define MT_SPM_BIT_26M		(1U)
13 #define MT_SPM_BIT_INFRA	(2U)
14 #define MT_SPM_BIT_SYSPLL	(3U)
15 #define MT_SPM_BIT_DRAM_S0	(4U)
16 #define MT_SPM_BIT_DRAM_S1	(5U)
17 
18 /* SPM resource request internal bit_mask */
19 #define MT_SPM_XO_FPM	BIT(MT_SPM_BIT_XO_FPM)
20 #define MT_SPM_26M	BIT(MT_SPM_BIT_26M)
21 #define MT_SPM_INFRA	BIT(MT_SPM_BIT_INFRA)
22 #define MT_SPM_SYSPLL	BIT(MT_SPM_BIT_SYSPLL)
23 #define MT_SPM_DRAM_S0	BIT(MT_SPM_BIT_DRAM_S0)
24 #define MT_SPM_DRAM_S1	BIT(MT_SPM_BIT_DRAM_S1)
25 
26 char spm_resource_req(unsigned int user, unsigned int req_mask);
27 
28 #define IS_PLAT_SUSPEND_ID(stateid)\
29 	((stateid == MT_PLAT_PWR_STATE_SUSPEND2IDLE)\
30 	 || (stateid == MT_PLAT_PWR_STATE_SYSTEM_SUSPEND))
31 
32 #endif /* MT_SPM_RESOURCE_REQ_H */
33