MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
LLWU: Low-Leakage Wakeup Unit Driver

Overview

The MCUXpresso SDK provides a peripheral driver for the Low-Leakage Wakeup Unit (LLWU) module of MCUXpresso SDK devices. The LLWU module allows the user to select external pin sources and internal modules as a wake-up source from low-leakage power modes.

External wakeup pins configurations

Configures the external wakeup pins' working modes, gets, and clears the wake pin flags. External wakeup pins are accessed by the pinIndex, which is started from 1. Numbers of the external pins depend on the SoC configuration.

Internal wakeup modules configurations

Enables/disables the internal wakeup modules and gets the module flags. Internal modules are accessed by moduleIndex, which is started from 1. Numbers of external pins depend the on SoC configuration.

Digital pin filter for external wakeup pin configurations

Configures the digital pin filter of the external wakeup pins' working modes, gets, and clears the pin filter flags. Digital pin filters are accessed by the filterIndex, which is started from 1. Numbers of external pins depend on the SoC configuration.

Data Structures

struct  llwu_external_pin_filter_mode_t
 An external input pin filter control structure. More...
 

Enumerations

enum  llwu_external_pin_mode_t {
  kLLWU_ExternalPinDisable = 0U,
  kLLWU_ExternalPinRisingEdge = 1U,
  kLLWU_ExternalPinFallingEdge = 2U,
  kLLWU_ExternalPinAnyEdge = 3U
}
 External input pin control modes. More...
 
enum  llwu_pin_filter_mode_t {
  kLLWU_PinFilterDisable = 0U,
  kLLWU_PinFilterRisingEdge = 1U,
  kLLWU_PinFilterFallingEdge = 2U,
  kLLWU_PinFilterAnyEdge = 3U
}
 Digital filter control modes. More...
 

Driver version

#define FSL_LLWU_DRIVER_VERSION   (MAKE_VERSION(2, 0, 1))
 LLWU driver version 2.0.1. More...
 

Low-Leakage Wakeup Unit Control APIs

void LLWU_SetExternalWakeupPinMode (LLWU_Type *base, uint32_t pinIndex, llwu_external_pin_mode_t pinMode)
 Sets the external input pin source mode. More...
 
bool LLWU_GetExternalWakeupPinFlag (LLWU_Type *base, uint32_t pinIndex)
 Gets the external wakeup source flag. More...
 
void LLWU_ClearExternalWakeupPinFlag (LLWU_Type *base, uint32_t pinIndex)
 Clears the external wakeup source flag. More...
 
static void LLWU_EnableInternalModuleInterruptWakup (LLWU_Type *base, uint32_t moduleIndex, bool enable)
 Enables/disables the internal module source. More...
 
static bool LLWU_GetInternalWakeupModuleFlag (LLWU_Type *base, uint32_t moduleIndex)
 Gets the external wakeup source flag. More...
 
void LLWU_SetPinFilterMode (LLWU_Type *base, uint32_t filterIndex, llwu_external_pin_filter_mode_t filterMode)
 Sets the pin filter configuration. More...
 
bool LLWU_GetPinFilterFlag (LLWU_Type *base, uint32_t filterIndex)
 Gets the pin filter configuration. More...
 
void LLWU_ClearPinFilterFlag (LLWU_Type *base, uint32_t filterIndex)
 Clears the pin filter configuration. More...
 

Data Structure Documentation

struct llwu_external_pin_filter_mode_t

Data Fields

uint32_t pinIndex
 A pin number.
 
llwu_pin_filter_mode_t filterMode
 Filter mode.
 

Macro Definition Documentation

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

Enumeration Type Documentation

Enumerator
kLLWU_ExternalPinDisable 

Pin disabled as a wakeup input.

kLLWU_ExternalPinRisingEdge 

Pin enabled with the rising edge detection.

kLLWU_ExternalPinFallingEdge 

Pin enabled with the falling edge detection.

kLLWU_ExternalPinAnyEdge 

Pin enabled with any change detection.

Enumerator
kLLWU_PinFilterDisable 

Filter disabled.

kLLWU_PinFilterRisingEdge 

Filter positive edge detection.

kLLWU_PinFilterFallingEdge 

Filter negative edge detection.

kLLWU_PinFilterAnyEdge 

Filter any edge detection.

Function Documentation

void LLWU_SetExternalWakeupPinMode ( LLWU_Type *  base,
uint32_t  pinIndex,
llwu_external_pin_mode_t  pinMode 
)

This function sets the external input pin source mode that is used as a wake up source.

Parameters
baseLLWU peripheral base address.
pinIndexA pin index to be enabled as an external wakeup source starting from 1.
pinModeA pin configuration mode defined in the llwu_external_pin_modes_t.
bool LLWU_GetExternalWakeupPinFlag ( LLWU_Type *  base,
uint32_t  pinIndex 
)

This function checks the external pin flag to detect whether the MCU is woken up by the specific pin.

Parameters
baseLLWU peripheral base address.
pinIndexA pin index, which starts from 1.
Returns
True if the specific pin is a wakeup source.
void LLWU_ClearExternalWakeupPinFlag ( LLWU_Type *  base,
uint32_t  pinIndex 
)

This function clears the external wakeup source flag for a specific pin.

Parameters
baseLLWU peripheral base address.
pinIndexA pin index, which starts from 1.
static void LLWU_EnableInternalModuleInterruptWakup ( LLWU_Type *  base,
uint32_t  moduleIndex,
bool  enable 
)
inlinestatic

This function enables/disables the internal module source mode that is used as a wake up source.

Parameters
baseLLWU peripheral base address.
moduleIndexA module index to be enabled as an internal wakeup source starting from 1.
enableAn enable or a disable setting
static bool LLWU_GetInternalWakeupModuleFlag ( LLWU_Type *  base,
uint32_t  moduleIndex 
)
inlinestatic

This function checks the external pin flag to detect whether the system is woken up by the specific pin.

Parameters
baseLLWU peripheral base address.
moduleIndexA module index, which starts from 1.
Returns
True if the specific pin is a wake up source.
void LLWU_SetPinFilterMode ( LLWU_Type *  base,
uint32_t  filterIndex,
llwu_external_pin_filter_mode_t  filterMode 
)

This function sets the pin filter configuration.

Parameters
baseLLWU peripheral base address.
filterIndexA pin filter index used to enable/disable the digital filter, starting from 1.
filterModeA filter mode configuration
bool LLWU_GetPinFilterFlag ( LLWU_Type *  base,
uint32_t  filterIndex 
)

This function gets the pin filter flag.

Parameters
baseLLWU peripheral base address.
filterIndexA pin filter index, which starts from 1.
Returns
True if the flag is a source of the existing low-leakage power mode.
void LLWU_ClearPinFilterFlag ( LLWU_Type *  base,
uint32_t  filterIndex 
)

This function clears the pin filter flag.

Parameters
baseLLWU peripheral base address.
filterIndexA pin filter index to clear the flag, starting from 1.