MCUXpresso SDK API Reference Manual  Rev 2.15.000
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
INPUTMUX: Input Multiplexing Driver

Overview

The MCUXpresso SDK provides a driver for the Input multiplexing (INPUTMUX).
It configures the inputs to the pin interrupt block, DMA trigger, and frequency measure function. Once configured, the clock is not needed for the inputmux.

Input Multiplexing Driver operation

INPUTMUX_AttachSignal function configures the specified input

Typical use case

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

Files

file  fsl_inputmux.h
 
file  fsl_inputmux_connections.h
 

Functions

void INPUTMUX_Init (INPUTMUX_Type *base)
 Initialize INPUTMUX peripheral. More...
 
void INPUTMUX_AttachSignal (INPUTMUX_Type *base, uint32_t index, inputmux_connection_t connection)
 Attaches a signal. More...
 
void INPUTMUX_EnableSignal (INPUTMUX_Type *base, inputmux_signal_t signal, bool enable)
 Enable/disable a signal. More...
 
void INPUTMUX_Deinit (INPUTMUX_Type *base)
 Deinitialize INPUTMUX peripheral. More...
 

Input multiplexing connections

enum  _inputmux_connection_t {
  kINPUTMUX_SctGpi0ToSct0 = 0U + (SCT0_INMUX0 << PMUX_SHIFT) ,
  kINPUTMUX_DebugHaltedToSct0 = 23U + (SCT0_INMUX0 << PMUX_SHIFT) ,
  kINPUTMUX_I2sSharedWs1ToTimer0Captsel = 24U + (TIMER0CAPTSEL0 << PMUX_SHIFT) ,
  kINPUTMUX_I2sSharedWs1ToTimer1Captsel = 24U + (TIMER1CAPTSEL0 << PMUX_SHIFT) ,
  kINPUTMUX_I2sSharedWs1ToTimer2Captsel = 24U + (TIMER2CAPTSEL0 << PMUX_SHIFT) ,
  kINPUTMUX_GpioPort1Pin31ToPintsel = 63U + (PINTSEL0 << PMUX_SHIFT) ,
  kINPUTMUX_HashDmaRxToDma0 = 21U + (DMA0_ITRIG_INMUX0 << PMUX_SHIFT) ,
  kINPUTMUX_Dma0Adc0Ch1TrigoutToTriginChannels = 22U + (DMA0_OTRIG_INMUX0 << PMUX_SHIFT) ,
  kINPUTMUX_FreqmeGpioClk_bRef = 7u + (FREQMEAS_REF_REG << PMUX_SHIFT) ,
  kINPUTMUX_FreqmeGpioClk_bTarget = 7u + (FREQMEAS_TARGET_REG << PMUX_SHIFT) ,
  kINPUTMUX_I2sSharedWs1ToTimer3Captsel = 24U + (TIMER3CAPTSEL0 << PMUX_SHIFT) ,
  kINPUTMUX_GpioPort0Pin31ToPintSecsel = 31U + (PINTSECSEL0 << PMUX_SHIFT) ,
  kINPUTMUX_HashDmaRxToDma1 = 14U + (DMA1_ITRIG_INMUX0 << PMUX_SHIFT)
}
 INPUTMUX connections type. More...
 
enum  _inputmux_signal_t {
  kINPUTMUX_HashCryptToDmac0Ch0RequestEna = 0U + (DMA0_REQ_ENA_ID << ENA_SHIFT) ,
  kINPUTMUX_Adc0FIFO1ToDmac0Ch22RequestEna = 22U + (DMA0_REQ_ENA_ID << ENA_SHIFT) ,
  kINPUTMUX_Flexcomm3TxToDmac1Ch9RequestEna = 9U + (DMA1_REQ_ENA_ID << ENA_SHIFT) ,
  kINPUTMUX_Dmac0InputTriggerHashOutEna = 21U + (DMA0_ITRIG_ENA_ID << ENA_SHIFT)
}
 INPUTMUX signal enable/disable type. More...
 
typedef enum _inputmux_connection_t inputmux_connection_t
 INPUTMUX connections type.
 
typedef enum _inputmux_signal_t inputmux_signal_t
 INPUTMUX signal enable/disable type.
 
#define SCT0_INMUX0   0x00U
 Periphinmux IDs.
 
#define TIMER0CAPTSEL0   0x20U
 
#define TIMER1CAPTSEL0   0x40U
 
#define TIMER2CAPTSEL0   0x60U
 
#define PINTSEL_PMUX_ID   0xC0U
 
#define PINTSEL0   0xC0U
 
#define DMA0_ITRIG_INMUX0   0xE0U
 
#define DMA0_OTRIG_INMUX0   0x160U
 
#define FREQMEAS_REF_REG   0x180U
 
#define FREQMEAS_TARGET_REG   0x184U
 
#define TIMER3CAPTSEL0   0x1A0U
 
#define TIMER4CAPTSEL0   0x1C0U
 
#define PINTSECSEL0   0x1E0U
 
#define DMA1_ITRIG_INMUX0   0x200U
 
#define DMA1_OTRIG_INMUX0   0x240U
 
#define DMA0_REQ_ENA_ID   0x740U
 
#define DMA1_REQ_ENA_ID   0x760U
 
#define DMA0_ITRIG_ENA_ID   0x780U
 
#define DMA1_ITRIG_ENA_ID   0x7A0U
 
#define ENA_SHIFT   8U
 
#define PMUX_SHIFT   20U
 

Driver version

#define FSL_INPUTMUX_DRIVER_VERSION   (MAKE_VERSION(2, 0, 7))
 Group interrupt driver version for SDK.
 

Enumeration Type Documentation

Enumerator
kINPUTMUX_SctGpi0ToSct0 

SCT0 INMUX.

kINPUTMUX_DebugHaltedToSct0 

TIMER0 CAPTSEL.

kINPUTMUX_I2sSharedWs1ToTimer0Captsel 

TIMER1 CAPTSEL.

kINPUTMUX_I2sSharedWs1ToTimer1Captsel 

TIMER2 CAPTSEL.

kINPUTMUX_I2sSharedWs1ToTimer2Captsel 

Pin interrupt select.

kINPUTMUX_GpioPort1Pin31ToPintsel 

DMA0 Input trigger.

kINPUTMUX_HashDmaRxToDma0 

DMA0 output trigger.

kINPUTMUX_Dma0Adc0Ch1TrigoutToTriginChannels 

Selection for frequency measurement reference clock.

kINPUTMUX_FreqmeGpioClk_bRef 

Selection for frequency measurement target clock.

kINPUTMUX_FreqmeGpioClk_bTarget 

TIMER3 CAPTSEL.

kINPUTMUX_I2sSharedWs1ToTimer3Captsel 

Timer4 CAPTSEL.

kINPUTMUX_GpioPort0Pin31ToPintSecsel 

DMA1 Input trigger.

kINPUTMUX_HashDmaRxToDma1 

DMA1 output trigger.

Enumerator
kINPUTMUX_HashCryptToDmac0Ch0RequestEna 

DMA0 REQ signal.

kINPUTMUX_Adc0FIFO1ToDmac0Ch22RequestEna 

DMA1 REQ signal.

kINPUTMUX_Flexcomm3TxToDmac1Ch9RequestEna 

DMA0 input trigger source enable.

kINPUTMUX_Dmac0InputTriggerHashOutEna 

DMA1 input trigger source enable.

Function Documentation

void INPUTMUX_Init ( INPUTMUX_Type *  base)

This function enables the INPUTMUX clock.

Parameters
baseBase address of the INPUTMUX peripheral.
Return values
None.
void INPUTMUX_AttachSignal ( INPUTMUX_Type *  base,
uint32_t  index,
inputmux_connection_t  connection 
)

This function attaches multiplexed signals from INPUTMUX to target signals. For example, to attach GPIO PORT0 Pin 5 to PINT peripheral, do the following:

* INPUTMUX_AttachSignal(INPUTMUX, 2, kINPUTMUX_GpioPort0Pin5ToPintsel);
*

In this example, INTMUX has 8 registers for PINT, PINT_SEL0~PINT_SEL7. With parameter index specified as 2, this function configures register PINT_SEL2.

Parameters
baseBase address of the INPUTMUX peripheral.
indexThe serial number of destination register in the group of INPUTMUX registers with same name.
connectionApplies signal from source signals collection to target signal.
Return values
None.
void INPUTMUX_EnableSignal ( INPUTMUX_Type *  base,
inputmux_signal_t  signal,
bool  enable 
)

This function gates the INPUTPMUX clock.

Parameters
baseBase address of the INPUTMUX peripheral.
signalEnable signal register id and bit offset.
enableSelects enable or disable.
Return values
None.
void INPUTMUX_Deinit ( INPUTMUX_Type *  base)

This function disables the INPUTMUX clock.

Parameters
baseBase address of the INPUTMUX peripheral.
Return values
None.