MCUXpresso SDK API Reference Manual  Rev 2.15.000
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
INTMUX: Interrupt Multiplexer Driver

Overview

The MCUXpresso SDK provides a peripheral driver for the Interrupt Multiplexer (INTMUX) module of MCUXpresso SDK devices.

Typical use case

Channel Configure

Refer to the driver examples codes located at <SDK_ROOT>/boards/<BOARD>/driver_examples/intmux

Typedefs

typedef enum
_intmux_channel_logic_mode 
intmux_channel_logic_mode_t
 INTMUX channel logic mode. More...
 

Enumerations

enum  _intmux_channel_logic_mode {
  kINTMUX_ChannelLogicOR = 0x0U,
  kINTMUX_ChannelLogicAND
}
 INTMUX channel logic mode. More...
 

Driver version

#define FSL_INTMUX_DRIVER_VERSION   (MAKE_VERSION(2, 0, 4))
 

Initialization and deinitialization

void INTMUX_Init (INTMUX_Type *base)
 Initializes the INTMUX module. More...
 
void INTMUX_Deinit (INTMUX_Type *base)
 Deinitializes an INTMUX instance for operation. More...
 
static void INTMUX_ResetChannel (INTMUX_Type *base, uint32_t channel)
 Resets an INTMUX channel. More...
 
static void INTMUX_SetChannelMode (INTMUX_Type *base, uint32_t channel, intmux_channel_logic_mode_t logic)
 Sets the logic mode for an INTMUX channel. More...
 

Sources

static void INTMUX_EnableInterrupt (INTMUX_Type *base, uint32_t channel, IRQn_Type irq)
 Enables an interrupt source on an INTMUX channel. More...
 
static void INTMUX_DisableInterrupt (INTMUX_Type *base, uint32_t channel, IRQn_Type irq)
 Disables an interrupt source on an INTMUX channel. More...
 

Status

static uint32_t INTMUX_GetChannelPendingSources (INTMUX_Type *base, uint32_t channel)
 Gets INTMUX pending interrupt sources for a specific channel. More...
 

Typedef Documentation

Enumeration Type Documentation

Enumerator
kINTMUX_ChannelLogicOR 

Logic OR all enabled interrupt inputs.

kINTMUX_ChannelLogicAND 

Logic AND all enabled interrupt inputs.

Function Documentation

void INTMUX_Init ( INTMUX_Type *  base)

This function enables the clock gate for the specified INTMUX. It then resets all channels, so that no interrupt sources are routed and the logic mode is set to default of kINTMUX_ChannelLogicOR. Finally, the NVIC vectors for all the INTMUX output channels are enabled.

Parameters
baseINTMUX peripheral base address.
void INTMUX_Deinit ( INTMUX_Type *  base)

The clock gate for the specified INTMUX is disabled and the NVIC vectors for all channels are disabled.

Parameters
baseINTMUX peripheral base address.
static void INTMUX_ResetChannel ( INTMUX_Type *  base,
uint32_t  channel 
)
inlinestatic

Sets all register values in the specified channel to their reset value. This function disables all interrupt sources for the channel.

Parameters
baseINTMUX peripheral base address.
channelThe INTMUX channel number.
static void INTMUX_SetChannelMode ( INTMUX_Type *  base,
uint32_t  channel,
intmux_channel_logic_mode_t  logic 
)
inlinestatic

INTMUX channels can be configured to use one of the two logic modes that control how pending interrupt sources on the channel trigger the output interrupt.

Parameters
baseINTMUX peripheral base address.
channelThe INTMUX channel number.
logicThe INTMUX channel logic mode.
static void INTMUX_EnableInterrupt ( INTMUX_Type *  base,
uint32_t  channel,
IRQn_Type  irq 
)
inlinestatic
Parameters
baseINTMUX peripheral base address.
channelIndex of the INTMUX channel on which the specified interrupt is enabled.
irqInterrupt to route to the specified INTMUX channel. The interrupt must be an INTMUX source.
static void INTMUX_DisableInterrupt ( INTMUX_Type *  base,
uint32_t  channel,
IRQn_Type  irq 
)
inlinestatic
Parameters
baseINTMUX peripheral base address.
channelIndex of the INTMUX channel on which the specified interrupt is disabled.
irqInterrupt number. The interrupt must be an INTMUX source.
static uint32_t INTMUX_GetChannelPendingSources ( INTMUX_Type *  base,
uint32_t  channel 
)
inlinestatic
Parameters
baseINTMUX peripheral base address.
channelThe INTMUX channel number.
Returns
The mask of pending interrupt bits. Bit[n] set means INTMUX source n is pending.