# INTC
[PLATFORM]

Declaration of the Reference Interrupt Controller API. More...

Collaboration diagram for INTC:

## Typedefs
typedef void(* | void_fn )(void)
| locally define this type to be able to qualify the array.
## Functions
void | intc_spurious (void)
| Unexpected interrupt handler.
static void | intc_enable_irq (int index)
| Enable an interrupt in the interrupt controller.
static void | intc_disable_irq (int index)
| Disable an interrupt in the interrupt controller.
void | intc_init (void)
| Initialize and configure the reference INTCTRL.
void | intc_irq (void) __attribute__((interrupt))
| Interrupt handler.
## Variables
static const void_fn | intc_irq_handlers [64]
| Array of IRQ handlers.
## IPC interrupt indexes
#define | INTC_IPC3 63
| IPC interrupt for the TX descriptors pushed.
#define | INTC_IPC2 62
| IPC interrupt for the free RX descriptors pushed.
#define | INTC_IPC1 61
| IPC interrupt for the messages pushed.
#define | INTC_IPC0 60
| IPC interrupt not used.
## MAC HW interrupt indexes
#define | INTC_MACPROT 55
| MAC HW Protocol trigger interrupt.
#define | INTC_MACINTGEN 54
| MAC HW generic interrupts.
#define | INTC_MACTX 53
| MAC HW TX interrupts.
#define | INTC_MACRX 52
| MAC HW RX interrupts.
#define | INTC_MACOTHER 51
| MAC HW other interrupts.
#define | INTC_MACTIMER 50
| MAC HW timer interrupts.
## HSU interrupt indexes
#define | INTC_HSU 48
## DMA interrupt indexes
#define | INTC_DMA_BUSERR 40
| DMA bus error interrupt.
#define | INTC_LLI15 39
| DMA LLI15 interrupt.
#define | INTC_LLI14 38
| DMA LLI14 interrupt.
#define | INTC_LLI13 37
| DMA LLI13 interrupt.
#define | INTC_LLI12 36
| DMA LLI12 interrupt.
#define | INTC_LLI11 35
| DMA LLI11 interrupt.
#define | INTC_LLI10 34
| DMA LLI10 interrupt.
#define | INTC_LLI9 33
| DMA LLI9 interrupt.
#define | INTC_LLI8 32
| DMA LLI8 interrupt.
#define | INTC_LLI7 31
| DMA LLI7 interrupt.
#define | INTC_LLI6 30
| DMA LLI6 interrupt.
#define | INTC_LLI5 29
| DMA LLI5 interrupt.
#define | INTC_LLI4 28
| DMA LLI4 interrupt.
#define | INTC_LLI3 27
| DMA LLI3 interrupt.
#define | INTC_LLI2 26
| DMA LLI2 interrupt.
#define | INTC_LLI1 25
| DMA LLI1 interrupt.
#define | INTC_LLI0 24
| DMA LLI0 interrupt.
#define | INTC_DMA_CH3_EOT 23
| End Of Transfer interrupt: ch3.
#define | INTC_DMA_CH2_EOT 22
| End Of Transfer interrupt: ch2.
#define | INTC_DMA_CH1_EOT 21
| End Of Transfer interrupt: ch1.
#define | INTC_DMA_CH0_EOT 20
| End Of Transfer interrupt: ch0.
#define | INTC_RC 11
| Radio Controller interrupt.
#define | INTC_MODEM 10
| Modem interrupt.

## Detailed Description

Declaration of the Reference Interrupt Controller API.

## Function Documentation

static void intc_disable_irq | ( | int | index | ) | `[static]`

Disable an interrupt in the interrupt controller.

Parameters:

  `[in]` | index | Index of the interrupt to disable

Definition at line 136 of file intc.c.

References CO_BIT.

static void intc_enable_irq | ( | int | index | ) | `[static]`

Enable an interrupt in the interrupt controller.

Parameters:

  `[in]` | index | Index of the interrupt to enable

Definition at line 121 of file intc.c.

References CO_BIT.

void intc_init | ( | void |  | ) |

Initialize and configure the reference INTCTRL.

This function configures the INTC according to the system needs.

void intc_spurious | ( | void |  | ) |

Unexpected interrupt handler.

Definition at line 52 of file intc.c.

References ASSERT_ERR.