6 #include "qm_soc_regs.h"
7 #include "qm_interrupt_router.h"
8 #include "qm_interrupt_router_regs.h"
11 #define INTERRUPT_ROUTER_LMT_INT_MASK_BASE \
12 (&QM_INTERRUPT_ROUTER->i2c_master_0_int_mask)
14 void _qm_ir_unmask_int(uint32_t irq, uint32_t register_offset)
16 uint32_t *interrupt_router_intmask;
19 interrupt_router_intmask =
20 (uint32_t *)INTERRUPT_ROUTER_LMT_INT_MASK_BASE + register_offset;
22 if (!QM_IR_INT_LOCK_MASK(*interrupt_router_intmask)) {
24 case QM_IRQ_COMPARATOR_0_INT:
29 QM_INTERRUPT_ROUTER->comparator_0_host_int_mask &=
32 case QM_IRQ_DMA_0_ERROR_INT:
38 *interrupt_router_intmask &= ~QM_IR_DMA_ERROR_HOST_MASK;
41 QM_IR_UNMASK_INTERRUPTS(*interrupt_router_intmask);
47 void _qm_ir_mask_int(uint32_t irq, uint32_t register_offset)
49 uint32_t *interrupt_router_intmask;
52 interrupt_router_intmask =
53 (uint32_t *)INTERRUPT_ROUTER_LMT_INT_MASK_BASE + register_offset;
56 if (!QM_IR_INT_LOCK_MASK(*interrupt_router_intmask)) {
58 case QM_IRQ_COMPARATOR_0_INT:
59 QM_INTERRUPT_ROUTER->comparator_0_host_int_mask |=
62 case QM_IRQ_DMA_0_ERROR_INT:
68 *interrupt_router_intmask |= QM_IR_DMA_ERROR_HOST_MASK;
71 QM_IR_MASK_INTERRUPTS(*interrupt_router_intmask);