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