Line data Source code
1 1 : /*
2 : * Copyright (c) 2022 Carlo Caione <ccaione@baylibre.com>
3 : *
4 : * SPDX-License-Identifier: Apache-2.0
5 : */
6 :
7 : /**
8 : * @file
9 : * @brief Driver for Core-Local Interrupt Controller (CLIC)
10 : */
11 :
12 : #ifndef ZEPHYR_INCLUDE_DRIVERS_RISCV_CLIC_H_
13 : #define ZEPHYR_INCLUDE_DRIVERS_RISCV_CLIC_H_
14 :
15 : /**
16 : * @brief Enable interrupt
17 : *
18 : * @param irq interrupt ID
19 : */
20 1 : void riscv_clic_irq_enable(uint32_t irq);
21 :
22 : /**
23 : * @brief Disable interrupt
24 : *
25 : * @param irq interrupt ID
26 : */
27 1 : void riscv_clic_irq_disable(uint32_t irq);
28 :
29 : /**
30 : * @brief Check if an interrupt is enabled
31 : *
32 : * @param irq interrupt ID
33 : * @return Returns true if interrupt is enabled, false otherwise
34 : */
35 1 : int riscv_clic_irq_is_enabled(uint32_t irq);
36 :
37 : /**
38 : * @brief Set interrupt priority
39 : *
40 : * @param irq interrupt ID
41 : * @param prio interrupt priority
42 : * @param flags interrupt flags
43 : */
44 1 : void riscv_clic_irq_priority_set(uint32_t irq, uint32_t prio, uint32_t flags);
45 :
46 : /**
47 : * @brief Set vector mode of interrupt
48 : *
49 : * @param irq interrupt ID
50 : */
51 1 : void riscv_clic_irq_vector_set(uint32_t irq);
52 :
53 : #endif /* ZEPHYR_INCLUDE_DRIVERS_RISCV_CLIC_H_ */
|