1 /*
2  * This file is only used for doxygen document generation.
3  */
4 
5 /**
6  * @defgroup group_bsp Hardware Related Package
7  *
8  * @brief Hardware Related Package includes board support package(BSP) and CSP(Chip
9  * Support Package).
10  *
11  * Board Support Package(BSP) is the hardware related wrapper, for example, peripherals
12  * in board, the pinmux setting etc. In RT-Thread RTOS, the bsp is placed under bsp
13  * directory.
14  *
15  * Chip Support Package(CSP) is a software set that contains chip specific software.
16  * A CSP usually includes operating system porting and peripheral device drivers inside
17  * chip. In RT-Thread RTOS, the csp is placed under libcpu directory.
18  */
19 
20 /**
21  * @addtogroup group_bsp
22  * @{
23  */
24 
25 /**
26  * This function will return current system interrupt status and disable system
27  * interrupt.
28  *
29  * @return the current system interrupt status.
30  */
31 rt_base_t rt_hw_interrupt_disable(void);
32 
33 /**
34  * This function will set the specified interrupt status, which shall saved by
35  * rt_hw_intterrupt_disable function. If the saved interrupt status is interrupt
36  * opened, this function will open system interrupt status.
37  *
38  * @param level the interrupt status to be set.
39  */
40 void rt_hw_interrupt_enable(rt_base_t level);
41 
42 /**
43  * This function initializes interrupt.
44  */
45 void rt_hw_interrupt_init(void);
46 
47 /**
48  * This function masks the specified interrupt.
49  *
50  * @param vector the interrupt number to be masked.
51  *
52  * @note not all of platform provide this function.
53  */
54 void rt_hw_interrupt_mask(int vector);
55 
56 /**
57  * This function umasks the specified interrupt.
58  *
59  * @param vector the interrupt number to be unmasked.
60  *
61  * @note not all of platform provide this function.
62  */
63 void rt_hw_interrupt_umask(int vector);
64 
65 /**
66  * This function will install specified interrupt handler.
67  *
68  * @param vector the interrupt number to be installed.
69  * @param new_handler the new interrupt handler.
70  * @param old_handler the old interrupt handler. This parameter can be RT_NULL.
71  *
72  * @note not all of platform provide this function.
73  */
74 void rt_hw_interrupt_install(int vector, rt_isr_handler_t new_handler,
75                             rt_isr_handler_t *old_handler);
76 
77 /**@}*/
78