31 #ifndef _FSL_INTMUX_H_ 32 #define _FSL_INTMUX_H_ 34 #include "fsl_common.h" 46 #define FSL_INTMUX_DRIVER_VERSION (MAKE_VERSION(2, 0, 0)) 49 typedef enum _intmux_channel_logic_mode
59 #if defined(__cplusplus) 97 assert(channel < FSL_FEATURE_INTMUX_CHANNEL_COUNT);
99 base->CHANNEL[channel].CHn_CSR |= INTMUX_CHn_CSR_RST_MASK;
117 assert(channel < FSL_FEATURE_INTMUX_CHANNEL_COUNT);
119 base->CHANNEL[channel].CHn_CSR = INTMUX_CHn_CSR_AND(logic);
135 assert(channel < FSL_FEATURE_INTMUX_CHANNEL_COUNT);
136 assert(irq >= FSL_FEATURE_INTMUX_IRQ_START_INDEX);
138 base->CHANNEL[channel].CHn_IER_31_0 |= (1U << ((uint32_t)irq - FSL_FEATURE_INTMUX_IRQ_START_INDEX));
150 assert(channel < FSL_FEATURE_INTMUX_CHANNEL_COUNT);
151 assert(irq >= FSL_FEATURE_INTMUX_IRQ_START_INDEX);
153 base->CHANNEL[channel].CHn_IER_31_0 &= ~(1U << ((uint32_t)irq - FSL_FEATURE_INTMUX_IRQ_START_INDEX));
169 assert(channel < FSL_FEATURE_INTMUX_CHANNEL_COUNT);
171 return base->CHANNEL[channel].CHn_IPR_31_0;
176 #if defined(__cplusplus) Definition: fsl_intmux.h:52
static void INTMUX_DisableInterrupt(INTMUX_Type *base, uint32_t channel, IRQn_Type irq)
Disable an interrupt source on an INTMUX channel.
Definition: fsl_intmux.h:148
Definition: fsl_intmux.h:51
static uint32_t INTMUX_GetChannelPendingSources(INTMUX_Type *base, uint32_t channel)
Get INTMUX pending interrupt sources for specific channel.
Definition: fsl_intmux.h:167
void INTMUX_Init(INTMUX_Type *base)
Initializes INTMUX module.
Definition: fsl_intmux.c:110
intmux_channel_logic_mode_t
INTMUX channel logic mode.
Definition: fsl_intmux.h:49
void INTMUX_Deinit(INTMUX_Type *base)
Deinitializes an INTMUX instance for operation.
Definition: fsl_intmux.c:124
static void INTMUX_SetChannelMode(INTMUX_Type *base, uint32_t channel, intmux_channel_logic_mode_t logic)
Set the logic mode for an INTMUX channel.
Definition: fsl_intmux.h:115
static void INTMUX_EnableInterrupt(INTMUX_Type *base, uint32_t channel, IRQn_Type irq)
Enable an interrupt source on an INTMUX channel.
Definition: fsl_intmux.h:133
static void INTMUX_ResetChannel(INTMUX_Type *base, uint32_t channel)
Reset an INTMUX channel.
Definition: fsl_intmux.h:95