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

- Main Page
- Modules
- Data Structures
- Files

- File List

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__ */
qm_ss_isr_t
void(* qm_ss_isr_t)(struct interrupt_frame *frame)
Interrupt service routine type.
Definition: qm_ss_interrupt.h:21
qm_ss_irq_enable
void qm_ss_irq_enable(void)
Enable interrupt delivery for the Sensor Subsystem.
Definition: qm_ss_interrupt.c:25
qm_ss_irq_disable
void qm_ss_irq_disable(void)
Disable interrupt delivery for the Sensor Subsystem.
Definition: qm_ss_interrupt.c:20
qm_ss_irq_request
void qm_ss_irq_request(uint32_t irq, qm_ss_isr_t isr)
Request a given IRQ and register ISR to interrupt vector.
Definition: qm_ss_interrupt.c:57
qm_ss_irq_mask
void qm_ss_irq_mask(uint32_t irq)
Mask a given interrupt line.
Definition: qm_ss_interrupt.c:30
qm_ss_irq_unmask
void qm_ss_irq_unmask(uint32_t irq)
Unmask a given interrupt line.
Definition: qm_ss_interrupt.c:36
qm_ss_int_vector_request
void qm_ss_int_vector_request(uint32_t vector, qm_ss_isr_t isr)
Register an Interrupt Service Routine to a given interrupt vector.
Definition: qm_ss_interrupt.c:42