]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/RISC-V-Qemu-sifive_e-FreedomStudio/freedom-e-sdk/drivers/plic/plic_driver.h
Move the call to traceTASK_DELETE() to before port portPRE_TASK_DELETE_HOOK() as...
[freertos] / FreeRTOS / Demo / RISC-V-Qemu-sifive_e-FreedomStudio / freedom-e-sdk / drivers / plic / plic_driver.h
1 // See LICENSE file for licence details\r
2 \r
3 #ifndef PLIC_DRIVER_H\r
4 #define PLIC_DRIVER_H\r
5 \r
6 \r
7 __BEGIN_DECLS\r
8 \r
9 #include "platform.h"\r
10 \r
11 typedef struct __plic_instance_t\r
12 {\r
13   uintptr_t base_addr;\r
14 \r
15   uint32_t num_sources;\r
16   uint32_t num_priorities;\r
17   \r
18 } plic_instance_t;\r
19 \r
20 typedef uint32_t plic_source;\r
21 typedef uint32_t plic_priority;\r
22 typedef uint32_t plic_threshold;\r
23 \r
24 void PLIC_init (\r
25                 plic_instance_t * this_plic,\r
26                 uintptr_t         base_addr,\r
27                 uint32_t num_sources,\r
28                 uint32_t num_priorities\r
29                 );\r
30 \r
31 void PLIC_set_threshold (plic_instance_t * this_plic,\r
32                          plic_threshold threshold);\r
33   \r
34 void PLIC_enable_interrupt (plic_instance_t * this_plic,\r
35                             plic_source source);\r
36 \r
37 void PLIC_disable_interrupt (plic_instance_t * this_plic,\r
38                              plic_source source);\r
39   \r
40 void PLIC_set_priority (plic_instance_t * this_plic,\r
41                         plic_source source,\r
42                         plic_priority priority);\r
43 \r
44 plic_source PLIC_claim_interrupt(plic_instance_t * this_plic);\r
45 \r
46 void PLIC_complete_interrupt(plic_instance_t * this_plic,\r
47                              plic_source source);\r
48 \r
49 __END_DECLS\r
50 \r
51 #endif\r