MCUXpresso SDK API Reference Manual  Rev. 0
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
 

Macros

#define PINTSEL_PMUX_ID   (offsetof(INPUTMUX_Type, PINTSEL))
 Periphinmux IDs. More...
 
#define DMA_ITRIG_PMUX_ID   (offsetof(INPUTMUX_Type, DMA_ITRIG_INMUX))
 0xE0U
 
#define DMA_OTRIG_PMUX_ID   (offsetof(INPUTMUX_Type, DMA_OTRIG_INMUX))
 0x160U
 
#define FREQMEAS_PMUX_ID   (offsetof(INPUTMUX_Type, FREQMEAS_REF))
 0x180U
 
#define PMUX_SHIFT   20U
 20U
 

Enumerations

enum  inputmux_connection_t {
  kINPUTMUX_ClkInToFreqmeas = 0U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_Xtal32MhzToFreqmeas = 1U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_Fro1MhzToFreqmeas = 2U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_32KhzOscToFreqmeas = 3U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_MainClkToFreqmeas = 4U + (FREQMEAS_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_GpioPort0Pin4ToFreqmeas,
  kINPUTMUX_GpioPort0Pin20ToFreqmeas,
  kINPUTMUX_GpioPort0Pin16ToFreqmeas,
  kINPUTMUX_GpioPort0Pin15ToFreqmeas,
  kINPUTMUX_GpioPort0Pin0ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 0U),
  kINPUTMUX_GpioPort0Pin1ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 1U),
  kINPUTMUX_GpioPort0Pin2ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 2U),
  kINPUTMUX_GpioPort0Pin3ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 3U),
  kINPUTMUX_GpioPort0Pin4ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 4U),
  kINPUTMUX_GpioPort0Pin5ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 5U),
  kINPUTMUX_GpioPort0Pin6ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 6U),
  kINPUTMUX_GpioPort0Pin7ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 7U),
  kINPUTMUX_GpioPort0Pin8ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 8U),
  kINPUTMUX_GpioPort0Pin9ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 9U),
  kINPUTMUX_GpioPort0Pin10ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 10U),
  kINPUTMUX_GpioPort0Pin11ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 11U),
  kINPUTMUX_GpioPort0Pin12ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 12U),
  kINPUTMUX_GpioPort0Pin13ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 13U),
  kINPUTMUX_GpioPort0Pin14ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 14U),
  kINPUTMUX_GpioPort0Pin15ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 15U),
  kINPUTMUX_GpioPort0Pin16ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 16U),
  kINPUTMUX_GpioPort0Pin17ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 17U),
  kINPUTMUX_GpioPort0Pin18ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 18U),
  kINPUTMUX_GpioPort0Pin19ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 19U),
  kINPUTMUX_GpioPort0Pin20ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 20U),
  kINPUTMUX_GpioPort0Pin21ToPintsel = INPUTMUX_GpioPortPinToPintsel(0, 21U),
  kINPUTMUX_Adc0SeqaIrqToDma = 0U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_Adc0SeqbIrqToDma = 1U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_Ctimer0M0ToDma = 2U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_Ctimer0M1ToDma = 3U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_Ctimer1M0ToDma = 4U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_Ctimer1M1ToDma = 5U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_PinInt0ToDma = 6U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_PinInt1ToDma = 7U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_PinInt2ToDma = 8U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_PinInt3ToDma = 9U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_AesRxToDma = 10U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_AesTxToDma = 11U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_HashRxToDma = 12U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_HashTxToDma = 13U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_Otrig0ToDma = 14U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_Otrig1ToDma = 15U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_Otrig2ToDma = 16U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_Otrig3ToDma = 17U + (DMA_ITRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaUsart0RxTrigoutToTriginChannels = 0U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaUsart0TxTrigoutToTriginChannels = 1U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaUsart1RxTrigoutToTriginChannels = 2U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaUsart1TxTrigoutToTriginChannels = 3U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaI2c0SlvaeTrigoutToTriginChannels = 4U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaI2c0MasterTrigoutToTriginChannels = 5U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaI2c1SlvaeTrigoutToTriginChannels = 6U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaI2c1MasterTrigoutToTriginChannels = 7U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaSpi0RxTrigoutToTriginChannels = 8U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaSpi0TxTrigoutToTriginChannels = 9U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaSpi1RxTrigoutToTriginChannels = 10U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaSpi1TxTrigoutToTriginChannels = 11U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaSpifi0TrigoutToTriginChannels = 12U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaI2c2SlaveTrigoutToTriginChannels = 13U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaI2c2MasterTrigoutToTriginChannels = 14U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaDmic0Ch0TrigoutToTriginChannels = 15U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaDmic0Ch1TrigoutToTriginChannels = 16U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaHash0RxTrigoutToTriginChannels = 17U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT),
  kINPUTMUX_DmaHash0TxTrigoutToTriginChannels = 18U + (DMA_OTRIG_PMUX_ID << PMUX_SHIFT)
}
 INPUTMUX connections type. More...
 

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_Deinit (INPUTMUX_Type *base)
 Deinitialize INPUTMUX peripheral. More...
 

Driver version

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

Macro Definition Documentation

#define PINTSEL_PMUX_ID   (offsetof(INPUTMUX_Type, PINTSEL))

0xC0U

#define FSL_INPUTMUX_DRIVER_VERSION   (MAKE_VERSION(2, 0, 1))

Version 2.0.1.

Enumeration Type Documentation

Enumerator
kINPUTMUX_ClkInToFreqmeas 

Clock Input to Frequency measure.

kINPUTMUX_Xtal32MhzToFreqmeas 

XTAL 32MHZ to Frequency measure.

kINPUTMUX_Fro1MhzToFreqmeas 

Fro 1MHz to Frequency measure.

kINPUTMUX_32KhzOscToFreqmeas 

32KHz OSC to Frequency measure.

kINPUTMUX_MainClkToFreqmeas 

Main Clock to Frequency measure.

kINPUTMUX_GpioPort0Pin4ToFreqmeas 

GPIO PORT 0 Pin 4 to Frequency measure.

kINPUTMUX_GpioPort0Pin20ToFreqmeas 

GPIO Port 0 Pin 20 to Frequency measure.

kINPUTMUX_GpioPort0Pin16ToFreqmeas 

GPIO Port 0 Pin 16 to Frequency measure.

kINPUTMUX_GpioPort0Pin15ToFreqmeas 

GPIO Port 0 Pin 15 to Frequency measure.

Pin Interrupt.

kINPUTMUX_GpioPort0Pin0ToPintsel 

Port 0 Pin 0 to PINT select.

kINPUTMUX_GpioPort0Pin1ToPintsel 

Port 0 Pin 1 to PINT select.

kINPUTMUX_GpioPort0Pin2ToPintsel 

Port 0 Pin 2 to PINT select.

kINPUTMUX_GpioPort0Pin3ToPintsel 

Port 0 Pin 3 to PINT select.

kINPUTMUX_GpioPort0Pin4ToPintsel 

Port 0 Pin 4 to PINT select.

kINPUTMUX_GpioPort0Pin5ToPintsel 

Port 0 Pin 5 to PINT select.

kINPUTMUX_GpioPort0Pin6ToPintsel 

Port 0 Pin 6 to PINT select.

kINPUTMUX_GpioPort0Pin7ToPintsel 

Port 0 Pin 7 to PINT select.

kINPUTMUX_GpioPort0Pin8ToPintsel 

Port 0 Pin 8 to PINT select.

kINPUTMUX_GpioPort0Pin9ToPintsel 

Port 0 Pin 9 to PINT select.

kINPUTMUX_GpioPort0Pin10ToPintsel 

Port 0 Pin 10 to PINT select.

kINPUTMUX_GpioPort0Pin11ToPintsel 

Port 0 Pin 11 to PINT select.

kINPUTMUX_GpioPort0Pin12ToPintsel 

Port 0 Pin 12 to PINT select.

kINPUTMUX_GpioPort0Pin13ToPintsel 

Port 0 Pin 13 to PINT select.

kINPUTMUX_GpioPort0Pin14ToPintsel 

Port 0 Pin 14 to PINT select.

kINPUTMUX_GpioPort0Pin15ToPintsel 

Port 0 Pin 15 to PINT select.

kINPUTMUX_GpioPort0Pin16ToPintsel 

Port 0 Pin 16 to PINT select.

kINPUTMUX_GpioPort0Pin17ToPintsel 

Port 0 Pin 17 to PINT select.

kINPUTMUX_GpioPort0Pin18ToPintsel 

Port 0 Pin 18 to PINT select.

kINPUTMUX_GpioPort0Pin19ToPintsel 

Port 0 Pin 19 to PINT select.

kINPUTMUX_GpioPort0Pin20ToPintsel 

Port 0 Pin 20 to PINT select.

kINPUTMUX_GpioPort0Pin21ToPintsel 

Port 0 Pin 21 to PINT select.

DMA ITRIG.

kINPUTMUX_Adc0SeqaIrqToDma 

ADC Interrupt (Sequence A)

kINPUTMUX_Adc0SeqbIrqToDma 

ADC Interrupt (Sequence B)

kINPUTMUX_Ctimer0M0ToDma 

Timer CT32B0 Match 0 DMA request.

kINPUTMUX_Ctimer0M1ToDma 

Timer CT32B0 Match 1 DMA request.

kINPUTMUX_Ctimer1M0ToDma 

Timer CT32B1 Match 0 DMA request.

kINPUTMUX_Ctimer1M1ToDma 

Timer CT32B1 Match 1 DMA request.

kINPUTMUX_PinInt0ToDma 

Pin interrupt 0.

kINPUTMUX_PinInt1ToDma 

Pin interrupt 1.

kINPUTMUX_PinInt2ToDma 

Pin interrupt 2.

kINPUTMUX_PinInt3ToDma 

Pin interrupt 3.

kINPUTMUX_AesRxToDma 

AES RX.

kINPUTMUX_AesTxToDma 

AES TX.

kINPUTMUX_HashRxToDma 

Hash RX.

kINPUTMUX_HashTxToDma 

Hash TX.

kINPUTMUX_Otrig0ToDma 

DMA output trigger 0.

kINPUTMUX_Otrig1ToDma 

DMA output trigger 1.

kINPUTMUX_Otrig2ToDma 

DMA output trigger 2.

kINPUTMUX_Otrig3ToDma 

DMA output trigger 3.

DMA OTRIG.

kINPUTMUX_DmaUsart0RxTrigoutToTriginChannels 

USART 0 RX.

kINPUTMUX_DmaUsart0TxTrigoutToTriginChannels 

USART 0 TX.

kINPUTMUX_DmaUsart1RxTrigoutToTriginChannels 

USART 1 RX.

kINPUTMUX_DmaUsart1TxTrigoutToTriginChannels 

USART 1 TX.

kINPUTMUX_DmaI2c0SlvaeTrigoutToTriginChannels 

I2C 0 Slave.

kINPUTMUX_DmaI2c0MasterTrigoutToTriginChannels 

I2C 0 Master.

kINPUTMUX_DmaI2c1SlvaeTrigoutToTriginChannels 

I2C 1 Slave.

kINPUTMUX_DmaI2c1MasterTrigoutToTriginChannels 

I2C 1 Master.

kINPUTMUX_DmaSpi0RxTrigoutToTriginChannels 

SPI 0 RX.

kINPUTMUX_DmaSpi0TxTrigoutToTriginChannels 

SPI 0 TX.

kINPUTMUX_DmaSpi1RxTrigoutToTriginChannels 

SPI 1 RX.

kINPUTMUX_DmaSpi1TxTrigoutToTriginChannels 

SPI 1 TX.

kINPUTMUX_DmaSpifi0TrigoutToTriginChannels 

SPIFI.

kINPUTMUX_DmaI2c2SlaveTrigoutToTriginChannels 

I2C 2 Slave.

kINPUTMUX_DmaI2c2MasterTrigoutToTriginChannels 

I2C 2 Master.

kINPUTMUX_DmaDmic0Ch0TrigoutToTriginChannels 

DMIC Channel 0.

kINPUTMUX_DmaDmic0Ch1TrigoutToTriginChannels 

DMIC Channel 1.

kINPUTMUX_DmaHash0RxTrigoutToTriginChannels 

Hash RX.

kINPUTMUX_DmaHash0TxTrigoutToTriginChannels 

Hash TX.

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 gates the INPUTPMUX clock.

Parameters
baseBase address of the INPUTMUX peripheral.
indexDestination peripheral to attach the signal to.
connectionSelects connection.
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.