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

Overview

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...
 

Enumerations

enum  src_core_name_t {
  kSRC_CM7Core = 0x1U,
  kSRC_CM4Core = 0x2U
}
 System core. More...
 
enum  src_boot_fuse_selection_t {
  kSRC_SerialDownloaderBootFlow = 0U,
  kSRC_NormalBootFlow = 1U
}
 The enumeration of the boot fuse selection. More...
 
enum  src_global_system_reset_source_t {
  kSRC_WdogReset = 0U,
  kSRC_Wdog3Reset = 2U,
  kSRC_Wdog4Reset = 4U,
  kSRC_M4LockUpReset = 6U,
  kSRC_M7LockUpReset = 8U,
  kSRC_M4RequestReset = 10U,
  kSRC_M7RequestReset = 12U,
  kSRC_TempsenseReset = 14U,
  kSRC_CSUReset = 16U,
  kSRC_JageSoftwareReset = 18U,
  kSRC_OverVoltageReset = 20U
}
 The enumeration of global system reset sources. More...
 
enum  _src_global_system_reset_status_flags {
  kSRC_M7CoreIppResetFlag = 1UL << 0UL,
  kSRC_M7CoreM7RequestResetFlag = 1UL << 1UL,
  kSRC_M7CoreM7LockUpResetFlag = 1UL << 2UL,
  kSRC_M7CoreCSUResetFlag = 1UL << 3UL,
  kSRC_M7CoreIppUserResetFlag = 1UL << 4UL,
  kSRC_M7CoreWdogResetFlag = 1UL << 5UL,
  kSRC_M7CoreJtagResetFlag = 1UL << 6UL,
  kSRC_M7CoreJtagSWResetFlag = 1UL << 7UL,
  kSRC_M7CoreWdog3ResetFlag = 1UL << 8UL,
  kSRC_M7CoreWdog4ResetFlag = 1UL << 9UL,
  kSRC_M7CoreTempsenseResetFlag = 1UL << 10UL,
  kSRC_M7CoreM4RequestResetFlag = 1UL << 11UL,
  kSRC_M7CoreM4LockUpResetFlag = 1UL << 12UL,
  kSRC_M7CoreOverVoltageResetFlag = 1UL << 13UL,
  kSRC_M7CoreCdogResetFlag = 1UL << 14UL,
  kSRC_M4CoreIppResetFlag = 1UL << 16UL,
  kSRC_M4CoreM4RequestResetFlag = 1UL << 17UL,
  kSRC_M4CoreM4LockUpResetFlag = 1UL << 18UL,
  kSRC_M4CoreCSUResetFlag = 1UL << 19UL,
  kSRC_M4CoreIppUserResetFlag = 1UL << 20UL,
  kSRC_M4CoreWdogResetFlag = 1UL << 21UL,
  kSRC_M4CoreJtagResetFlag = 1UL << 22UL,
  kSRC_M4CoreJtagSWResetFlag = 1UL << 23UL,
  kSRC_M4CoreWdog3ResetFlag = 1UL << 24UL,
  kSRC_M4CoreWdog4ResetFlag = 1UL << 25UL,
  kSRC_M4CoreTempsenseResetFlag = 1UL << 26UL,
  kSRC_M4CoreM7RequestResetFlag = 1UL << 27UL,
  kSRC_M4CoreM7LockUpResetFlag = 1UL << 28UL,
  kSRC_M4CoreOverVoltageResetFlag = 1UL << 29UL,
  kSRC_M4CoreCdogResetFlag = 1UL << 30UL
}
 The enumeration of reset status flags. More...
 
enum  src_global_system_reset_mode_t {
  kSRC_ResetSystem = 0x0U,
  kSRC_DoNotResetSystem = 0x3U
}
 The enumeration of global system reset mode. More...
 
enum  src_reset_slice_name_t {
  kSRC_MegaSlice = 0x0U,
  kSRC_DisplaySlice = 0x1U,
  kSRC_WakeUpSlice = 0x2U,
  kSRC_LpsrSlice = 0x3U,
  kSRC_M4CoreSlice = 0x4U,
  kSRC_M7CoreSlice = 0x5U,
  kSRC_M4DebugSlice = 0x6U,
  kSRC_M7DebugSlice = 0x7U,
  kSRC_Usbphy1Slice = 0x8U,
  kSRC_Usbphy2Slice = 0x9U
}
 The enumeration of the slice name. More...
 
enum  _src_domain_mode_selection {
  kSRC_Cpu0RunModeAssertReset = 1UL << 0UL,
  kSRC_Cpu0WaitModeAssertReset = 1UL << 1UL,
  kSRC_Cpu0StopModeAssertReset = 1UL << 2UL,
  kSRC_Cpu0SuspendModeAssertReset = 1UL << 3UL,
  kSRC_Cpu1RunModeAssertReset = 1UL << 4UL,
  kSRC_Cpu1WaitModeAssertReset = 1UL << 5UL,
  kSRC_Cpu1StopModeAssertReset = 1UL << 6UL,
  kSRC_Cpu1SuspendModeAssertReset = 1UL << 7UL
}
 The enumeration of the domain mode. More...
 
enum  _src_setpoint_selection {
  kSRC_SetPoint0AssertReset = 1UL << 0UL,
  kSRC_SetPoint1AssertReset = 1UL << 1UL,
  kSRC_SetPoint2AssertReset = 1UL << 2UL,
  kSRC_SetPoint3AssertReset = 1UL << 3UL,
  kSRC_SetPoint4AssertReset = 1UL << 4UL,
  kSRC_SetPoint5AssertReset = 1UL << 5UL,
  kSRC_SetPoint6AssertReset = 1UL << 6UL,
  kSRC_SetPoint7AssertReset = 1UL << 7UL,
  kSRC_SetPoint8AssertReset = 1UL << 8UL,
  kSRC_SetPoint9AssertReset = 1UL << 9UL,
  kSRC_SetPoint10AssertReset = 1UL << 10UL,
  kSRC_SetPoint11AssertReset = 1UL << 11UL,
  kSRC_SetPoint12AssertReset = 1UL << 12UL,
  kSRC_SetPoint13AssertReset = 1UL << 13UL,
  kSRC_SetPoint14AssertReset = 1UL << 14UL,
  kSRC_SetPoint15AssertReset = 1UL << 15UL
}
 The enumeration of setpoint. More...
 
enum  src_general_purpose_register_index_t {
  kSRC_GeneralPurposeRegister1 = 0U,
  kSRC_GeneralPurposeRegister2,
  kSRC_GeneralPurposeRegister3,
  kSRC_GeneralPurposeRegister4,
  kSRC_GeneralPurposeRegister5,
  kSRC_GeneralPurposeRegister6,
  kSRC_GeneralPurposeRegister7,
  kSRC_GeneralPurposeRegister8,
  kSRC_GeneralPurposeRegister9,
  kSRC_GeneralPurposeRegister10,
  kSRC_GeneralPurposeRegister11,
  kSRC_GeneralPurposeRegister12,
  kSRC_GeneralPurposeRegister13,
  kSRC_GeneralPurposeRegister14,
  kSRC_GeneralPurposeRegister15,
  kSRC_GeneralPurposeRegister16,
  kSRC_GeneralPurposeRegister17,
  kSRC_GeneralPurposeRegister18,
  kSRC_GeneralPurposeRegister19,
  kSRC_GeneralPurposeRegister20
}
 The index of each general purpose register. More...
 
enum  _src_slice_reset_source {
  kSRC_SoftwareReset = SRC_SLICE_STAT_RST_BY_SW_MASK,
  kSRC_PowerModeTransferReset = SRC_SLICE_STAT_RST_BY_HW_MASK
}
 The enumeration of the reset source of each slice. More...
 
enum  src_slice_reset_state_t {
  kSRC_SliceResetFinished = 0U,
  kSRC_SliceResetInProcess = 1U
}
 The enumeration of the reset state of each slice. 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...
 

Data Structure Documentation

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...
 

Field Documentation

bool src_setpoint_authentication_t::enableSetpointTranferReset
  • true Slice hardware reset will be triggered by set point transition.
  • false Slice hardware reset will not be trigged by set point transition.
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...
 

Field Documentation

bool src_domain_mode_authentication_t::enableDomainModeTransferReset
  • true Slice hardware reset will be triggered by cpu power mode transition.
  • false Slice hardware reset will not be trigged by cpu power mode transition.
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

Macro Definition Documentation

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

Enumeration Type Documentation

Enumerator
kSRC_CM7Core 

System Core CM4.

kSRC_CM4Core 

System Core CM7.

Enumerator
kSRC_SerialDownloaderBootFlow 

The Boot flow jumps directly to the serial downloader.

kSRC_NormalBootFlow 

The Boot flow follows the Normal Boot flow.

Enumerator
kSRC_WdogReset 

WDOG triggers the global system reset.

kSRC_Wdog3Reset 

WDOG3 triggers the global system reset.

kSRC_Wdog4Reset 

WODG4 triggers the global system reset.

kSRC_M4LockUpReset 

M4 core lockup triggers the global system reset.

kSRC_M7LockUpReset 

M7 core lockup triggers the global system reset.

kSRC_M4RequestReset 

M4 core request triggers the global system reset.

kSRC_M7RequestReset 

M7 core request triggers the global system reset.

kSRC_TempsenseReset 

Tempsense trigggers the global system reset.

kSRC_CSUReset 

CSU triggers the global system reset.

kSRC_JageSoftwareReset 

JATG software triggers the global system reset.

kSRC_OverVoltageReset 

Over voltage triggers the global system reset.

Enumerator
kSRC_M7CoreIppResetFlag 

The M7 Core reset is the result of ipp_reset_b pin.

kSRC_M7CoreM7RequestResetFlag 

The M7 Core reset is the result of M7 core reset request.

kSRC_M7CoreM7LockUpResetFlag 

The M7 Core reset is the result of M7 core lock up.

kSRC_M7CoreCSUResetFlag 

The M7 Core reset is the result of csu_reset_b input.

kSRC_M7CoreIppUserResetFlag 

The M7 Core reset is the result of ipp_user_reset_b qualified reset.

kSRC_M7CoreWdogResetFlag 

The M7 Core reset is the result of the watchdog time-out event.

kSRC_M7CoreJtagResetFlag 

The M7 Core reset is the result of HIGH-Z reset from JTAG.

kSRC_M7CoreJtagSWResetFlag 

The M7 Core reset is the result of software reset from JTAG.

kSRC_M7CoreWdog3ResetFlag 

The M7 Core reset is the result of watchdog3 time-out event.

kSRC_M7CoreWdog4ResetFlag 

The M7 Core reset is the result of watchdog4 time-out event.

kSRC_M7CoreTempsenseResetFlag 

The M7 Core reset is the result of on-chip temperature sensor.

kSRC_M7CoreM4RequestResetFlag 

The M7 Core reset is the result of M4 CPU reset request.

kSRC_M7CoreM4LockUpResetFlag 

The M7 Core reset is the result of M4 CPU lock up.

kSRC_M7CoreOverVoltageResetFlag 

The M7 Core reset is the result of over voltage.

kSRC_M7CoreCdogResetFlag 

The M7 Core reset is the result of Cdog.

kSRC_M4CoreIppResetFlag 

The M4 Core reset is the result of ipp_reset_b pin.

kSRC_M4CoreM4RequestResetFlag 

The M4 Core reset is the result of M4 core reset request.

kSRC_M4CoreM4LockUpResetFlag 

The M4 Core reset is the result of M4 core lock up.

kSRC_M4CoreCSUResetFlag 

The M4 Core reset is the result of csu_reset_b input.

kSRC_M4CoreIppUserResetFlag 

The M4 Core reset is the result of ipp_user_reset_b qualified reset.

kSRC_M4CoreWdogResetFlag 

The M4 Core reset is the result of the watchdog time-out event.

kSRC_M4CoreJtagResetFlag 

The M4 Core reset is the result of HIGH-Z reset from JTAG.

kSRC_M4CoreJtagSWResetFlag 

The M4 Core reset is the result of software reset from JTAG.

kSRC_M4CoreWdog3ResetFlag 

The M4 Core reset is the result of watchdog3 time-out event.

kSRC_M4CoreWdog4ResetFlag 

The M4 Core reset is the result of watchdog4 time-out event.

kSRC_M4CoreTempsenseResetFlag 

The M4 Core reset is the result of on-chip temperature sensor.

kSRC_M4CoreM7RequestResetFlag 

The M4 Core reset is the result of M7 CPU reset request.

kSRC_M4CoreM7LockUpResetFlag 

The M4 Core reset is the result of M7 CPU lock up.

kSRC_M4CoreOverVoltageResetFlag 

The M4 Core reset is the result of over voltage.

kSRC_M4CoreCdogResetFlag 

The M4 Core reset is the result of Cdog.

Enumerator
kSRC_ResetSystem 

Generate the global system reset.

kSRC_DoNotResetSystem 

Do not generate the global system reset.

Enumerator
kSRC_MegaSlice 

Megamix reset slice.

kSRC_DisplaySlice 

Displaymix reset slice.

kSRC_WakeUpSlice 

Wakeupmix reset slice.

kSRC_LpsrSlice 

Lpsrmix reset slice.

kSRC_M4CoreSlice 

M4 core reset slice.

kSRC_M7CoreSlice 

M7 core reset slice.

kSRC_M4DebugSlice 

M4 debug reset slice.

kSRC_M7DebugSlice 

M7 debug reset slice.

kSRC_Usbphy1Slice 

USBPHY1 reset slice.

kSRC_Usbphy2Slice 

USBPHY2 reset slice.

Enumerator
kSRC_Cpu0RunModeAssertReset 

CPU0 in run mode will assert slice reset.

kSRC_Cpu0WaitModeAssertReset 

CPU0 in wait mode will assert reset.

kSRC_Cpu0StopModeAssertReset 

CPU0 in stop mode will assert reset.

kSRC_Cpu0SuspendModeAssertReset 

CPU0 in suspend mode will assert reset.

kSRC_Cpu1RunModeAssertReset 

CPU1 in run mode will assert slice reset.

kSRC_Cpu1WaitModeAssertReset 

CPU1 in wait mode will assert reset.

kSRC_Cpu1StopModeAssertReset 

CPU1 in stop mode will assert reset.

kSRC_Cpu1SuspendModeAssertReset 

CPU1 in suspend mode will assert reset.

Enumerator
kSRC_SetPoint0AssertReset 

In setpoint0 will assert slice reset.

kSRC_SetPoint1AssertReset 

In setpoint1 will assert slice reset.

kSRC_SetPoint2AssertReset 

In setpoint2 will assert slice reset.

kSRC_SetPoint3AssertReset 

In setpoint3 will assert slice reset.

kSRC_SetPoint4AssertReset 

In setpoint4 will assert slice reset.

kSRC_SetPoint5AssertReset 

In setpoint5 will assert slice reset.

kSRC_SetPoint6AssertReset 

In setpoint6 will assert slice reset.

kSRC_SetPoint7AssertReset 

In setpoint7 will assert slice reset.

kSRC_SetPoint8AssertReset 

In setpoint8 will assert slice reset.

kSRC_SetPoint9AssertReset 

In setpoint9 will assert slice reset.

kSRC_SetPoint10AssertReset 

In setpoint10 will assert slice reset.

kSRC_SetPoint11AssertReset 

In setpoint11 will assert slice reset.

kSRC_SetPoint12AssertReset 

In setpoint12 will assert slice reset.

kSRC_SetPoint13AssertReset 

In setpoint13 will assert slice reset.

kSRC_SetPoint14AssertReset 

In setpoint14 will assert slice reset.

kSRC_SetPoint15AssertReset 

In setpoint15 will assert slice reset.

Enumerator
kSRC_GeneralPurposeRegister1 

The index of General Purpose Register1.

kSRC_GeneralPurposeRegister2 

The index of General Purpose Register2.

kSRC_GeneralPurposeRegister3 

The index of General Purpose Register3.

kSRC_GeneralPurposeRegister4 

The index of General Purpose Register4.

kSRC_GeneralPurposeRegister5 

The index of General Purpose Register5.

kSRC_GeneralPurposeRegister6 

The index of General Purpose Register6.

kSRC_GeneralPurposeRegister7 

The index of General Purpose Register7.

kSRC_GeneralPurposeRegister8 

The index of General Purpose Register8.

kSRC_GeneralPurposeRegister9 

The index of General Purpose Register9.

kSRC_GeneralPurposeRegister10 

The index of General Purpose Register10.

kSRC_GeneralPurposeRegister11 

The index of General Purpose Register11.

kSRC_GeneralPurposeRegister12 

The index of General Purpose Register12.

kSRC_GeneralPurposeRegister13 

The index of General Purpose Register13.

kSRC_GeneralPurposeRegister14 

The index of General Purpose Register14.

kSRC_GeneralPurposeRegister15 

The index of General Purpose Register15.

kSRC_GeneralPurposeRegister16 

The index of General Purpose Register16.

kSRC_GeneralPurposeRegister17 

The index of General Purpose Register17.

kSRC_GeneralPurposeRegister18 

The index of General Purpose Register18.

kSRC_GeneralPurposeRegister19 

The index of General Purpose Register19.

kSRC_GeneralPurposeRegister20 

The index of General Purpose Register20.

Enumerator
kSRC_SoftwareReset 

Reset is caused by software setting.

kSRC_PowerModeTransferReset 

Reset is caused by the power mode transfer.

Enumerator
kSRC_SliceResetFinished 

The reset is finished.

kSRC_SliceResetInProcess 

The reset is in process.

Function Documentation

void SRC_ReleaseCoreReset ( SRC_Type *  base,
src_core_name_t  coreName 
)

The core reset will be held until the boot core to release it.

Parameters
baseSRC peripheral base address.
coreNameThe name of the reset core to be released.
static uint32_t SRC_GetBootConfig ( SRC_Type *  base)
inlinestatic
Parameters
baseSRC peripheral base address.
Returns
Boot configuration. Please refer to fusemap.
static uint8_t SRC_GetBootMode ( SRC_Type *  base)
inlinestatic
Parameters
baseSRC peripheral base address.
Returns
Boot mode. Please refer to the Boot mode pin setting section of System Boot.
static src_boot_fuse_selection_t SRC_GetBootFuseSelection ( SRC_Type *  base)
inlinestatic
Parameters
baseSRC peripheral base address.
Returns
The state of the BT_FUSE_SEL fuse, please refer to fusemap for more information.
static uint8_t SRC_GetSECConfigFuseState ( SRC_Type *  base)
inlinestatic
Parameters
baseSRC peripheral base address.
Returns
The state of the SECCONFIG[1] fuse. Please refer to fusemap for more information.
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.

Parameters
baseSRC peripheral base address.
resetSourceThe global system reset source. See src_global_system_reset_source_t for more details.
resetModeThe reset mode of each reset source. See src_global_system_reset_mode_t for more details.
static uint32_t SRC_GetResetStatusFlags ( SRC_Type *  base)
inlinestatic
Parameters
baseSRC peripheral base address.
Returns
The status of global system reset status. See _src_global_system_reset_status_flags for more details.
static void SRC_ClearGlobalSystemResetStatus ( SRC_Type *  base,
uint32_t  mask 
)
inlinestatic
Parameters
baseSRC peripheral base address.
maskThe 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 
)
Note
This function will return as soon as the resset is finished.
Parameters
baseSRC peripheral base address.
sliceNameThe slice to be reset. See src_reset_slice_name_t for more details.
static void SRC_AllowUserModeAccess ( SRC_Type *  base,
src_reset_slice_name_t  sliceName,
bool  enable 
)
inlinestatic
Parameters
baseSRC peripheral base address.
sliceNameThe slice name to set, please refer to src_reset_slice_name_t for details.
enableUsed to control user mode access.
  • true Allow user mode access.
  • false Disallow user mode access.
static void SRC_AllowNonSecureModeAccess ( SRC_Type *  base,
src_reset_slice_name_t  sliceName,
bool  enable 
)
inlinestatic
Parameters
baseSRC peripheral base address.
sliceNameThe slice name to set, please refer to src_reset_slice_name_t for details.
enableUsed to control non secure mode access.
  • true Allow non secure mode access.
  • false Disallow non secure mode access.
static void SRC_LockAccessSetting ( SRC_Type *  base,
src_reset_slice_name_t  sliceName 
)
inlinestatic
Note
Once locked only reset can unlock related settings.
Parameters
baseSRC peripheral base address.
sliceNameThe slice name to set, please refer to src_reset_slice_name_t for details.
static void SRC_SetDomainIdWhiteList ( SRC_Type *  base,
src_reset_slice_name_t  sliceName,
uint8_t  domainId 
)
inlinestatic
Parameters
baseSRC peripheral base address.
sliceNameThe slice name to set, please refer to src_reset_slice_name_t for details.
domainIdThe core to access registers, should be the OR'ed value of src_core_name_t.
static void SRC_LockDomainIdWhiteList ( SRC_Type *  base,
src_reset_slice_name_t  sliceName 
)
inlinestatic
Note
Once locked only reset can unlock related settings.
Parameters
baseSRC peripheral base address.
sliceNameThe slice name to set, please refer to src_reset_slice_name_t for details.
static void SRC_SetAssignList ( SRC_Type *  base,
src_reset_slice_name_t  sliceName,
uint32_t  assignList 
)
inlinestatic
Parameters
baseSRC peripheral base address.
sliceNameThe slice name to set, please refer to src_reset_slice_name_t for details.
assignListCores that subject to corresponding core status transition, should be the OR'ed value of src_core_name_t.
static void SRC_LockAssignList ( SRC_Type *  base,
src_reset_slice_name_t  sliceName 
)
inlinestatic
Note
Once locked only reset can unlock related settings.
Parameters
baseSRC peripheral base address.
sliceNameThe slice name to set, please refer to src_reset_slice_name_t for details.
static void SRC_EnableSetPointTransferReset ( SRC_Type *  base,
src_reset_slice_name_t  sliceName,
bool  enable 
)
inlinestatic
Parameters
baseSRC peripheral base address.
sliceNameThe slice name to set, please refer to src_reset_slice_name_t for details.
enableUser to control setpoint transfer reset.
  • true Enable setpoint transfer reset.
  • false Disable setpoint transfer reset.
static void SRC_EnableDomainModeTransferReset ( SRC_Type *  base,
src_reset_slice_name_t  sliceName,
bool  enable 
)
inlinestatic
Parameters
baseSRC peripheral base address.
sliceNameThe slice name to set, please refer to src_reset_slice_name_t for details.
enableUser to control domain mode reset.
  • true Enable domain mode reset.
  • false Disable domain mode reset.
void SRC_SetSliceSetPointConfig ( SRC_Type *  base,
src_reset_slice_name_t  sliceName,
uint32_t  setpointConfig 
)
Parameters
baseSRC peripheral base address.
sliceNameThe selected reset slice. See src_reset_slice_name_t for more details.
setPointConfigThe 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 
)
Parameters
baseSRC peripheral base address.
sliceNameThe selected reset slice. See src_reset_slice_name_t for more details.
setPointConfigThe logic OR'ed value of _src_domain_mode_selection enumerations.
void SRC_LockSliceMode ( SRC_Type *  base,
src_reset_slice_name_t  sliceName 
)
Parameters
baseSRC peripheral base address.
sliceNameThe selected reset slice. See src_reset_slice_name_t for more details.
static uint32_t SRC_GetSliceResetStatusFlags ( SRC_Type *  base,
src_reset_slice_name_t  sliceName 
)
inlinestatic
Parameters
baseSRC peripheral base address.
sliceNameThe slice to be reset. See src_reset_slice_name_t for more details.
Returns
The reset status flags for the selected slice. Please refer to _src_slice_reset_source for details.
static void SRC_ClearSliceResetStatusFlags ( SRC_Type *  base,
src_reset_slice_name_t  sliceName,
uint32_t  mask 
)
inlinestatic
Parameters
baseSRC peripheral base address.
sliceNameThe selected slice. See src_reset_slice_name_t for more details.
maskThe 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 
)
Parameters
baseSRC peripheral base address.
sliceNameThe selected slice. See src_reset_slice_name_t for more details.
Return values
kSRC_SliceResetInProcessThe reset is in process.
kSRC_SliceResetFinishedThe reset is finished.
static void SRC_SetGeneralPurposeRegister ( SRC_Type *  base,
src_general_purpose_register_index_t  index,
uint32_t  value 
)
inlinestatic
Parameters
baseSRC peripheral base address.
indexThe index of GPRx register array. Please refer to src_general_purpose_register_index_t.
valueSetting value for GPRx register.
static uint32_t SRC_GetGeneralPurposeRegister ( SRC_Type *  base,
src_general_purpose_register_index_t  index 
)
inlinestatic
Parameters
baseSRC peripheral base address.
indexThe index of GPRx register array. Please refer to src_general_purpose_register_index_t.
Returns
The setting value for GPRx register.