1*65db67b8SKun Lu /* 2*65db67b8SKun Lu * Copyright (c) 2025, MediaTek Inc. All rights reserved. 3*65db67b8SKun Lu * 4*65db67b8SKun Lu * SPDX-License-Identifier: BSD-3-Clause 5*65db67b8SKun Lu */ 6*65db67b8SKun Lu 7*65db67b8SKun Lu #ifndef PCM_DEF_H 8*65db67b8SKun Lu #define PCM_DEF_H 9*65db67b8SKun Lu 10*65db67b8SKun Lu /*-- MD32PCM_STA1 define */ 11*65db67b8SKun Lu #define R12_PCM_TIMER_B BIT(0) 12*65db67b8SKun Lu #define R12_TWAM_PMSR_DVFSRC BIT(1) 13*65db67b8SKun Lu #define R12_KP_IRQ_B BIT(2) 14*65db67b8SKun Lu #define R12_APWDT_EVENT_B BIT(3) 15*65db67b8SKun Lu #define R12_APXGPT_EVENT_B BIT(4) 16*65db67b8SKun Lu #define R12_CONN2AP_WAKEUP_B BIT(5) 17*65db67b8SKun Lu #define R12_EINT_EVENT_B BIT(6) 18*65db67b8SKun Lu #define R12_CONN_WDT_IRQ_B BIT(7) 19*65db67b8SKun Lu #define R12_CCIF0_EVENT_B BIT(8) 20*65db67b8SKun Lu #define R12_CCIF1_EVENT_B BIT(9) 21*65db67b8SKun Lu #define R12_SSPM2SPM_WAKEUP_B BIT(10) 22*65db67b8SKun Lu #define R12_SCP2SPM_WAKEUP_B BIT(11) 23*65db67b8SKun Lu #define R12_VADSP2SPM_WAKEUP_B BIT(12) 24*65db67b8SKun Lu #define R12_PCM_WDT_WAKEUP_B BIT(13) 25*65db67b8SKun Lu #define R12_USB0_CDSC_B BIT(14) 26*65db67b8SKun Lu #define R12_USB0_POWERDWN_B BIT(15) 27*65db67b8SKun Lu #define R12_SBD_INTR_B BIT(16) 28*65db67b8SKun Lu #define R12_UART2SPM_IRQ_B BIT(17) 29*65db67b8SKun Lu #define R12_SYS_TIMER_EVENT_B BIT(18) 30*65db67b8SKun Lu #define R12_EINT_EVENT_SECURE_B BIT(19) 31*65db67b8SKun Lu #define R12_AFE_IRQ_MCU_B BIT(20) 32*65db67b8SKun Lu #define R12_THERM_CTRL_EVENT_B BIT(21) 33*65db67b8SKun Lu #define R12_SYS_CIRQ_IRQ_B BIT(22) 34*65db67b8SKun Lu #define R12_MD2AP_PEER_EVENT_B BIT(23) 35*65db67b8SKun Lu #define R12_CSYSPWREQ_B BIT(24) 36*65db67b8SKun Lu #define R12_MD_WDT_B BIT(25) 37*65db67b8SKun Lu #define R12_AP2AP_PEER_WAKEUP_B BIT(26) 38*65db67b8SKun Lu #define R12_SEJ_B BIT(27) 39*65db67b8SKun Lu #define R12_CPU_WAKEUP BIT(28) 40*65db67b8SKun Lu #define R12_APUSYS_WAKE_HOST_B BIT(29) 41*65db67b8SKun Lu #define R12_PCIE_MAC_IRQ_WAKE_B BIT(30) 42*65db67b8SKun Lu #define R12_MSDC_WAKEUP_EVENT_B BIT(31) 43*65db67b8SKun Lu 44*65db67b8SKun Lu /*-- MD32PCM_STA2 define */ 45*65db67b8SKun Lu #define EVENT_F26M_WAKE BIT(0) 46*65db67b8SKun Lu #define EVENT_F26M_SLEEP BIT(1) 47*65db67b8SKun Lu #define EVENT_INFRA_WAKE BIT(2) 48*65db67b8SKun Lu #define EVENT_INFRA_SLEEP BIT(3) 49*65db67b8SKun Lu #define EVENT_EMI_WAKE BIT(4) 50*65db67b8SKun Lu #define EVENT_EMI_SLEEP BIT(5) 51*65db67b8SKun Lu #define EVENT_APSRC_WAKE BIT(6) 52*65db67b8SKun Lu #define EVENT_APSRC_SLEEP BIT(7) 53*65db67b8SKun Lu #define EVENT_VRF18_WAKE BIT(8) 54*65db67b8SKun Lu #define EVENT_VRF18_SLEEP BIT(9) 55*65db67b8SKun Lu #define EVENT_DVFS_WAKE BIT(10) 56*65db67b8SKun Lu #define EVENT_DDREN_WAKE BIT(11) 57*65db67b8SKun Lu #define EVENT_DDREN_SLEEP BIT(12) 58*65db67b8SKun Lu #define EVENT_VCORE_WAKE BIT(13) 59*65db67b8SKun Lu #define EVENT_VCORE_SLEEP BIT(14) 60*65db67b8SKun Lu #define EVENT_PMIC_WAKE BIT(15) 61*65db67b8SKun Lu #define EVENT_PMIC_SLEEP BIT(16) 62*65db67b8SKun Lu #define EVENT_CPUEB_STATE BIT(17) 63*65db67b8SKun Lu #define EVENT_SSPM_STATE BIT(18) 64*65db67b8SKun Lu #define EVENT_DPM_STATE BIT(19) 65*65db67b8SKun Lu #define EVENT_CONN_SRCCLKENB_D2T BIT(20) 66*65db67b8SKun Lu #define EVENT_SW_MAILBOX_WAKE BIT(21) 67*65db67b8SKun Lu #define EVENT_SPM_LEAVE_SUSPEND_ACK BIT(22) 68*65db67b8SKun Lu #define EVENT_SPM_LEAVE_DEEPIDLE_ACK BIT(23) 69*65db67b8SKun Lu #define EVENT_CROSS_REQ_APU_l3 BIT(24) 70*65db67b8SKun Lu #define EVENT_DFD_SOC_MTCMOS_REQ BIT(25) 71*65db67b8SKun Lu #define EVENT_AOVBUS_WAKE BIT(26) 72*65db67b8SKun Lu #define EVENT_AOVBUS_SLEEP BIT(27) 73*65db67b8SKun Lu 74*65db67b8SKun Lu enum SPM_WAKE_SRC_LIST { 75*65db67b8SKun Lu WAKE_SRC_STA1_PCM_TIMER = BIT(0), 76*65db67b8SKun Lu WAKE_SRC_STA1_TWAM_PMSR_DVFSRC = BIT(1), 77*65db67b8SKun Lu WAKE_SRC_STA1_KP_IRQ_B = BIT(2), 78*65db67b8SKun Lu WAKE_SRC_STA1_APWDT_EVENT_B = BIT(3), 79*65db67b8SKun Lu WAKE_SRC_STA1_APXGPT1_EVENT_B = BIT(4), 80*65db67b8SKun Lu WAKE_SRC_STA1_CONN2AP_SPM_WAKEUP_B = BIT(5), 81*65db67b8SKun Lu WAKE_SRC_STA1_EINT_EVENT_B = BIT(6), 82*65db67b8SKun Lu WAKE_SRC_STA1_CONN_WDT_IRQ_B = BIT(7), 83*65db67b8SKun Lu WAKE_SRC_STA1_CCIF0_EVENT_B = BIT(8), 84*65db67b8SKun Lu WAKE_SRC_STA1_CCIF1_EVENT_B = BIT(9), 85*65db67b8SKun Lu WAKE_SRC_STA1_SC_SSPM2SPM_WAKEUP_B = BIT(10), 86*65db67b8SKun Lu WAKE_SRC_STA1_SC_SCP2SPM_WAKEUP_B = BIT(11), 87*65db67b8SKun Lu WAKE_SRC_STA1_VADSP2SPM_WAKEUP_B = BIT(12), 88*65db67b8SKun Lu WAKE_SRC_STA1_PCM_WDT_WAKEUP_B = BIT(13), 89*65db67b8SKun Lu WAKE_SRC_STA1_USB_CDSC_B = BIT(14), 90*65db67b8SKun Lu WAKE_SRC_STA1_USB_POWERDWN_B = BIT(15), 91*65db67b8SKun Lu WAKE_SRC_STA1_SBD_INTR_B = BIT(16), 92*65db67b8SKun Lu WAKE_SRC_STA1_UART2SPM_IRQ_B = BIT(17), 93*65db67b8SKun Lu WAKE_SRC_STA1_SYS_TIMER_EVENT_B = BIT(18), 94*65db67b8SKun Lu WAKE_SRC_STA1_EINT_EVENT_SECURE_B = BIT(19), 95*65db67b8SKun Lu WAKE_SRC_STA1_AFE_IRQ_MCU_B = BIT(20), 96*65db67b8SKun Lu WAKE_SRC_STA1_THERM_CTRL_EVENT_B = BIT(21), 97*65db67b8SKun Lu WAKE_SRC_STA1_SYS_CIRQ_IRQ_B = BIT(22), 98*65db67b8SKun Lu WAKE_SRC_STA1_MD2AP_PEER_EVENT_B = BIT(23), 99*65db67b8SKun Lu WAKE_SRC_STA1_CSYSPWREQ_B = BIT(24), 100*65db67b8SKun Lu WAKE_SRC_STA1_MD1_WDT_B = BIT(25), 101*65db67b8SKun Lu WAKE_SRC_STA1_AP2AP_PEER_WAKEUPEVENT_B = BIT(26), 102*65db67b8SKun Lu WAKE_SRC_STA1_SEJ_EVENT_B = BIT(27), 103*65db67b8SKun Lu WAKE_SRC_STA1_SPM_CPU_WAKEUPEVENT_B = BIT(28), 104*65db67b8SKun Lu WAKE_SRC_STA1_APUSYS_WAKE_HOST_B = BIT(29), 105*65db67b8SKun Lu WAKE_SRC_STA1_PCIE_MAC_IRQ_WAKE_B = BIT(30), 106*65db67b8SKun Lu WAKE_SRC_STA1_MSDC_WAKEUP_EVENT_B = BIT(31), 107*65db67b8SKun Lu }; 108*65db67b8SKun Lu 109*65db67b8SKun Lu extern const char *wakesrc_str[32]; 110*65db67b8SKun Lu 111*65db67b8SKun Lu #endif /* PCM_DEF_H */ 112