xref: /rk3399_ARM-atf/plat/mediatek/drivers/spm/mt8189/pcm_def.h (revision af0370f25a6663a0d737bbfb3985df4232eaaa55)
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