1 /*
2  * Copyright (c) 2022, MediaTek Inc. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 
8 #ifndef MT_SPM_SUSPEDN_H
9 #define MT_SPM_SUSPEDN_H
10 
11 #include <mt_spm_internal.h>
12 
13 #define MCUPM_MBOX_OFFSET_PDN	(0x0C55FDA8)
14 #define MCUPM_POWER_DOWN	(0x4D50444E)
15 
16 enum MT_SPM_SUSPEND_MODE {
17 	MT_SPM_SUSPEND_SYSTEM_PDN	= 0U,
18 	MT_SPM_SUSPEND_SLEEP		= 1U,
19 };
20 
21 extern int mt_spm_suspend_mode_set(int mode);
22 extern int mt_spm_suspend_enter(int state_id, unsigned int ext_opand,
23 				unsigned int reosuce_req);
24 extern void mt_spm_suspend_resume(int state_id, unsigned int ext_opand,
25 				  struct wake_status **status);
26 extern void mt_spm_suspend_init(void);
27 
28 #endif /* MT_SPM_SUSPEND_H */
29