blob: 781313769570bdfcd2c43e5e829a4dec12637987 [file] [log] [blame]
yang.lie8fc87b2022-01-11 11:03:24 +08001/*
2 * Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: MIT
5 */
Xiaohu.Huangf3d0a0c2021-10-15 11:13:17 +08006
7#ifndef INTERRUPT_H
8#define INTERRUPT_H
9
xiaohu.huang38262102022-05-06 22:21:48 +080010typedef void (*function_ptr_t)(void);
Xiaohu.Huangf3d0a0c2021-10-15 11:13:17 +080011
12void wfe(void);
13
14int EnableIrq(uint32_t ulIrq);
15
16int DisableIrq(uint32_t ulIrq);
17
18int SetIrqPriority(uint32_t ulIrq, uint32_t ulProi);
19
20int ClearPendingIrq(uint32_t ulIrq);
21
22int RegisterIrq(uint32_t int_num, uint32_t int_priority, function_ptr_t handler);
23
24int UnRegisterIrq(uint32_t ulIrq);
25
26unsigned long interrupt_status_get(void);
27
28void interrupt_disable(void);
29
30void interrupt_enable(void);
31
yiting.deng3c77deb2023-04-25 17:16:21 +080032int GetIrqInner(uint32_t irq_num);
33
Xiaohu.Huangf3d0a0c2021-10-15 11:13:17 +080034#endif