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