MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
XBAR Peripheral and Driver Overview

Features

Inter Peripheral Crossbar-Switch

This module implements an array of M N-input combinational muxes. All muxes share the same N inputs in the same order, but each mux has its own independent select field. The intended application of this module is to provide a flexible crossbar switch function that allows any input (typically from external GPIO or internal module outputs) to be connected to any output (typically to external GPIO or internal module inputs) under user control. This is used to allow user configuration of data paths between internal modules and between internal modules and GPIO.

A subset of the muxes can be configured to support edge detection and either interrupt or DMA request generation based on detected signal edges on the mux output. This allows signal transitions on the signals feeding the crossbar to trigger interrupts or initiate data transfers via DMA into or out of other system modules.

How this driver is designed

This driver is designed around the basic configuration unit of XBAR output which get input signal, edge detection mode and interrupt/dma generation configuration.

xbar output signal is defined in device/<DEVICE>/<DEVICE>.h file with enumeration name as _xbara_output_signal. This enumeration list all available signals with its meaning provided in enumerator. Note that not all XBAR output is able to generate interrupt/DMA according to edge detected in input signal, only _xbara_output_signal enumerator equal or smaller than kXBAR_OuputMaxInterruptDMASignal can be configurated with edge detection and interrupt/dma request generation.

Available xbar input singal is also proivde in device/<DEVICE>/<DEVICE>.h file with enumeration name as _xbara_input_signal.

There are a series of MACRO functions starting with XBAR_ provided but it is not necessary to understand these macro function on using this driver. These macro functions are provided to find the register fields to operate with with a given xbar output _xbara_output_signal.

This driver provide several function group to do with the configuration of output channel.

How to use this driver

Typical use case

NA