Intel® Quark™ Microcontroller Software Interface  1.4.0
Intel® Quark™ Microcontroller BSP
qm_ss_interrupt.h
1 /*
2  * {% copyright %}
3  */
4 
5 #ifndef __QM_SS_INTERRUPT_H__
6 #define __QM_SS_INTERRUPT_H__
7 
8 #include "qm_common.h"
9 #include "qm_sensor_regs.h"
10 
11 /**
12  * Interrupt driver for Sensor Subsystem.
13  *
14  * @defgroup groupSSINT SS Interrupt
15  * @{
16  */
17 
18 /**
19  * Interrupt service routine type.
20  */
21 typedef void (*qm_ss_isr_t)(struct interrupt_frame *frame);
22 
23 /**
24  * Enable interrupt delivery for the Sensor Subsystem.
25  */
26 void qm_ss_irq_enable(void);
27 
28 /**
29  * Disable interrupt delivery for the Sensor Subsystem.
30  */
31 void qm_ss_irq_disable(void);
32 
33 /**
34  * Unmask a given interrupt line.
35  *
36  * @param [in] irq Which IRQ to unmask.
37  */
38 void qm_ss_irq_unmask(uint32_t irq);
39 
40 /**
41  * Mask a given interrupt line.
42  *
43  * @param [in] irq Which IRQ to mask.
44  */
45 void qm_ss_irq_mask(uint32_t irq);
46 
47 /**
48  * Request a given IRQ and register ISR to interrupt vector.
49  *
50  * @param [in] irq IRQ number.
51  * @param [in] isr ISR to register to given IRQ.
52  */
53 void qm_ss_irq_request(uint32_t irq, qm_ss_isr_t isr);
54 
55 /**
56  * Register an Interrupt Service Routine to a given interrupt vector.
57  *
58  * @param [in] vector Interrupt Vector number.
59  * @param [in] isr ISR to register to given vector. Must be a valid Sensor
60  * Subsystem ISR.
61  */
62 void qm_ss_int_vector_request(uint32_t vector, qm_ss_isr_t isr);
63 
64 /**
65  * @}
66  */
67 #endif /* __QM_SS_INTERRUPT_H__ */
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.