MCUXpresso SDK API Reference Manual  Rev. 0
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
SIM: System Integration Module Driver

Read Guidance

This document consists of sections titled with Driver Overview, Data Structures, Enumerations, Functions, etc., each with an overview list and detailed documentation. It is recommended to read the Driver Overview first for it includes a comprehensive description of the peripheral, driver and driver changes. Other sections give detailed information for APIs, enums, macros, etc., for your further reference.

Driver Overview

 SIM Peripheral and Driver Overview
 Content including 1) peripheral features and work logic; 2) driver design logic.
 
 The Driver Change Log
 The current SIM driver version is 2.0.0.
 

Macros

#define SIM_RESET_STATUS_MASK
 The macro of REST status bit field mask. More...
 
#define SIM_PWR_SR27_CONTROL_MODE_MASK   (SIM_PWR_SR27STDBY_MASK | SIM_PWR_SR27PDN_MASK)
 The definition of the short regulator control mode bit field mask.
 
#define SIM_PWR_SR27_CONTROL_MODE_SHIFT   (2U)
 The definition of the short regulator control mode bit field shift. More...
 
#define SIM_PWR_SR27_CONTROL_MODE(x)   (((uint16_t)(((uint16_t)(x)) << SIM_PWR_SR27_CONTROL_MODE_SHIFT)) & SIM_PWR_SR27_CONTROL_MODE_MASK)
 The macro that can be used to set the bit field of PWR register's short regulator bit field. More...
 
#define SIM_PROT_BIT_FIELD_MASK(moduleName)   ((uint16_t)(3U << (moduleName)))
 The definition of the PORT register bit filed mask. More...
 
#define SIM_PORT_SET_MODE_PROTECTION_MODE(moduleName, protectionMode)   ((uint16_t)(((uint16_t)(protectionMode)) << (moduleName)))
 The macro that can be used to set module's protection mode. More...
 

Enumerations

enum  _sim_reset_status_flags {
  kSIM_PowerONResetFlag = SIM_RSTAT_POR_MASK,
  kSIM_ExternalResetFlag = SIM_RSTAT_EXTR_MASK,
  kSIM_COPLossOfReferenceResetFlag = SIM_RSTAT_COP_LOR_MASK,
  kSIM_COPCPUTimeOutResetFlag = SIM_RSTAT_COP_CPU_MASK,
  kSIM_SofwareResetFlag = SIM_RSTAT_SWR_MASK,
  kSIM_COPWindowTimeOutResetFlag = SIM_RSTAT_COP_WIN_MASK
}
 The enumeration of system reset status flags, such as power on reset, software reset, etc. More...
 
enum  sim_stop_mode_operation_t {
  kSIM_STOPInstrutionEnterStopMode = 0U,
  kSIM_STOPInstrutionNotEnterStopMode,
  kSIM_STOPInstrutionEnterStopModeWriteProtect,
  kSIM_STOPInstructionNotEnterStopModeWriteProtect
}
 The enumeration of stop mode operation can be used to enable/disable stop mode enter. More...
 
enum  sim_wait_mode_operation_t {
  kSIM_WAITInstrutionEnterWaitMode = 0U,
  kSIM_WAITInstrutionNotEnterWaitMode,
  kSIM_WAITInstrutionEnterWaitModeWriteProtect,
  kSIM_WAITInstructionNotEnterWaitModeWriteProtect
}
 The enumeration of wait mode operation can be used to enable/disable wait mode enter. More...
 
enum  sim_onceclk_operation_mode_t {
  kSIM_OnCEClkEnabledWhenCoreTapEnabled = 0U,
  kSIM_OnCEClkAlwaysEnabled = 1U
}
 The enumeration of OnCE clock operation mode, such as enabled when core TAP is enabled and always enabled. More...
 
enum  sim_dma_operation_mode_t {
  kSIM_DMADisable = 0U,
  kSIM_DMAEnableAtRunModeOnly,
  kSIM_DMAEnableAtRunModeWaitMode,
  kSIM_DMAEnableAtAllPowerModes,
  kSIM_DMADisableWriteProtect,
  kSIM_DMAEnableAtRunModeOnlyWriteProtect,
  kSIM_DMAEnableAtRunModeWaitModeWriteProtect,
  kSIM_DMAEnableAtAllPowerModesWriteProtect
}
 The enumeration of dma operation mode, this enumeration can be used to disable/enable DMA module in different power modes. More...
 
enum  sim_boot_mode_t {
  kSIM_BootFromNVMFlash = 0U,
  kSIM_BootFromROM = 1U
}
 The enumeration of device's boot mode, including ROM boot and NVM flash boot. More...
 
enum  sim_small_regulator_1P2V_control_mode_t {
  kSIM_SmallRegulator1P2VInNormalMode = 0U,
  kSIM_SmallRegulator1P2VInStandbyMode,
  kSIM_SmallRegulator1P2VInNormalModeWriteProtect,
  kSIM_SmallRegulator1P2VInStandbyModeWriteProtect
}
 The enumeration of small regualtor 1P2V control mode, such as normal mode and standby mode. More...
 
enum  sim_small_regulator_2P7V_control_mode_t {
  kSIM_SmallRegulator2P7VInNormalMode = 0U,
  kSIM_SmallRegulator2P7VInStandbyMode = 1U,
  kSIM_SmallRegulator2P7VInPowerdownMode = 4U,
  kSIM_SmallRegulator2P7VInNormalModeWriteProtect = 2U,
  kSIM_SmallRegulator2P7VInStandbyModeWriteProtect = 3U,
  kSIM_SmallRegulator2P7VInPowerdownModeWriteProtect = 0xCU
}
 The enumeration of small regulator 2P7V control mode, such as normal mode, standby mode, powerdown mode, etc. More...
 
enum  sim_large_regulator_control_mode_t {
  kSIM_LargeRegulatorInNormalMode = 0U,
  kSIM_LargeRegulatorInStandbyMode,
  kSIM_LargeRegulatorInNormalModeWriteProtect,
  kSIM_LargeRegulatorInStandbyModeWriteProtect
}
 The enumeration of large regulator contorl mode, such as normal mode, standby mode. More...
 
enum  sim_write_protection_module_t {
  kSIM_GPIOInternalPeripheralSelectProtection = 0U,
  kSIM_PeripheralClockEnableProtection = 2U,
  kSIM_GPIOPortDProtection = 4U,
  kSIM_PowerModeControlWriteProtection = 6U
}
 The enumeration of modules that support various protection mode. More...
 
enum  sim_write_protection_mode_t {
  kSIM_WriteProtectionOff = 0U,
  kSIM_WriteProtectionOn = 1U,
  kSIM_WriteProtectionOffAndLocked = 2U,
  kSIM_WriteProtectionOnAndLocked = 3U
}
 The enumeration of write protection mode, such as write protection off, write protection on, etc. More...
 
enum  sim_lpi2c_trigger_selection_t {
  kSIM_Lpi2cSlaveTrigger = 0U,
  kSIM_Lpi2cMasterTrigger
}
 The enumeration of lpi2c trigger selection, including slave trigger and master trigger. More...
 
enum  sim_master_pit_selection_t {
  kSIM_PIT0MasterPIT1Slave = 0U,
  kSIM_PIT1MasterPIT0Slave = 1U
}
 The enumeration of master pit. More...
 

Driver version

#define FSL_SIM_DRIVER_VERSION   (MAKE_VERSION(2, 0, 0))
 SIM driver version. More...
 

Low Power Mode Control Related Interfaces

static void SIM_SetWaitModeOperation (SIM_Type *base, sim_wait_mode_operation_t eOperation)
 Sets the operation of wait mode, enable/disable the entry of wait mode. More...
 
static void SIM_SetStopModeOperation (SIM_Type *base, sim_stop_mode_operation_t eOperation)
 Sets the operation of stop mode, enable/disable the entry of stop mode. More...
 
static void SIM_EnterLPMode (SIM_Type *base)
 Enters into LPMode when the advanced power mode is enabled(register FOPT[1] bit is set). More...
 
static void SIM_ExitLPMode (SIM_Type *base)
 Exits from LPMode when the advanced power mode is enabled(register FOPT[1] bit is set). More...
 
static void SIM_EnterVLPMode (SIM_Type *base)
 Enters into VLPMode when the advanced power mode is enabled(register FOPT[1] bit is set). More...
 
static void SIM_ExitVLPMode (SIM_Type *base)
 Exits from VLPMode when the advanced power mode is enabled(register FOPT[1] bit is set). More...
 
static bool SIM_IsInLPMode (SIM_Type *base)
 Indicates whether the chip is in LPMode when the advanced power mode is enabled(register FOPT[1] bit is set). More...
 
static bool SIM_IsInVLPMode (SIM_Type *base)
 Indicates whether the chip is in VLPMode when the advanced power mode is enabled(register FOPT[1] bit is set). More...
 

Reset Related Interfaces

static void SIM_TriggerSoftWareReset (SIM_Type *base)
 Triggers the software reset for device. More...
 
static uint16_t SIM_GetResetStatusFlags (SIM_Type *base)
 Gets the cause of the most recent reset. More...
 
static void SIM_TriggerPeripheralSoftwareReset (SIM_Type *base, sim_swReset_peri_index_t ePeriIndex)
 Triggers the software reset of specific peripheral. More...
 
static void SIM_EnableResetPadCellInputFilter (SIM_Type *base, bool eEnable)
 Enables/Disables the input filter on external reset padcell. More...
 

Peripheral Signal Muxing Control Interfaces

static void SIM_SetInternalPeriInput (SIM_Type *base, sim_internal_peri_index_t eIndex, sim_internal_peri_input_t eInput)
 Sets internal peripheral inputs, some peripheral inputs have the ability to be connected to either XBAR outputs or GPIO. More...
 
static void SIM_SetXbarInputPWMSelection (SIM_Type *base, sim_xbar_input_pwm_index_t eIndex, sim_xbar_input_pwm_selection_t eSelection)
 Selects the Xbar input from PWMA and PWMB. More...
 
static void SIM_SetXbarInputAdcTmrSelection (SIM_Type *base, sim_xbar_input_adc_tmr_index_t eIndex, sim_xbar_input_adc_tmr_selection_t eSelection)
 Selects the Xbar input from ADC and TMR A/B. More...
 

Voltage Regulators Control Interfaces

static void SIM_SetSmallRegulator1P2VControlMode (SIM_Type *base, sim_small_regulator_1P2V_control_mode_t eControlMode)
 Sets the control mode of small regulator 1.2V supply, the available control modes are normal mode, standby mode, etc. More...
 
static void SIM_SetSmallRegulator2P7VControlMode (SIM_Type *base, sim_small_regulator_2P7V_control_mode_t eControlMode)
 Sets the control mode of small regulator 2.7 supply, the available control modes are normal mode, standby mode, etc. More...
 
static void SIM_SetLargeRegulatorControlMode (SIM_Type *base, sim_large_regulator_control_mode_t eControlMode)
 Sets the control mode of large regulator, the available control mode are normal mode, standby mode, etc. More...
 

Write Protection Interfaces

static void SIM_SetRegisterProtectionMode (SIM_Type *base, sim_write_protection_module_t eModule, sim_write_protection_mode_t eMode)
 Sets the write protection mode of the selected register. More...
 

JTAG ID And Factory Trim Value Interfaces

static uint32_t SIM_GetJTAGID (SIM_Type *base)
 Gets JTAG ID, the JTAG ID is 32bits width. More...
 
static uint8_t SIM_GetPMCBandgapTrim (SIM_Type *base)
 Gets the trim vlaue of the bandgap inside the PMC module, the available range is 0 to 15. More...
 
static uint16_t SIM_Get200KHzROSCFreqTrim (SIM_Type *base)
 Gets the trim value of 200KHz Relaxation Osillator Frequency, the available range is 0 to 511. More...
 

Short Addressing Control Related Interfaces

static void SIM_SetIOShortBaseAddressValue (SIM_Type *base, uint32_t u32IOShortAddressValue)
 Sets the I/O short address location value which specifies the memory referenced through the I/O short address mode. More...
 

Software Control Interfaces

static uint16_t SIM_GetSoftwareControlData (SIM_Type *base, sim_software_contrl_register_index_t eIndex)
 Gets the software control data by the software control register index. More...
 
static void SIM_SetSoftwareControlData (SIM_Type *base, sim_software_contrl_register_index_t eIndex, uint16_t u16Value)
 Sets the software control data by the software contorl register index, the data is for general-purpose use by software. More...
 

Internal Peripheral Extend Control Interfaces

static void SIM_SetOnCEClockOperationMode (SIM_Type *base, sim_onceclk_operation_mode_t eOperationMode)
 Sets the operation mode of the OnCE clock, the available operation modes are always enabled and enabled when the core TAP is enabled. More...
 
static void SIM_SetDMAOperationMode (SIM_Type *base, sim_dma_operation_mode_t eOperationMode)
 Sets the operation mode of DMA, such as disabled, enabled in run mode only, etc. More...
 
static sim_boot_mode_t SIM_GetBootMode (SIM_Type *base)
 Gets the device's boot mode, the available boot modes are ROM boot and NVM flash boot. More...
 
static void SIM_EnableADCScanControlReorder (SIM_Type *base, bool bEnable)
 Enables/Disables the ADC scan control register reorder feature. More...
 
static void SIM_SetMasterPIT (SIM_Type *base, sim_master_pit_selection_t eMasterPit)
 Sets master programmable interval timer. More...
 
static void SIM_SetBootOverRide (SIM_Type *base, sim_boot_override_mode_t eMode)
 Sets the boot over ride mode, this API can be used to determine the boot option in the next reset excluding POR. More...
 

Macro Definition Documentation

#define FSL_SIM_DRIVER_VERSION   (MAKE_VERSION(2, 0, 0))
#define SIM_RESET_STATUS_MASK
Value:
(SIM_RSTAT_COP_WIN_MASK | SIM_RSTAT_SWR_MASK | SIM_RSTAT_COP_CPU_MASK | SIM_RSTAT_COP_LOR_MASK | \
SIM_RSTAT_EXTR_MASK | SIM_RSTAT_POR_MASK)
#define SIM_PWR_SR27_CONTROL_MODE_SHIFT   (2U)
#define SIM_PWR_SR27_CONTROL_MODE (   x)    (((uint16_t)(((uint16_t)(x)) << SIM_PWR_SR27_CONTROL_MODE_SHIFT)) & SIM_PWR_SR27_CONTROL_MODE_MASK)
#define SIM_PROT_BIT_FIELD_MASK (   moduleName)    ((uint16_t)(3U << (moduleName)))
#define SIM_PORT_SET_MODE_PROTECTION_MODE (   moduleName,
  protectionMode 
)    ((uint16_t)(((uint16_t)(protectionMode)) << (moduleName)))

Enumeration Type Documentation

Enumerator
kSIM_PowerONResetFlag 

The Power on reset caused the most recent reset.

kSIM_ExternalResetFlag 

The external reset caused the most recent reset, that means the external reset pin was asserted or remained asserted after the power-on reset de-asserted.

kSIM_COPLossOfReferenceResetFlag 

The computer operating properly module signaled a PLL loss of reference clock reset caused the most recent reset.

kSIM_COPCPUTimeOutResetFlag 

The computer operating properly module signaled a CPU time-out reset caused the most recent reset.

kSIM_SofwareResetFlag 

The previous system reset occurred as a result of a software reset.

kSIM_COPWindowTimeOutResetFlag 

The previous system reset occurred as a result of a cop_window reset.

Enumerator
kSIM_STOPInstrutionEnterStopMode 

Stop mode is entered when the DSC core executes a STOP instruction.

kSIM_STOPInstrutionNotEnterStopMode 

The DSC core STOP instruction does not cause entry into stop mode.

kSIM_STOPInstrutionEnterStopModeWriteProtect 

Stop mode is entered when the DSC core executes a STOP instruction, and the realted register bit field is write protected until the next reset.

kSIM_STOPInstructionNotEnterStopModeWriteProtect 

The DSC core STOP instruction does not cause entry into stop mode, and the related register bit field is write protected until the next reset.

Enumerator
kSIM_WAITInstrutionEnterWaitMode 

Wait mode is entered when the DSC core executes a WAIT instruction.

kSIM_WAITInstrutionNotEnterWaitMode 

The DSC core WAIT instruction does not cause entry into wait mode.

kSIM_WAITInstrutionEnterWaitModeWriteProtect 

Wait mode is entered when the DSC core executes a WAIT instruction, and the realted register bit field is write protected until the next reset.

kSIM_WAITInstructionNotEnterWaitModeWriteProtect 

The DSC core WAIT instruction does not cause entry into wait mode, and the related register bit field is write protected until the next reset.

Enumerator
kSIM_OnCEClkEnabledWhenCoreTapEnabled 

The OnCE clock to the DSC core is enabled when the core TAP is enabled.

kSIM_OnCEClkAlwaysEnabled 

The OnCE clock to the DSC core is always enabled.

Enumerator
kSIM_DMADisable 

DMA module is disabled.

kSIM_DMAEnableAtRunModeOnly 

DMA module is enabled in run mode only.

kSIM_DMAEnableAtRunModeWaitMode 

DMA module is enabled in run and wait modes only.

kSIM_DMAEnableAtAllPowerModes 

DMA module is enabled in all power modes.

kSIM_DMADisableWriteProtect 

DMA module is disabled and the related register bit field is write protected until the next reset.

kSIM_DMAEnableAtRunModeOnlyWriteProtect 

DMA module is enabled in run mode only and the related bit field is write protected until the next reset.

kSIM_DMAEnableAtRunModeWaitModeWriteProtect 

DMA module is enabled in run and wait modes only and the related register bit field is write protected until the next reset.

kSIM_DMAEnableAtAllPowerModesWriteProtect 

DMA module is enabled in all low power modes and the related register bit field is write protected until the next reset.

Enumerator
kSIM_BootFromNVMFlash 

Indicates the chip is boot from NVM Flash.

kSIM_BootFromROM 

Indicates the chip is boot from ROM.

Enumerator
kSIM_SmallRegulator1P2VInNormalMode 

Small regulator 1.2V supply placed in normal mode.

kSIM_SmallRegulator1P2VInStandbyMode 

Small regulator 1.2V supply placed in standby mode.

kSIM_SmallRegulator1P2VInNormalModeWriteProtect 

Small regulator 1.2V supply placed in nomal mode, and the related register bit field is write protected until the next reset.

kSIM_SmallRegulator1P2VInStandbyModeWriteProtect 

Small regulator 1.2V supply placed in standby mode, and the related register bit field is write protected until the next reset.

Enumerator
kSIM_SmallRegulator2P7VInNormalMode 

Small regulator 2.7V supply placed in normal mode.

kSIM_SmallRegulator2P7VInStandbyMode 

Small regulator 2.7V supply placed in standby mode.

kSIM_SmallRegulator2P7VInPowerdownMode 

Small regulator 2.7V supply placed in powerdown mode.

kSIM_SmallRegulator2P7VInNormalModeWriteProtect 

Small regulator 2.7V supply placed in normal mode and the related bit field is write protected until chip reset.

kSIM_SmallRegulator2P7VInStandbyModeWriteProtect 

Small regulator 2.7V supply placed in standby mode and the related bit field is write protected until chip reset.

kSIM_SmallRegulator2P7VInPowerdownModeWriteProtect 

Small regulator placed in powerdown mode and the related bit field is write protected until chip reset.

Enumerator
kSIM_LargeRegulatorInNormalMode 

Large regulator placed in normal mode.

kSIM_LargeRegulatorInStandbyMode 

Large regulator placed in standby mode.

kSIM_LargeRegulatorInNormalModeWriteProtect 

Large regulator placed in normal mode, and the related register bit field is write protected until chip reset.

kSIM_LargeRegulatorInStandbyModeWriteProtect 

Large regulator placed in standby mode, and the related register bit field is write protected until chip reset.

Enumerator
kSIM_GPIOInternalPeripheralSelectProtection 

Used to control the protection mode GPSn and IPSn registers in the SIM, all XBAR, EVTG, GPIOn_PER, GPIOn_PPMODE, GPIOn_DRIVE.

kSIM_PeripheralClockEnableProtection 

Used to control the protection mode of PCEn, SDn, PSWRn, and PCR register.

kSIM_GPIOPortDProtection 

Used to control the protection mode of GPIO_D_PER, GPIO_D_PPMODE, and GPIO_D_DRIVE register.

kSIM_PowerModeControlWriteProtection 

Used to control the protection mode of the PWRMODE register.

Enumerator
kSIM_WriteProtectionOff 

Write protection off.

kSIM_WriteProtectionOn 

Write protection on.

kSIM_WriteProtectionOffAndLocked 

Write protection off and locked until chip reset.

kSIM_WriteProtectionOnAndLocked 

Write protection on and locked until chip reset.

Enumerator
kSIM_Lpi2cSlaveTrigger 

Selects slave trigger.

kSIM_Lpi2cMasterTrigger 

Selects master trigger.

Enumerator
kSIM_PIT0MasterPIT1Slave 

PIT0 is master PIT and PIT1 is slave PIT.

kSIM_PIT1MasterPIT0Slave 

PIT0 is master PIT and PIT1 is slave PIT.

Function Documentation

static void SIM_SetWaitModeOperation ( SIM_Type *  base,
sim_wait_mode_operation_t  eOperation 
)
inlinestatic
Parameters
baseSIM peripheral base address.
eOperationUsed to enable/disable the wait mode, please refer to sim_wait_mode_operation_t.
static void SIM_SetStopModeOperation ( SIM_Type *  base,
sim_stop_mode_operation_t  eOperation 
)
inlinestatic
Parameters
baseSIM peripheral base address.
eOperationUsed to enable/disable the stop mode, please refer to sim_stop_mode_operation_t.
static void SIM_EnterLPMode ( SIM_Type *  base)
inlinestatic
Note
Please make sure the power mode register is not set as write protected before invoking this function.
This function is useful only when the FTFE module's FOPT[0] bit is set(advanced power mode is enabled).
Parameters
baseSIM peripheral base address.
static void SIM_ExitLPMode ( SIM_Type *  base)
inlinestatic
Note
Please make sure the power mode register is not set as write protected before invoking this function.
This function is useful only when the FTFE module's FOPT[0] bit is set(advanced power mode is enabled).
Parameters
baseSIM peripheral base address.
static void SIM_EnterVLPMode ( SIM_Type *  base)
inlinestatic
Note
Please make sure the power mode register is not set as write protected before invoking this function. If both set to enter LPMode and VLPMode, the VLPMode has higher priority.
This function is useful only when the FTFE module's FOPT[0] bit is set(advanced power mode is enabled).
Parameters
baseSIM peripheral base address.
static void SIM_ExitVLPMode ( SIM_Type *  base)
inlinestatic
Note
Please make sure the power mode register is not set as write protected before invoking this function.
This function is useful only when the FTFE module's FOPT[0] bit is set(advanced power mode is enabled).
Parameters
baseSIM peripheral base address.
static bool SIM_IsInLPMode ( SIM_Type *  base)
inlinestatic
Note
This function is useful only when the FTFE module's FOPT[0] bit is set(advanced power mode is enabled).
Parameters
baseSIM peripheral base address.
Return values
trueThe chip is in LPMode.
falseThe chip is not in LPMode.
static bool SIM_IsInVLPMode ( SIM_Type *  base)
inlinestatic
Note
This function is useful only when the FTFE module's FOPT[0] bit is set(advanced power mode is enabled).
Parameters
baseSIM peripheral base address.
Return values
trueThe chip is in VLPMode.
falseThe chip is not in VLPMode.
static void SIM_TriggerSoftWareReset ( SIM_Type *  base)
inlinestatic
Parameters
baseSIM base address.
static uint16_t SIM_GetResetStatusFlags ( SIM_Type *  base)
inlinestatic
Note
At any given time, the only one reset source is indicated. When multiple reset source assert simultaneously, the reset source with the highest precedence is indicated. The precedence from highest to lowest is POR, external reset, COP loss of reference reset, COP CPU time-out reset, software reset, COP window time-out reset. The POR is always set during a power-on reset. However, POR is cleared and the external reset is set if the external reset pin is asserted or remains asserted after the power-on reset has de-asserted.
Parameters
baseSIM peripheral base address.
Returns
The current reset status flags, should be the OR'ed value of _sim_reset_status_flags.
static void SIM_TriggerPeripheralSoftwareReset ( SIM_Type *  base,
sim_swReset_peri_index_t  ePeriIndex 
)
inlinestatic
Parameters
baseSIM peripheral base address.
ePeriIndexThe index of the peripheral to be reset, please refer to sim_swReset_peri_index_t.
static void SIM_EnableResetPadCellInputFilter ( SIM_Type *  base,
bool  eEnable 
)
inlinestatic

If the input filter is enabled, the filter will remove transient signals on the input at the expense of an increased input delay.

Note
If the input filter is enabled, the filter will affect all input functions supported by that padcell, including GPIO.
Parameters
baseSIM peripheral base address.
bEnableUsed to control the behaviour of input filter.
  • true Enable the input filter on external input padcell.
  • false Disable the input filter on external input padcell.
static void SIM_SetInternalPeriInput ( SIM_Type *  base,
sim_internal_peri_index_t  eIndex,
sim_internal_peri_input_t  eInput 
)
inlinestatic
Parameters
baseSIM base address.
eIndexThe internal peripherals that supply multi-inputs, please refer to sim_internal_peri_index_t.
eInputThe specific input that connected to the selected internal peripheral, please refer to sim_internal_peri_input_t.
static void SIM_SetXbarInputPWMSelection ( SIM_Type *  base,
sim_xbar_input_pwm_index_t  eIndex,
sim_xbar_input_pwm_selection_t  eSelection 
)
inlinestatic
Parameters
baseSIM base address.
eIndexSIM PWM select register field index, please refer to sim_xbar_input_pwm_index_t.
eSelectionXbar input pwm selection, please refer to sim_xbar_input_pwm_selection_t.
static void SIM_SetXbarInputAdcTmrSelection ( SIM_Type *  base,
sim_xbar_input_adc_tmr_index_t  eIndex,
sim_xbar_input_adc_tmr_selection_t  eSelection 
)
inlinestatic
Parameters
baseSIM base address.
indexSIM ADC and TMR select register field index, please refer to sim_xbar_input_adc_tmr_index_t.
modeXbar input ADC and TMR selection, please refer to sim_xbar_input_adc_tmr_selection_t.
static void SIM_SetSmallRegulator1P2VControlMode ( SIM_Type *  base,
sim_small_regulator_1P2V_control_mode_t  eControlMode 
)
inlinestatic
Note
This function is useful only when the flash module's FOPT[0] bit is 0.
Parameters
baseSIM peripheral base address.
eControlModeThe control mode to be set, please refer to sim_small_regulator_1P2V_control_mode_t.
static void SIM_SetSmallRegulator2P7VControlMode ( SIM_Type *  base,
sim_small_regulator_2P7V_control_mode_t  eControlMode 
)
inlinestatic
Note
This function is useful only when the flash module's FOPT[0] bit is 0.
Parameters
baseSIM peripheral base address.
eControlModeTHe control mode to be set, please refer to sim_small_regulator_2P7V_control_mode_t.
static void SIM_SetLargeRegulatorControlMode ( SIM_Type *  base,
sim_large_regulator_control_mode_t  eControlMode 
)
inlinestatic
Note
This function is useful only when the flash module's FOPT[0] bit is 0.
Parameters
baseSIM peripheral base address.
eControlModeThe control mode to be set, please refer to sim_large_regulator_control_mode_t.
static void SIM_SetRegisterProtectionMode ( SIM_Type *  base,
sim_write_protection_module_t  eModule,
sim_write_protection_mode_t  eMode 
)
inlinestatic
Parameters
baseSIM peripheral base address.
eModuleThe module to be set, please refer to sim_write_protection_module_t.
eModeThe specific write protection mode to be set, please refer to sim_write_protection_mode_t.
static uint32_t SIM_GetJTAGID ( SIM_Type *  base)
inlinestatic
Parameters
baseSIM base address.
Returns
The 32bits width JTAG ID.
static uint8_t SIM_GetPMCBandgapTrim ( SIM_Type *  base)
inlinestatic
Parameters
baseSIM peripheral base address.
Returns
The trim value of PMC's bandgap, ranges from 0 to 15.
static uint16_t SIM_Get200KHzROSCFreqTrim ( SIM_Type *  base)
inlinestatic
Parameters
baseSIM peripheral base address.
Returns
The trim value of 200 khz Relaxation Oscillator frequency, ranges from 0 to 511.
static void SIM_SetIOShortBaseAddressValue ( SIM_Type *  base,
uint32_t  u32IOShortAddressValue 
)
inlinestatic

The I/O short address mode allows the instrution to specify the lower 6 bits of the address. And the upper 18 bits of the address can be controlled by invoking this function.

Note
The pipeline delay between setting the related register set and using short I/O addrssing with the new value is five cycles.
Parameters
baseSIM base address.
u32IOShortAddressValueThe value of I/O short address location, this address value should be 24 bits width.
static uint16_t SIM_GetSoftwareControlData ( SIM_Type *  base,
sim_software_contrl_register_index_t  eIndex 
)
inlinestatic
Parameters
baseSIM base address.
eIndexSIM software control register index.
Returns
Software control registers value.
static void SIM_SetSoftwareControlData ( SIM_Type *  base,
sim_software_contrl_register_index_t  eIndex,
uint16_t  u16Value 
)
inlinestatic
Parameters
baseSIM base address.
eIndexSIM software control register index.
u16ValueSoftware control registers value.
static void SIM_SetOnCEClockOperationMode ( SIM_Type *  base,
sim_onceclk_operation_mode_t  eOperationMode 
)
inlinestatic
Parameters
baseSIM peripheral base address.
eOperationModeThe operation mode of OnCE clock, please refer to sim_onceclk_operation_mode_t.
static void SIM_SetDMAOperationMode ( SIM_Type *  base,
sim_dma_operation_mode_t  eOperationMode 
)
inlinestatic
Parameters
baseSIM peripheral base address.
eOperationModeThe operation mode to be set, please refer to sim_dma_operation_mode_t.
static sim_boot_mode_t SIM_GetBootMode ( SIM_Type *  base)
inlinestatic
Parameters
baseSIM peripheral base address.
Returns
The device's boot mode, please refer to sim_boot_mode_t.
static void SIM_EnableADCScanControlReorder ( SIM_Type *  base,
bool  bEnable 
)
inlinestatic
Parameters
baseSIM peripheral base address.
bEnableUsed to control the ADC scan control register reorder feature.
  • true Enable the re-ordering of ADC scan control bits.
  • false ADC scan control register works in normal order.
static void SIM_SetMasterPIT ( SIM_Type *  base,
sim_master_pit_selection_t  eMasterPit 
)
inlinestatic
Parameters
baseSIM peripheral base address.
eMasterPitThe master PIT to be selected, please refer to sim_master_pit_selection_t.
static void SIM_SetBootOverRide ( SIM_Type *  base,
sim_boot_override_mode_t  eMode 
)
inlinestatic
Parameters
baseSIM peripheral base address.
eModeTHe boot over ride mode, please refer to sim_boot_override_mode_t.