xref: /rk3399_ARM-atf/plat/mediatek/mt8186/drivers/spm/sleep_def.h (revision 1f4adc3a34f80249d40bfc7033a65f4217d7ee04)
1*7ac6a76cSjason-ch chen /*
2*7ac6a76cSjason-ch chen  * Copyright (c) 2022, MediaTek Inc. All rights reserved.
3*7ac6a76cSjason-ch chen  *
4*7ac6a76cSjason-ch chen  * SPDX-License-Identifier: BSD-3-Clause
5*7ac6a76cSjason-ch chen  */
6*7ac6a76cSjason-ch chen 
7*7ac6a76cSjason-ch chen #ifndef SLEEP_DEF_H
8*7ac6a76cSjason-ch chen #define SLEEP_DEF_H
9*7ac6a76cSjason-ch chen 
10*7ac6a76cSjason-ch chen /*
11*7ac6a76cSjason-ch chen  * Auto generated by DE, please DO NOT modify this file directly.
12*7ac6a76cSjason-ch chen  */
13*7ac6a76cSjason-ch chen 
14*7ac6a76cSjason-ch chen /* --- SPM Flag Define --- */
15*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_CPU_PDN			(1U << 0)
16*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_INFRA_PDN			(1U << 1)
17*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_DDRPHY_PDN			(1U << 2)
18*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_VCORE_DVS			(1U << 3)
19*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_VCORE_DFS			(1U << 4)
20*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_COMMON_SCENARIO		(1U << 5)
21*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_BUS_CLK_OFF			(1U << 6)
22*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_ARMPLL_OFF			(1U << 7)
23*7ac6a76cSjason-ch chen #define SPM_FLAG_KEEP_CSYSPWRACK_HIGH			(1U << 8)
24*7ac6a76cSjason-ch chen #define SPM_FLAG_ENABLE_LVTS_WORKAROUND			(1U << 9)
25*7ac6a76cSjason-ch chen #define SPM_FLAG_RUN_COMMON_SCENARIO			(1U << 10)
26*7ac6a76cSjason-ch chen #define SPM_FLAG_SSPM_INFRA_SLEEP_MODE			(1U << 11)
27*7ac6a76cSjason-ch chen #define SPM_FLAG_ENABLE_SPM_DBG_WDT_DUMP		(1U << 12)
28*7ac6a76cSjason-ch chen #define SPM_FLAG_USE_SRCCLKENO2				(1U << 13)
29*7ac6a76cSjason-ch chen #define SPM_FLAG_RESERVED_BIT14				(1U << 14)
30*7ac6a76cSjason-ch chen #define SPM_FLAG_ENABLE_TIA_WORKAROUND			(1U << 15)
31*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_SYSRAM_SLEEP			(1U << 16)
32*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_SSPM_SRAM_SLEEP		(1U << 17)
33*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_MCUPM_SRAM_SLEEP		(1U << 18)
34*7ac6a76cSjason-ch chen #define SPM_FLAG_RESERVED_BIT19				(1U << 19)
35*7ac6a76cSjason-ch chen #define SPM_FLAG_ENABLE_VOLTAGE_BIN			(1U << 20)
36*7ac6a76cSjason-ch chen #define SPM_FLAG_RESERVED_BIT21				(1U << 21)
37*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_DRAMC_MCU_SRAM_SLEEP		(1U << 22)
38*7ac6a76cSjason-ch chen #define SPM_FLAG_DISABLE_SRAM_EVENT			(1U << 23)
39*7ac6a76cSjason-ch chen #define SPM_FLAG_RESERVED_BIT24				(1U << 24)
40*7ac6a76cSjason-ch chen #define SPM_FLAG_RESERVED_BIT25				(1U << 25)
41*7ac6a76cSjason-ch chen #define SPM_FLAG_RESERVED_BIT26				(1U << 26)
42*7ac6a76cSjason-ch chen #define SPM_FLAG_DDREN_STATE				(1U << 27)
43*7ac6a76cSjason-ch chen #define SPM_FLAG_VTCXO_STATE				(1U << 28)
44*7ac6a76cSjason-ch chen #define SPM_FLAG_INFRA_STATE				(1U << 29)
45*7ac6a76cSjason-ch chen #define SPM_FLAG_VRF18_STATE				(1U << 30)
46*7ac6a76cSjason-ch chen #define SPM_FLAG_APSRC_STATE				(1U << 31)
47*7ac6a76cSjason-ch chen #define SPM_FLAG_SYSTEM_POWER_STATE			(1U << 28)
48*7ac6a76cSjason-ch chen /* --- SPM Flag1 Define --- */
49*7ac6a76cSjason-ch chen #define SPM_FLAG1_DISABLE_AXI_BUS_TO_26M		(1U << 0)
50*7ac6a76cSjason-ch chen #define SPM_FLAG1_DISABLE_SYSPLL_OFF			(1U << 1)
51*7ac6a76cSjason-ch chen #define SPM_FLAG1_DISABLE_PWRAP_CLK_SWITCH		(1U << 2)
52*7ac6a76cSjason-ch chen #define SPM_FLAG1_DISABLE_ULPOSC_OFF			(1U << 3)
53*7ac6a76cSjason-ch chen #define SPM_FLAG1_FW_SET_ULPOSC_ON			(1U << 4)
54*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT5				(1U << 5)
55*7ac6a76cSjason-ch chen #define SPM_FLAG1_ENABLE_REKICK				(1U << 6)
56*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT7				(1U << 7)
57*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT8				(1U << 8)
58*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT9				(1U << 9)
59*7ac6a76cSjason-ch chen #define SPM_FLAG1_DISABLE_SRCLKEN_LOW			(1U << 10)
60*7ac6a76cSjason-ch chen #define SPM_FLAG1_DISABLE_SCP_CLK_SWITCH		(1U << 11)
61*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT12			(1U << 12)
62*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT13			(1U << 13)
63*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT14			(1U << 14)
64*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT15			(1U << 15)
65*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT16			(1U << 16)
66*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT17			(1U << 17)
67*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT18			(1U << 18)
68*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT19			(1U << 19)
69*7ac6a76cSjason-ch chen #define SPM_FLAG1_DISABLE_DEVAPC_SRAM_SLEEP		(1U << 20)
70*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT21			(1U << 21)
71*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT22			(1U << 22)
72*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT23			(1U << 23)
73*7ac6a76cSjason-ch chen #define SPM_FLAG1_DISABLE_SCP_VREQ_MASK_CONTROL		(1U << 24)
74*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT25			(1U << 25)
75*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT26			(1U << 26)
76*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT27			(1U << 27)
77*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT28			(1U << 28)
78*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT29			(1U << 29)
79*7ac6a76cSjason-ch chen #define SPM_FLAG1_RESERVED_BIT30			(1U << 30)
80*7ac6a76cSjason-ch chen #define SPM_FLAG1_ENABLE_MCUPM_OFF			(1U << 31)
81*7ac6a76cSjason-ch chen /* --- SPM DEBUG Define --- */
82*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_26M_WAKE			(1U << 0)
83*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_26M_SLEEP			(1U << 1)
84*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_INFRA_WAKE			(1U << 2)
85*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_INFRA_SLEEP			(1U << 3)
86*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_APSRC_WAKE			(1U << 4)
87*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_APSRC_SLEEP			(1U << 5)
88*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_VRF18_WAKE			(1U << 6)
89*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_VRF18_SLEEP			(1U << 7)
90*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_DDREN_WAKE			(1U << 8)
91*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_DDREN_SLEEP			(1U << 9)
92*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_DRAM_SREF_ABORT_IN_APSRC	(1U << 10)
93*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_MCUPM_SRAM_STATE		(1U << 11)
94*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_SSPM_SRAM_STATE		(1U << 12)
95*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_DRAM_SREF_ABORT_IN_DDREN	(1U << 13)
96*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_DRAMC_MCU_SRAM_STATE		(1U << 14)
97*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_SYSRAM_SLP			(1U << 15)
98*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_SYSRAM_ON			(1U << 16)
99*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_MCUPM_SRAM_SLP		(1U << 17)
100*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_MCUPM_SRAM_ON			(1U << 18)
101*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_SSPM_SRAM_SLP			(1U << 19)
102*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_SSPM_SRAM_ON			(1U << 20)
103*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_DRAMC_MCU_SRAM_SLP		(1U << 21)
104*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_DRAMC_MCU_SRAM_ON		(1U << 22)
105*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_APSRC_SLEEP_ABORT		(1U << 23)
106*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_SPM_GO_WAKEUP_NOW		(1U << 27)
107*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_VTCXO_STATE			(1U << 28)
108*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_INFRA_STATE			(1U << 29)
109*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_VRR18_STATE			(1U << 30)
110*7ac6a76cSjason-ch chen #define SPM_DBG_DEBUG_IDX_APSRC_STATE			(1U << 31)
111*7ac6a76cSjason-ch chen /* --- SPM DEBUG1 Define --- */
112*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_CURRENT_IS_LP		(1U << 0)
113*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_VCORE_DVFS_START		(1U << 1)
114*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_SYSPLL_OFF			(1U << 2)
115*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_SYSPLL_ON			(1U << 3)
116*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_CURRENT_IS_VCORE_DVFS	(1U << 4)
117*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_INFRA_MTCMOS_OFF		(1U << 5)
118*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_INFRA_MTCMOS_ON		(1U << 6)
119*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_VRCXO_SLEEP_ABORT		(1U << 7)
120*7ac6a76cSjason-ch chen #define SPM_DBG1_RESERVED_BIT8				(1U << 8)
121*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_PWRAP_CLK_TO_ULPOSC		(1U << 11)
122*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_PWRAP_CLK_TO_26M		(1U << 12)
123*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_SCP_CLK_TO_32K		(1U << 13)
124*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_SCP_CLK_TO_26M		(1U << 14)
125*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_BUS_CLK_OFF			(1U << 15)
126*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_BUS_CLK_ON			(1U << 16)
127*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_SRCLKEN2_LOW			(1U << 17)
128*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_SRCLKEN2_HIGH		(1U << 18)
129*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_MCUPM_WAKE_IRQ		(1U << 19)
130*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_ULPOSC_IS_OFF_BUT_SHOULD_ON	(1U << 20)
131*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_PWRAP_SLEEP_ACK_LOW_ABORT	(1U << 23)
132*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_PWRAP_SLEEP_ACK_HIGH_ABORT	(1U << 24)
133*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_EMI_SLP_IDLE_ABORT		(1U << 25)
134*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_SCP_SLP_ACK_LOW_ABORT	(1U << 26)
135*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_SCP_SLP_ACK_HIGH_ABORT	(1U << 27)
136*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_SPM_DVFS_CMD_RDY_ABORT	(1U << 28)
137*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_SPM_TIMER_RST_DVFS		(1U << 29)
138*7ac6a76cSjason-ch chen #define SPM_DBG1_DEBUG_IDX_SPM_DISABLE_DDREN_EVENT	(1U << 30)
139*7ac6a76cSjason-ch chen #define MCUPM_RESTORE					(1U << 31)
140*7ac6a76cSjason-ch chen 
141*7ac6a76cSjason-ch chen /* Macro and Inline */
142*7ac6a76cSjason-ch chen #define is_cpu_pdn(flags)	(((flags) & SPM_FLAG_DISABLE_CPU_PDN) == 0U)
143*7ac6a76cSjason-ch chen #define is_infra_pdn(flags)	(((flags) & SPM_FLAG_DISABLE_INFRA_PDN) == 0U)
144*7ac6a76cSjason-ch chen #define is_ddrphy_pdn(flags)	(((flags) & SPM_FLAG_DISABLE_DDRPHY_PDN) == 0U)
145*7ac6a76cSjason-ch chen 
146*7ac6a76cSjason-ch chen #endif /* SLEEP_DEF_H */
147