MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
RCM: Reset Control Module Driver

Overview

The MCUXpresso SDK provides a Peripheral driver for the Reset Control Module (RCM) module of MCUXpresso SDK devices.

Data Structures

struct  rcm_reset_pin_filter_config_t
 Reset pin filter configuration. More...
 

Enumerations

enum  rcm_reset_source_t {
  kRCM_SourceWakeup = RCM_SRS0_WAKEUP_MASK,
  kRCM_SourceLvd = RCM_SRS0_LVD_MASK,
  kRCM_SourceWdog = RCM_SRS0_WDOG_MASK,
  kRCM_SourcePin = RCM_SRS0_PIN_MASK,
  kRCM_SourcePor = RCM_SRS0_POR_MASK,
  kRCM_SourceLockup = RCM_SRS1_LOCKUP_MASK << 8U,
  kRCM_SourceSw = RCM_SRS1_SW_MASK << 8U,
  kRCM_SourceMdmap = RCM_SRS1_MDM_AP_MASK << 8U,
  kRCM_SourceSackerr = RCM_SRS1_SACKERR_MASK << 8U
}
 System Reset Source Name definitions. More...
 
enum  rcm_run_wait_filter_mode_t {
  kRCM_FilterDisable = 0U,
  kRCM_FilterBusClock = 1U,
  kRCM_FilterLpoClock = 2U
}
 Reset pin filter select in Run and Wait modes. More...
 
enum  rcm_boot_rom_config_t {
  kRCM_BootFlash = 0U,
  kRCM_BootRomCfg0 = 1U,
  kRCM_BootRomFopt = 2U,
  kRCM_BootRomBoth = 3U
}
 Boot from ROM configuration. More...
 

Driver version

#define FSL_RCM_DRIVER_VERSION   (MAKE_VERSION(2, 0, 1))
 RCM driver version 2.0.1. More...
 

Reset Control Module APIs

static uint32_t RCM_GetPreviousResetSources (RCM_Type *base)
 Gets the reset source status which caused a previous reset. More...
 
static uint32_t RCM_GetStickyResetSources (RCM_Type *base)
 Gets the sticky reset source status. More...
 
static void RCM_ClearStickyResetSources (RCM_Type *base, uint32_t sourceMasks)
 Clears the sticky reset source status. More...
 
void RCM_ConfigureResetPinFilter (RCM_Type *base, const rcm_reset_pin_filter_config_t *config)
 Configures the reset pin filter. More...
 
static rcm_boot_rom_config_t RCM_GetBootRomSource (RCM_Type *base)
 Gets the ROM boot source. More...
 
static void RCM_ClearBootRomSource (RCM_Type *base)
 Clears the ROM boot source flag. More...
 
void RCM_SetForceBootRomSource (RCM_Type *base, rcm_boot_rom_config_t config)
 Forces the boot from ROM. More...
 

Data Structure Documentation

struct rcm_reset_pin_filter_config_t

Data Fields

bool enableFilterInStop
 Reset pin filter select in stop mode. More...
 
rcm_run_wait_filter_mode_t filterInRunWait
 Reset pin filter in run/wait mode. More...
 
uint8_t busClockFilterCount
 Reset pin bus clock filter width. More...
 

Field Documentation

bool rcm_reset_pin_filter_config_t::enableFilterInStop
rcm_run_wait_filter_mode_t rcm_reset_pin_filter_config_t::filterInRunWait
uint8_t rcm_reset_pin_filter_config_t::busClockFilterCount

Macro Definition Documentation

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

Enumeration Type Documentation

Enumerator
kRCM_SourceWakeup 

Low-leakage wakeup reset.

kRCM_SourceLvd 

Low-voltage detect reset.

kRCM_SourceWdog 

Watchdog reset.

kRCM_SourcePin 

External pin reset.

kRCM_SourcePor 

Power on reset.

kRCM_SourceLockup 

Core lock up reset.

kRCM_SourceSw 

Software reset.

kRCM_SourceMdmap 

MDM-AP system reset.

kRCM_SourceSackerr 

Parameter could get all reset flags.

Enumerator
kRCM_FilterDisable 

All filtering disabled.

kRCM_FilterBusClock 

Bus clock filter enabled.

kRCM_FilterLpoClock 

LPO clock filter enabled.

Enumerator
kRCM_BootFlash 

Boot from flash.

kRCM_BootRomCfg0 

Boot from boot ROM due to BOOTCFG0.

kRCM_BootRomFopt 

Boot from boot ROM due to FOPT[7].

kRCM_BootRomBoth 

Boot from boot ROM due to both BOOTCFG0 and FOPT[7].

Function Documentation

static uint32_t RCM_GetPreviousResetSources ( RCM_Type *  base)
inlinestatic

This function gets the current reset source status. Use source masks defined in the rcm_reset_source_t to get the desired source status.

This is an example.

uint32_t resetStatus;
// To get all reset source statuses.
resetStatus = RCM_GetPreviousResetSources(RCM) & kRCM_SourceAll;
// To test whether the MCU is reset using Watchdog.
// To test multiple reset sources.
Parameters
baseRCM peripheral base address.
Returns
All reset source status bit map.
static uint32_t RCM_GetStickyResetSources ( RCM_Type *  base)
inlinestatic

This function gets the current reset source status that has not been cleared by software for a specific source.

This is an example.

uint32_t resetStatus;
// To get all reset source statuses.
resetStatus = RCM_GetStickyResetSources(RCM) & kRCM_SourceAll;
// To test whether the MCU is reset using Watchdog.
// To test multiple reset sources.
Parameters
baseRCM peripheral base address.
Returns
All reset source status bit map.
static void RCM_ClearStickyResetSources ( RCM_Type *  base,
uint32_t  sourceMasks 
)
inlinestatic

This function clears the sticky system reset flags indicated by source masks.

This is an example.

// Clears multiple reset sources.
Parameters
baseRCM peripheral base address.
sourceMasksreset source status bit map
void RCM_ConfigureResetPinFilter ( RCM_Type *  base,
const rcm_reset_pin_filter_config_t config 
)

This function sets the reset pin filter including the filter source, filter width, and so on.

Parameters
baseRCM peripheral base address.
configPointer to the configuration structure.
static rcm_boot_rom_config_t RCM_GetBootRomSource ( RCM_Type *  base)
inlinestatic

This function gets the ROM boot source during the last chip reset.

Parameters
baseRCM peripheral base address.
Returns
The ROM boot source.
static void RCM_ClearBootRomSource ( RCM_Type *  base)
inlinestatic

This function clears the ROM boot source flag.

Parameters
baseRegister base address of RCM
void RCM_SetForceBootRomSource ( RCM_Type *  base,
rcm_boot_rom_config_t  config 
)

This function forces booting from ROM during all subsequent system resets.

Parameters
baseRCM peripheral base address.
configBoot configuration.