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