5 #include "qm_ss_interrupt.h"
6 #include "qm_soc_regs.h"
7 #include "qm_sensor_regs.h"
11 #define INTERRUPT_ROUTER_SS_INT_MASK_BASE \
12 (&QM_INTERRUPT_ROUTER->ss_adc_0_error_int_mask)
27 __builtin_arc_seti(0);
32 __builtin_arc_sr(irq, QM_SS_AUX_IRQ_SELECT);
33 __builtin_arc_sr(QM_SS_INT_DISABLE, QM_SS_AUX_IRQ_ENABLE);
38 __builtin_arc_sr(irq, QM_SS_AUX_IRQ_SELECT);
39 __builtin_arc_sr(QM_SS_INT_ENABLE, QM_SS_AUX_IRQ_ENABLE);
46 __builtin_arc_sr((uint32_t)&__ivt_vect_table[0] + (vector * 4),
54 __ivt_vect_table[vector] = isr;
59 uint32_t vector = irq + (QM_SS_EXCEPTION_NUM + QM_SS_INT_TIMER_NUM);
void(* qm_ss_isr_t)(struct interrupt_frame *frame)
Interrupt service routine type.
void qm_ss_irq_enable(void)
Enable interrupt delivery for the Sensor Subsystem.
void qm_ss_irq_disable(void)
Disable interrupt delivery for the Sensor Subsystem.
void qm_ss_irq_request(uint32_t irq, qm_ss_isr_t isr)
Request a given IRQ and register ISR to interrupt vector.
void qm_ss_irq_mask(uint32_t irq)
Mask a given interrupt line.
void qm_ss_irq_unmask(uint32_t irq)
Unmask a given interrupt line.
void qm_ss_int_vector_request(uint32_t vector, qm_ss_isr_t isr)
Register an Interrupt Service Routine to a given interrupt vector.