MCUXpresso SDK API Reference Manual
Rev. 0
NXP Semiconductors
|
The MCUXpresso SDK provides APIs for MCUXpresso SDK devices' src operation.
The System Reset Controller(SRC) is responsible for generation of all reset signals and the boot argument latching. To get the latched boot arguments, the driver provides "Latched Boot Arguments Related Interfaces" function group, all APIs in this group can be used to get the latched boot arguments. There are four situations cause an certain reset event:
Data Structures | |
struct | src_setpoint_authentication_t |
The structure of setpoint authentication. More... | |
struct | src_domain_mode_authentication_t |
The stucture of domain mode authentication. More... | |
Driver version | |
#define | FSL_SRC_DRIVER_VERSION (MAKE_VERSION(2, 1, 0)) |
SRC driver version 2.1.0. More... | |
Core Reset release | |
void | SRC_ReleaseCoreReset (SRC_Type *base, src_core_name_t coreName) |
Releases related core reset operation. More... | |
Latched Boot Arguments Related Interfaces | |
static uint32_t | SRC_GetBootConfig (SRC_Type *base) |
Gets Boot configuration. More... | |
static uint8_t | SRC_GetBootMode (SRC_Type *base) |
Gets the latched state of the BOOT_MODE1 and BOOT_MODE0 signals. More... | |
static src_boot_fuse_selection_t | SRC_GetBootFuseSelection (SRC_Type *base) |
Gets the state of the BT_FUSE_SEL fuse. More... | |
static uint8_t | SRC_GetSECConfigFuseState (SRC_Type *base) |
Gets the state of the SECCONFIG[1] fuse. More... | |
Global System Related Interfaces | |
void | SRC_SetGlobalSystemResetMode (SRC_Type *base, src_global_system_reset_source_t resetSource, src_global_system_reset_mode_t resetMode) |
Sets the reset mode of global system reset source. More... | |
static uint32_t | SRC_GetResetStatusFlags (SRC_Type *base) |
Gets global system reset status flags. More... | |
static void | SRC_ClearGlobalSystemResetStatus (SRC_Type *base, uint32_t mask) |
Clears the status of global reset. More... | |
Slice Software Reset Related Interfaces | |
void | SRC_AssertSliceSoftwareReset (SRC_Type *base, src_reset_slice_name_t sliceName) |
Asserts software reset for the selected slice. More... | |
Slice Low-Power Mode Transition Related Interfaces | |
static void | SRC_AllowUserModeAccess (SRC_Type *base, src_reset_slice_name_t sliceName, bool enable) |
Allows/disallows user mode access. More... | |
static void | SRC_AllowNonSecureModeAccess (SRC_Type *base, src_reset_slice_name_t sliceName, bool enable) |
Allows/disallows non secure mode access. More... | |
static void | SRC_LockAccessSetting (SRC_Type *base, src_reset_slice_name_t sliceName) |
Locks the setting of user mode access and non secure mode access. More... | |
static void | SRC_SetDomainIdWhiteList (SRC_Type *base, src_reset_slice_name_t sliceName, uint8_t domainId) |
Sets the domain ID white list for the selected slice. More... | |
static void | SRC_LockDomainIdWhiteList (SRC_Type *base, src_reset_slice_name_t sliceName) |
Locks the value of white list. More... | |
static void | SRC_SetAssignList (SRC_Type *base, src_reset_slice_name_t sliceName, uint32_t assignList) |
Sets the value of assign list. More... | |
static void | SRC_LockAssignList (SRC_Type *base, src_reset_slice_name_t sliceName) |
Locks the value of assign list. More... | |
static void | SRC_EnableSetPointTransferReset (SRC_Type *base, src_reset_slice_name_t sliceName, bool enable) |
Enable/disable setpoint transfer reset. More... | |
static void | SRC_EnableDomainModeTransferReset (SRC_Type *base, src_reset_slice_name_t sliceName, bool enable) |
Enable/disable domain mode transfer reset. More... | |
void | SRC_SetSliceSetPointConfig (SRC_Type *base, src_reset_slice_name_t sliceName, uint32_t setpointConfig) |
Sets setpoint configuration for the selected reset slice. More... | |
void | SRC_SetSliceDomainModeConfig (SRC_Type *base, src_reset_slice_name_t sliceName, uint32_t domainConfig) |
Sets domain mode configuration for the selected reset slice. More... | |
void | SRC_LockSliceMode (SRC_Type *base, src_reset_slice_name_t sliceName) |
Locks the value of SETPOINT_MODE and DOMAIN_MODE for the selected reset slice. More... | |
Get/Clear Slice Reset Status Flags | |
static uint32_t | SRC_GetSliceResetStatusFlags (SRC_Type *base, src_reset_slice_name_t sliceName) |
Gets the reset status flags of the selected slice. More... | |
static void | SRC_ClearSliceResetStatusFlags (SRC_Type *base, src_reset_slice_name_t sliceName, uint32_t mask) |
Clears the reset status flags of the selected slice. More... | |
Get Slice Reset State | |
src_slice_reset_state_t | SRC_GetSliceResetState (SRC_Type *base, src_reset_slice_name_t sliceName) |
Gets the reset state of the selected slice. More... | |
General Purpose Registers Related Interfaces | |
static void | SRC_SetGeneralPurposeRegister (SRC_Type *base, src_general_purpose_register_index_t index, uint32_t value) |
Sets value to general purpose registers. More... | |
static uint32_t | SRC_GetGeneralPurposeRegister (SRC_Type *base, src_general_purpose_register_index_t index) |
Gets the value from general purpose registers. More... | |
struct src_setpoint_authentication_t |
Data Fields | |
bool | enableSetpointTranferReset |
Control whether reset slice is in setpoint mode. More... | |
uint32_t | whiteList |
Select the core to access set point control register. More... | |
bool | lockWhiteList |
Control whether lock the value in white list. | |
bool | lockSetting |
Control whether lock the setpoint access setting. More... | |
bool | allowNonSecureModeAccess |
Allow both secure and non-secure modes to config setpoint. More... | |
bool | allowUserModeAccess |
Allow both privilege and user modes to config setpoint. More... | |
bool src_setpoint_authentication_t::enableSetpointTranferReset |
uint32_t src_setpoint_authentication_t::whiteList |
The logic OR'ed value of src_core_name_t enumeration.
bool src_setpoint_authentication_t::lockSetting |
bool src_setpoint_authentication_t::allowNonSecureModeAccess |
bool src_setpoint_authentication_t::allowUserModeAccess |
struct src_domain_mode_authentication_t |
Data Fields | |
bool | enableDomainModeTransferReset |
Control whether reset slice is in domaim mode. More... | |
uint32_t | assignList |
Select the core that reset of slice would be subject to the selected core status transition. More... | |
bool | lockAssignList |
Control whether lock the value in Assign list. More... | |
bool src_domain_mode_authentication_t::enableDomainModeTransferReset |
uint32_t src_domain_mode_authentication_t::assignList |
The logic OR'ed value of src_core_name_t enumeration.
bool src_domain_mode_authentication_t::lockAssignList |
#define FSL_SRC_DRIVER_VERSION (MAKE_VERSION(2, 1, 0)) |
enum src_core_name_t |
void SRC_ReleaseCoreReset | ( | SRC_Type * | base, |
src_core_name_t | coreName | ||
) |
The core reset will be held until the boot core to release it.
base | SRC peripheral base address. |
coreName | The name of the reset core to be released. |
|
inlinestatic |
base | SRC peripheral base address. |
|
inlinestatic |
base | SRC peripheral base address. |
|
inlinestatic |
base | SRC peripheral base address. |
|
inlinestatic |
base | SRC peripheral base address. |
void SRC_SetGlobalSystemResetMode | ( | SRC_Type * | base, |
src_global_system_reset_source_t | resetSource, | ||
src_global_system_reset_mode_t | resetMode | ||
) |
This function sets the selected mode of the input global system reset sources.
base | SRC peripheral base address. |
resetSource | The global system reset source. See src_global_system_reset_source_t for more details. |
resetMode | The reset mode of each reset source. See src_global_system_reset_mode_t for more details. |
|
inlinestatic |
base | SRC peripheral base address. |
|
inlinestatic |
base | SRC peripheral base address. |
mask | The reset status flag to be cleared. See _src_global_system_reset_status_flags for more details. |
void SRC_AssertSliceSoftwareReset | ( | SRC_Type * | base, |
src_reset_slice_name_t | sliceName | ||
) |
base | SRC peripheral base address. |
sliceName | The slice to be reset. See src_reset_slice_name_t for more details. |
|
inlinestatic |
base | SRC peripheral base address. |
sliceName | The slice name to set, please refer to src_reset_slice_name_t for details. |
enable | Used to control user mode access.
|
|
inlinestatic |
base | SRC peripheral base address. |
sliceName | The slice name to set, please refer to src_reset_slice_name_t for details. |
enable | Used to control non secure mode access.
|
|
inlinestatic |
base | SRC peripheral base address. |
sliceName | The slice name to set, please refer to src_reset_slice_name_t for details. |
|
inlinestatic |
base | SRC peripheral base address. |
sliceName | The slice name to set, please refer to src_reset_slice_name_t for details. |
domainId | The core to access registers, should be the OR'ed value of src_core_name_t. |
|
inlinestatic |
base | SRC peripheral base address. |
sliceName | The slice name to set, please refer to src_reset_slice_name_t for details. |
|
inlinestatic |
base | SRC peripheral base address. |
sliceName | The slice name to set, please refer to src_reset_slice_name_t for details. |
assignList | Cores that subject to corresponding core status transition, should be the OR'ed value of src_core_name_t. |
|
inlinestatic |
base | SRC peripheral base address. |
sliceName | The slice name to set, please refer to src_reset_slice_name_t for details. |
|
inlinestatic |
base | SRC peripheral base address. |
sliceName | The slice name to set, please refer to src_reset_slice_name_t for details. |
enable | User to control setpoint transfer reset.
|
|
inlinestatic |
base | SRC peripheral base address. |
sliceName | The slice name to set, please refer to src_reset_slice_name_t for details. |
enable | User to control domain mode reset.
|
void SRC_SetSliceSetPointConfig | ( | SRC_Type * | base, |
src_reset_slice_name_t | sliceName, | ||
uint32_t | setpointConfig | ||
) |
base | SRC peripheral base address. |
sliceName | The selected reset slice. See src_reset_slice_name_t for more details. |
setPointConfig | The logic OR'ed value of _src_setpoint_selection enumeration. When the system in the selected setpoint slice reset will be asserted. |
void SRC_SetSliceDomainModeConfig | ( | SRC_Type * | base, |
src_reset_slice_name_t | sliceName, | ||
uint32_t | domainConfig | ||
) |
base | SRC peripheral base address. |
sliceName | The selected reset slice. See src_reset_slice_name_t for more details. |
setPointConfig | The logic OR'ed value of _src_domain_mode_selection enumerations. |
void SRC_LockSliceMode | ( | SRC_Type * | base, |
src_reset_slice_name_t | sliceName | ||
) |
base | SRC peripheral base address. |
sliceName | The selected reset slice. See src_reset_slice_name_t for more details. |
|
inlinestatic |
base | SRC peripheral base address. |
sliceName | The slice to be reset. See src_reset_slice_name_t for more details. |
|
inlinestatic |
base | SRC peripheral base address. |
sliceName | The selected slice. See src_reset_slice_name_t for more details. |
mask | The reset status flags to be cleared. Please refer to _src_slice_reset_source for more details. |
src_slice_reset_state_t SRC_GetSliceResetState | ( | SRC_Type * | base, |
src_reset_slice_name_t | sliceName | ||
) |
base | SRC peripheral base address. |
sliceName | The selected slice. See src_reset_slice_name_t for more details. |
kSRC_SliceResetInProcess | The reset is in process. |
kSRC_SliceResetFinished | The reset is finished. |
|
inlinestatic |
base | SRC peripheral base address. |
index | The index of GPRx register array. Please refer to src_general_purpose_register_index_t. |
value | Setting value for GPRx register. |
|
inlinestatic |
base | SRC peripheral base address. |
index | The index of GPRx register array. Please refer to src_general_purpose_register_index_t. |