Intel® Quark™ Microcontroller Software Interface  1.4.0
Intel® Quark™ Microcontroller BSP
qm_interrupt_router.h
1 /*
2  * {% copyright %}
3  */
4 
5 #ifndef __QM_INTERRUPT_ROUTER_H__
6 #define __QM_INTERRUPT_ROUTER_H__
7 
8 /**
9  * Quark D2000 SoC Interrupt Router.
10  *
11  * @defgroup groupQUARKD2000INTERRUPTROUTER SoC Interrupt Router (D2000)
12  * @{
13  */
14 
15 void _qm_ir_mask_int(uint32_t irq, uint32_t register_offset);
16 void _qm_ir_unmask_int(uint32_t irq, uint32_t register_offset);
17 
18 /*
19  * Unmask a given IRQ in the Interrupt Router.
20  *
21  * @param[in] irq IRQ number. Must be of type QM_IRQ_XXX.
22  */
23 #define QM_IR_UNMASK_INT(irq) \
24  do { \
25  _qm_ir_unmask_int(irq, irq##_MASK_OFFSET); \
26  } while (0);
27 
28 /*
29  * Mask a given IRQ in the Interrupt Router.
30  *
31  * @param[in] irq IRQ number. Must be of type QM_IRQ_XXX.
32  */
33 #define QM_IR_MASK_INT(irq) \
34  do { \
35  _qm_ir_mask_int(irq, irq##_MASK_OFFSET); \
36  } while (0);
37 
38 /** @} */
39 
40 #endif /* __QM_INTERRUPT_ROUTER_H__ */