Intel® Quark™ Microcontroller Software Interface 1.4.0 Intel® Quark™ Microcontroller BSP

- Main Page
- Modules
- Data Structures
- Files

- File List

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 SE SoC Interrupt Router registers.
10 *
11 * @defgroup groupQUARKSEINTERRUPTROUTER SoC Interrupt Router (SE)
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 * @note Not for use with sensor sub-system peripheral IRQs.
22 * For sensor peripherals use the macros defined in qm_interrupt_router_regs.h.
23 *
24 * @param[in] irq IRQ number. Must be of type QM_IRQ_XXX.
25 */
26 #define QM_IR_UNMASK_INT(irq) \
27 do { \
28 _qm_ir_unmask_int(irq, irq##_MASK_OFFSET); \
29 } while (0);
30
31 /*
32 * Mask a given IRQ in the Interrupt Router.
33 *
34 * @note Not for use with sensor sub-system peripheral IRQs.
35 * For sensor peripherals use the macros defined in qm_interrupt_router_regs.h.
36 *
37 * @param[in] irq IRQ number. Must be of type QM_IRQ_XXX.
38 */
39 #define QM_IR_MASK_INT(irq) \
40 do { \
41 _qm_ir_mask_int(irq, irq##_MASK_OFFSET); \
42 } while (0);
43
44 /** @} */
45
46 #endif /* __QM_INTERRUPT_ROUTER_H__ */