libmetal
sys.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015, Xilinx Inc. and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /*
8  * @file generic/zynqmp_a53/sys.h
9  * @brief generic zynqmp_a53 system primitives for libmetal.
10  */
11 
12 #ifndef __METAL_GENERIC_SYS__H__
13 #error "Include metal/sys.h instead of metal/generic/@PROJECT_MACHINE@/sys.h"
14 #endif
15 
16 #include <metal/system/@PROJECT_SYSTEM@/xlnx_common/sys.h>
17 #include "xscugic.h"
18 
19 #ifndef __METAL_GENERIC_ZYNQMP_A53_SYS__H__
20 #define __METAL_GENERIC_ZYNQMP_A53_SYS__H__
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 #ifdef METAL_INTERNAL
27 
28 #define XLNX_MAXIRQS XSCUGIC_MAX_NUM_INTR_INPUTS
29 
30 static inline void sys_irq_enable(unsigned int vector)
31 {
32  XScuGic_EnableIntr(XPAR_SCUGIC_0_DIST_BASEADDR, vector);
33 }
34 
35 static inline void sys_irq_disable(unsigned int vector)
36 {
37  XScuGic_DisableIntr(XPAR_SCUGIC_0_DIST_BASEADDR, vector);
38 }
39 
40 #endif /* METAL_INTERNAL */
41 
42 #ifdef __cplusplus
43 }
44 #endif
45 
46 #endif /* __METAL_GENERIC_ZYNQMP_A53_SYS__H__ */
sys_irq_disable
void sys_irq_disable(unsigned int vector)
Definition: sys.c:36
sys_irq_enable
void sys_irq_enable(unsigned int vector)
Definition: sys.c:29