xref: /rk3399_ARM-atf/plat/mediatek/drivers/cpu_pm/cpcv5_4/mt_lp_irqremain.h (revision cf2df874cd09305ac7282fadb0fef6be597dfffb)
1 /*
2  * Copyright (c) 2025, MediaTek Inc. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef MT_LP_IRQREMAIN_H
8 #define MT_LP_IRQREMAIN_H
9 
10 struct mt_lp_irqinfo {
11 	unsigned int val;
12 };
13 
14 enum mt_lp_irqremain_type {
15 	MT_LP_IRQREMAIN_IRQ,
16 	MT_LP_IRQREMAIN_WAKEUP_CAT,
17 	MT_LP_IRQREMAIN_WAKEUP_SRC,
18 };
19 
20 int mt_lp_irqremain_set(unsigned int type,
21 			const struct mt_lp_irqinfo *value);
22 int mt_lp_irqremain_get(unsigned int idx, unsigned int type,
23 			struct mt_lp_irqinfo *value);
24 unsigned int mt_lp_irqremain_count(void);
25 int mt_lp_irqremain_push(void);
26 int mt_lp_irqremain_pop(void);
27 int mt_lp_irqremain_submit(void);
28 int mt_lp_irqremain_aquire(void);
29 int mt_lp_irqremain_release(void);
30 void mt_lp_irqremain_init(void);
31 
32 #endif /* MT_LP_IRQREMAIN_H */
33