xref: /rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8196/sleep_def.h (revision cf2df874cd09305ac7282fadb0fef6be597dfffb)
1*fb57af70SWenzhen Yu /*
2*fb57af70SWenzhen Yu  * Copyright (c) 2025, Mediatek Inc. All rights reserved.
3*fb57af70SWenzhen Yu  *
4*fb57af70SWenzhen Yu  * SPDX-License-Identifier: BSD-3-Clause
5*fb57af70SWenzhen Yu  */
6*fb57af70SWenzhen Yu 
7*fb57af70SWenzhen Yu #ifndef SLEEP_DEF_H
8*fb57af70SWenzhen Yu #define SLEEP_DEF_H
9*fb57af70SWenzhen Yu 
10*fb57af70SWenzhen Yu /* --- SPM Flag Define --- */
11*fb57af70SWenzhen Yu #define SPM_FLAG_DISABLE_INFRA_PDN			BIT(0)
12*fb57af70SWenzhen Yu #define SPM_FLAG_DISABLE_DPM_PDN			BIT(1)
13*fb57af70SWenzhen Yu #define SPM_FLAG_DISABLE_MCUPM_PDN			BIT(2)
14*fb57af70SWenzhen Yu #define SPM_FLAG_RESERVED_BIT_3				BIT(3)
15*fb57af70SWenzhen Yu #define SPM_FLAG_DISABLE_VLP_PDN			BIT(4)
16*fb57af70SWenzhen Yu #define SPM_FLAG_DISABLE_VLPCLK_SWITCH			BIT(5)
17*fb57af70SWenzhen Yu #define SPM_FLAG_DISABLE_SSPM_SRAM_SLEEP		BIT(6)
18*fb57af70SWenzhen Yu #define SPM_FLAG_RESERVED_BIT_7				BIT(7)
19*fb57af70SWenzhen Yu #define SPM_FLAG_DISABLE_VCORE_DVS			BIT(8)
20*fb57af70SWenzhen Yu #define SPM_FLAG_DISABLE_DDR_DFS			BIT(9)
21*fb57af70SWenzhen Yu #define SPM_FLAG_DISABLE_EMI_DFS			BIT(10)
22*fb57af70SWenzhen Yu #define SPM_FLAG_DISABLE_BUS_DFS			BIT(11)
23*fb57af70SWenzhen Yu #define SPM_FLAG_DISABLE_COMMON_SCENARIO		BIT(12)
24*fb57af70SWenzhen Yu #define SPM_FLAG_RESERVED_BIT_13			BIT(13)
25*fb57af70SWenzhen Yu #define SPM_FLAG_RESERVED_BIT_14			BIT(14)
26*fb57af70SWenzhen Yu #define SPM_FLAG_RESERVED_BIT_15			BIT(15)
27*fb57af70SWenzhen Yu #define SPM_FLAG_KEEP_CSYSPWRACK_HIGH			BIT(16)
28*fb57af70SWenzhen Yu #define SPM_FLAG_ENABLE_MT8196_IVI			BIT(17)
29*fb57af70SWenzhen Yu #define SPM_FLAG_ENABLE_SPM_DBG_WDT_DUMP		BIT(18)
30*fb57af70SWenzhen Yu #define SPM_FLAG_RUN_COMMON_SCENARIO			BIT(19)
31*fb57af70SWenzhen Yu #define SPM_FLAG_USE_SRCCLKENO2				BIT(20)
32*fb57af70SWenzhen Yu #define SPM_FLAG_ENABLE_AOV				BIT(21)
33*fb57af70SWenzhen Yu #define SPM_FLAG_ENABLE_MD_MUMTAS			BIT(22)
34*fb57af70SWenzhen Yu #define SPM_FLAG_ENABLE_COMMON_SODI5			BIT(23)
35*fb57af70SWenzhen Yu #define SPM_FLAG_ENABLE_MT8196_E1_WA			BIT(24)
36*fb57af70SWenzhen Yu #define SPM_FLAG_ENABLE_MT8196_EMI_E1_WA		BIT(25)
37*fb57af70SWenzhen Yu #define SPM_FLAG_VCORE_STATE				BIT(26)
38*fb57af70SWenzhen Yu #define SPM_FLAG_VTCXO_STATE				BIT(27)
39*fb57af70SWenzhen Yu #define SPM_FLAG_INFRA_STATE				BIT(28)
40*fb57af70SWenzhen Yu #define SPM_FLAG_APSRC_STATE				BIT(29)
41*fb57af70SWenzhen Yu #define SPM_FLAG_VRF18_STATE				BIT(30)
42*fb57af70SWenzhen Yu #define SPM_FLAG_DDREN_STATE				BIT(31)
43*fb57af70SWenzhen Yu 
44*fb57af70SWenzhen Yu /* --- SPM Flag1 Define --- */
45*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_AXI_BUS_TO_26M		BIT(0)
46*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_SYSPLL_OFF			BIT(1)
47*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_PWRAP_CLK_SWITCH		BIT(2)
48*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_CSOPLU_OFF			BIT(3)
49*fb57af70SWenzhen Yu #define SPM_FLAG1_FW_SET_CSOPLU_ON			BIT(4)
50*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_EMI_CLK_TO_CSOPLU		BIT(5)
51*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_NO_RESUME			BIT(6)
52*fb57af70SWenzhen Yu #define SPM_FLAG1_RESERVED_BIT_7			BIT(7)
53*fb57af70SWenzhen Yu #define SPM_FLAG1_RESERVED_BIT_8			BIT(8)
54*fb57af70SWenzhen Yu #define SPM_FLAG1_RESERVED_BIT_9			BIT(9)
55*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_SRCLKEN_LOW			BIT(10)
56*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_SCP_CLK_SWITCH		BIT(11)
57*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_TOP_26M_CK_OFF		BIT(12)
58*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_PCM_26M_SWITCH		BIT(13)
59*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_CKSQ_OFF			BIT(14)
60*fb57af70SWenzhen Yu #define SPM_FLAG1_DO_DPSW_0P725V			BIT(15)
61*fb57af70SWenzhen Yu #define SPM_FLAG1_ENABLE_ALCO_TRACE			BIT(16)
62*fb57af70SWenzhen Yu #define SPM_FLAG1_ENABLE_SUSPEND_AVS			BIT(17)
63*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_TVCORE_OFF			BIT(18)
64*fb57af70SWenzhen Yu #define SPM_FLAG1_ENABLE_CSOPLU_OFF			BIT(19)
65*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_INFRA_SRAM_SLEEP		BIT(20)
66*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_AXI_MEM_CLK_OFF		BIT(21)
67*fb57af70SWenzhen Yu #define SPM_FLAG1_RESERVED_BIT_22			BIT(22)
68*fb57af70SWenzhen Yu #define SPM_FLAG1_RESERVED_BIT_23			BIT(23)
69*fb57af70SWenzhen Yu #define SPM_FLAG1_DISABLE_SCP_VREQ_MASK_CONTROL		BIT(24)
70*fb57af70SWenzhen Yu #define SPM_FLAG1_RESERVED_BIT_25			BIT(25)
71*fb57af70SWenzhen Yu #define SPM_FLAG1_RESERVED_BIT_26			BIT(26)
72*fb57af70SWenzhen Yu #define SPM_FLAG1_RESERVED_BIT_27			BIT(27)
73*fb57af70SWenzhen Yu #define SPM_FLAG1_RESERVED_BIT_28			BIT(28)
74*fb57af70SWenzhen Yu #define SPM_FLAG1_RESERVED_BIT_29			BIT(29)
75*fb57af70SWenzhen Yu #define SPM_FLAG1_ENABLE_WAKE_PROF			BIT(30)
76*fb57af70SWenzhen Yu #define SPM_FLAG1_ENABLE_SLEEP_PROF			BIT(31)
77*fb57af70SWenzhen Yu 
78*fb57af70SWenzhen Yu /* --- SPM DEBUG Define --- */
79*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_26M_WAKE			BIT(0)
80*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_26M_SLEEP			BIT(1)
81*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_INFRA_WAKE			BIT(2)
82*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_INFRA_SLEEP			BIT(3)
83*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_APSRC_WAKE			BIT(4)
84*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_APSRC_SLEEP			BIT(5)
85*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_VRF18_WAKE			BIT(6)
86*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_VRF18_SLEEP			BIT(7)
87*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_VCORE_WAKE			BIT(8)
88*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_VCORE_SLEEP			BIT(9)
89*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_DDREN_WAKE			BIT(10)
90*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_DDREN_SLEEP			BIT(11)
91*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_PMIC_WAKE			BIT(12)
92*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_PMIC_SLEEP			BIT(13)
93*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_EMI_WAKE			BIT(14)
94*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_EMI_SLEEP			BIT(15)
95*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_AOVBUS_WAKE			BIT(16)
96*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_AOVBUS_SLEEP			BIT(17)
97*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_CURRENT_IS_CM			BIT(18)
98*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_SYSRAM_ON			BIT(19)
99*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_WAIT_SSPM			BIT(20)
100*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_SSPM_SRAM_SLP			BIT(21)
101*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_SSPM_SRAM_ON			BIT(22)
102*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_SPM_DVFS_NO_REQ		BIT(23)
103*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_VCORE_LP_MODE		        BIT(24)
104*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_SPM_NORMAL_WAKEUP		BIT(28)
105*fb57af70SWenzhen Yu #define SPM_DBG_DEBUG_IDX_SPM_WAKEUP_BY_NONE		BIT(29)
106*fb57af70SWenzhen Yu /* --- SPM DEBUG1 Define --- */
107*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_CURRENT_IS_LP		BIT(0)
108*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_VCORE_DVFS_START		BIT(1)
109*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_SYSPLL_OFF			BIT(2)
110*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_SYSPLL_ON			BIT(3)
111*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_VMDDRVDDQ_ON			BIT(4)
112*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_INFRA_MTCMOS_OFF		BIT(5)
113*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_INFRA_MTCMOS_ON		BIT(6)
114*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_VTCXO_SLEEP_ABORT_0		BIT(7)
115*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_VTCXO_SLEEP_ABORT_1		BIT(8)
116*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_VCORE_SLEEP_ABORT_0		BIT(9)
117*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_VCORE_SLEEP_ABORT_1		BIT(10)
118*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_PWRAP_CLK_TO_CSOPLU		BIT(11)
119*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_PWRAP_CLK_TO_26M		BIT(12)
120*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_SCP_CLK_TO_32K		BIT(13)
121*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_SCP_CLK_TO_26M		BIT(14)
122*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_BUS_CLK_OFF			BIT(15)
123*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_BUS_CLK_ON			BIT(16)
124*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_SRCLKEN2_LOW			BIT(17)
125*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_SRCLKEN2_HIGH		BIT(18)
126*fb57af70SWenzhen Yu #define SPM_DBG1_RESERVED_BIT_19			BIT(19)
127*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_CSOPLU_IS_OFF_BUT_SHOULD_ON	BIT(20)
128*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_PMIC_IRQ_ACK_LOW_ABORT	BIT(21)
129*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_PMIC_IRQ_ACK_HIGH_ABORT	BIT(22)
130*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_PWRAP_SLEEP_ACK_LOW_ABORT	BIT(23)
131*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_PWRAP_SLEEP_ACK_HIGH_ABORT	BIT(24)
132*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_VMDDRVDDQ_OFF		BIT(25)
133*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_SCP_SLP_ACK_LOW_ABORT	BIT(26)
134*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_SCP_SLP_ACK_HIGH_ABORT	BIT(27)
135*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_SPM_PMIF_CMD_RDY_ABORT	BIT(28)
136*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_EMI_PDN_RDY_ABORT		BIT(29)
137*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_LVTS_WRONG_DEVICE_ID		BIT(30)
138*fb57af70SWenzhen Yu #define SPM_DBG1_DEBUG_IDX_DISABLE_DVFSRC		BIT(31)
139*fb57af70SWenzhen Yu 
140*fb57af70SWenzhen Yu /* --- SPM PCM_WDT_LATCH3 Define --- */
141*fb57af70SWenzhen Yu #define SPM_WDT_LATCH3_RESOURCE_STATE_AOV_INFRA_ON	BIT(0)
142*fb57af70SWenzhen Yu #define SPM_WDT_LATCH3_RESOURCE_STATE_26M_INFRA_ON	BIT(1)
143*fb57af70SWenzhen Yu #define SPM_WDT_LATCH3_RESOURCE_STATE_AOV_CLK_ON	BIT(2)
144*fb57af70SWenzhen Yu #define SPM_WDT_LATCH3_RESOURCE_STATE_26M_CLK_ON	BIT(3)
145*fb57af70SWenzhen Yu #define SPM_WDT_LATCH3_RESOURCE_STATE_AOV_EMI_ON	BIT(4)
146*fb57af70SWenzhen Yu #define SPM_WDT_LATCH3_RESOURCE_STATE_26M_EMI_ON	BIT(5)
147*fb57af70SWenzhen Yu #endif /* SLEEP_DEF_H */
148