libmetal
Loading...
Searching...
No Matches
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_r5/sys.h
9 * @brief generic zynqmp_r5 system primitives for libmetal.
10 */
11
12#ifndef __METAL_GENERIC_SYS__H__
13#error "Include metal/sys.h instead of metal/system/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_R5_SYS__H__
20#define __METAL_GENERIC_ZYNQMP_R5_SYS__H__
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26#ifdef METAL_INTERNAL
27
28#define XLNX_MAXIRQS XSCUGIC_MAX_NUM_INTR_INPUTS
29
30static inline void sys_irq_enable(unsigned int vector)
31{
32 XScuGic_EnableIntr(XPAR_SCUGIC_0_DIST_BASEADDR, vector);
33}
34
35static 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_R5_SYS__H__ */
void sys_irq_disable(unsigned int vector)
Definition: sys.c:36
void sys_irq_enable(unsigned int vector)
Definition: sys.c:29