xref: /rk3399_ARM-atf/plat/mediatek/drivers/spm/common/mt_spm_smc.h (revision cf2df874cd09305ac7282fadb0fef6be597dfffb)
1*a24b53e0SWenzhen Yu /*
2*a24b53e0SWenzhen Yu  * Copyright (c) 2025, Mediatek Inc. All rights reserved.
3*a24b53e0SWenzhen Yu  *
4*a24b53e0SWenzhen Yu  * SPDX-License-Identifier: BSD-3-Clause
5*a24b53e0SWenzhen Yu  */
6*a24b53e0SWenzhen Yu 
7*a24b53e0SWenzhen Yu #ifndef MT_SPM_SMC_H
8*a24b53e0SWenzhen Yu #define MT_SPM_SMC_H
9*a24b53e0SWenzhen Yu 
10*a24b53e0SWenzhen Yu /*
11*a24b53e0SWenzhen Yu  * SPM dispatcher's smc id definition
12*a24b53e0SWenzhen Yu  * Please adding custom smc id here for spm dispatcher
13*a24b53e0SWenzhen Yu  */
14*a24b53e0SWenzhen Yu #define MT_SPM_STATUS_SUSPEND_SLEEP	BIT(27)
15*a24b53e0SWenzhen Yu 
16*a24b53e0SWenzhen Yu enum mt_spm_smc_uid {
17*a24b53e0SWenzhen Yu 	MT_SPM_SMC_UID_STATUS,
18*a24b53e0SWenzhen Yu 	MT_SPM_SMC_UID_PCM_WDT,
19*a24b53e0SWenzhen Yu 	MT_SPM_SMC_UID_PCM_TIMER,
20*a24b53e0SWenzhen Yu 	MT_SPM_SMC_UID_FW_TYPE,
21*a24b53e0SWenzhen Yu 	MT_SPM_SMC_UID_PHYPLL_MODE,
22*a24b53e0SWenzhen Yu 	MT_SPM_SMC_UID_SET_PENDING_IRQ_INIT,
23*a24b53e0SWenzhen Yu 	MT_SPM_SMC_UID_FW_INIT = 0x5731,
24*a24b53e0SWenzhen Yu };
25*a24b53e0SWenzhen Yu 
26*a24b53e0SWenzhen Yu /*
27*a24b53e0SWenzhen Yu  * SPM dbg dispatcher's smc id definition
28*a24b53e0SWenzhen Yu  * Please adding custom smc id here for spm dbg dispatcher
29*a24b53e0SWenzhen Yu  */
30*a24b53e0SWenzhen Yu enum mt_spm_dbg_smc_uid {
31*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_IDLE_PWR_CTRL,
32*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_IDLE_CNT,
33*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_SUSPEND_PWR_CTRL,
34*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_SUSPEND_DBG_CTRL,
35*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_FS,
36*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RC_SWITCH,
37*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RC_CNT,
38*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_COND_CHECK,
39*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_COND_BLOCK,
40*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_BLOCK_LATCH,
41*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_BLOCK_DETAIL,
42*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RES_NUM,
43*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RES_REQ,
44*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RES_USAGE,
45*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RES_USER_NUM,
46*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RES_USER_VALID,
47*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RES_USER_NAME,
48*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_DOE_RESOURCE_CTRL,
49*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_DOE_RC,
50*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RC_COND_CTRL,
51*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RC_RES_CTRL,
52*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RC_RES_INFO,
53*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RC_BBLPM,
54*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RC_TRACE,
55*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RC_TRACE_TIME,
56*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_DUMP_PLL,
57*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_HWCG_NUM,
58*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_HWCG_STATUS,
59*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_HWCG_SETTING,
60*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_HWCG_DEF_SETTING,
61*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_HWCG_RES_NAME,
62*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_RC_NOTIFY_CTRL,
63*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_VCORE_LP_ENABLE,
64*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_VCORE_LP_VOLT,
65*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_VSRAM_LP_ENABLE,
66*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_VSRAM_LP_VOLT,
67*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_PERI_REQ_NUM,
68*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_PERI_REQ_STATUS,
69*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_PERI_REQ_SETTING,
70*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_PERI_REQ_DEF_SETTING,
71*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_PERI_REQ_RES_NAME,
72*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_PERI_REQ_STATUS_RAW,
73*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_IDLE_PWR_STAT,
74*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_SUSPEND_PWR_STAT,
75*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_LP_REQ_STAT,
76*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_COMMON_SODI_CTRL,
77*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_SPM_TIMESTAMP,
78*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_SPM_TIMESTAMP_SIZE,
79*a24b53e0SWenzhen Yu 	MT_SPM_DBG_SMC_UID_COMMON_SODI_PWR_CTRL,
80*a24b53e0SWenzhen Yu };
81*a24b53e0SWenzhen Yu 
82*a24b53e0SWenzhen Yu enum wake_status_enum {
83*a24b53e0SWenzhen Yu 	WAKE_STA_ASSERT_PC,
84*a24b53e0SWenzhen Yu 	WAKE_STA_R12,
85*a24b53e0SWenzhen Yu 	WAKE_STA_R12_EXT,
86*a24b53e0SWenzhen Yu 	WAKE_STA_RAW_STA,
87*a24b53e0SWenzhen Yu 	WAKE_STA_RAW_EXT_STA,
88*a24b53e0SWenzhen Yu 	WAKE_STA_WAKE_MISC,
89*a24b53e0SWenzhen Yu 	WAKE_STA_TIMER_OUT,
90*a24b53e0SWenzhen Yu 	WAKE_STA_R13,
91*a24b53e0SWenzhen Yu 	WAKE_STA_IDLE_STA,
92*a24b53e0SWenzhen Yu 	WAKE_STA_REQ_STA,
93*a24b53e0SWenzhen Yu 	WAKE_STA_DEBUG_FLAG,
94*a24b53e0SWenzhen Yu 	WAKE_STA_DEBUG_FLAG1,
95*a24b53e0SWenzhen Yu 	WAKE_STA_EVENT_REG,
96*a24b53e0SWenzhen Yu 	WAKE_STA_ISR,
97*a24b53e0SWenzhen Yu 	WAKE_STA_MAX_COUNT,
98*a24b53e0SWenzhen Yu };
99*a24b53e0SWenzhen Yu 
100*a24b53e0SWenzhen Yu #endif /* MT_SPM_SMC_H */
101