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