Kinetis SDK v.1.3 API Reference Manual  Rev. 0
Freescale Semiconductor, Inc.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
fsl_sim_hal_MK21FA12.h File Reference

Macros

#define FSL_SIM_SCGC_BIT(SCGCx, n)   (((SCGCx-1U)<<5U) + n)
 SIM SCGC bit index. More...
 

Enumerations

enum  clock_wdog_src_k21fa12_t {
  kClockWdogSrcLpoClk,
  kClockWdogSrcAltClk
}
 WDOG clock source select. More...
 
enum  clock_trace_src_k21fa12_t {
  kClockTraceSrcMcgoutClk,
  kClockTraceSrcCoreClk
}
 Debug trace clock source select. More...
 
enum  clock_port_filter_src_k21fa12_t {
  kClockPortFilterSrcBusClk,
  kClockPortFilterSrcLpoClk
}
 PORTx digital input filter clock source select. More...
 
enum  clock_lptmr_src_k21fa12_t {
  kClockLptmrSrcMcgIrClk,
  kClockLptmrSrcLpoClk,
  kClockLptmrSrcEr32kClk,
  kClockLptmrSrcOsc0erClk
}
 LPTMR clock source select. More...
 
enum  clock_usbfs_src_k21fa12_t {
  kClockUsbfsSrcExt,
  kClockUsbfsSrcPllFllSel
}
 SIM USB FS clock source. More...
 
enum  clock_flexcan_src_k21fa12_t {
  kClockFlexcanSrcOsc0erClk,
  kClockFlexcanSrcBusClk
}
 FLEXCAN clock source select. More...
 
enum  clock_sdhc_src_k21fa12_t {
  kClockSdhcSrcCoreSysClk,
  kClockSdhcSrcPllFllSel,
  kClockSdhcSrcOsc0erClk,
  kClockSdhcSrcExt
}
 SDHC clock source. More...
 
enum  clock_sai_src_k21fa12_t {
  kClockSaiSrcSysClk = 0U,
  kClockSaiSrcOsc0erClk = 1U,
  kClockSaiSrcPllClk = 3U
}
 SAI clock source. More...
 
enum  clock_pllfll_sel_k21fa12_t {
  kClockPllFllSelFll = 0U,
  kClockPllFllSelPll = 1U,
  kClockPllFllSelIrc48M = 3U
}
 SIM PLLFLLSEL clock source select. More...
 
enum  clock_er32k_src_k21fa12_t {
  kClockEr32kSrcOsc0 = 0U,
  kClockEr32kSrcRtc = 2U,
  kClockEr32kSrcLpo = 3U
}
 SIM external reference clock source select (OSC32KSEL). More...
 
enum  clock_clkout_src_k21fa12_t {
  kClockClkoutSelFlexbusClk = 0U,
  kClockClkoutSelFlashClk = 2U,
  kClockClkoutSelLpoClk = 3U,
  kClockClkoutSelMcgIrClk = 4U,
  kClockClkoutSelRtc = 5U,
  kClockClkoutSelOsc0erClk = 6U,
  kClockClkoutSelIrc48M = 7U
}
 SIM CLKOUT_SEL clock source select. More...
 
enum  clock_rtcout_src_k21fa12_t {
  kClockRtcoutSrc1Hz,
  kClockRtcoutSrc32kHz
}
 SIM RTCCLKOUTSEL clock source select. More...
 
enum  sim_usbsstby_mode_k21fa12_t {
  kSimUsbsstbyNoRegulator,
  kSimUsbsstbyWithRegulator
}
 SIM USB voltage regulator in standby mode setting during stop modes. More...
 
enum  sim_usbvstby_mode_k21fa12_t {
  kSimUsbvstbyNoRegulator,
  kSimUsbvstbyWithRegulator
}
 SIM USB voltage regulator in standby mode setting during VLPR and VLPW modes. More...
 
enum  sim_adc_pretrg_sel_k21fa12_t {
  kSimAdcPretrgselA,
  kSimAdcPretrgselB
}
 SIM ADCx pre-trigger select. More...
 
enum  sim_adc_trg_sel_k21fa12_t {
  kSimAdcTrgselExt = 0U,
  kSimAdcTrgSelHighSpeedComp0 = 1U,
  kSimAdcTrgSelHighSpeedComp1 = 2U,
  kSimAdcTrgSelHighSpeedComp2 = 3U,
  kSimAdcTrgSelPit0 = 4U,
  kSimAdcTrgSelPit1 = 5U,
  kSimAdcTrgSelPit2 = 6U,
  kSimAdcTrgSelPit3 = 7U,
  kSimAdcTrgSelFtm0 = 8U,
  kSimAdcTrgSelFtm1 = 9U,
  kSimAdcTrgSelFtm2 = 10U,
  kSimAdcTrgSelFtm3 = 11U,
  kSimAdcTrgSelRtcAlarm = 12U,
  kSimAdcTrgSelRtcSec = 13U,
  kSimAdcTrgSelLptimer = 14U
}
 SIM ADCx trigger select. More...
 
enum  sim_uart_rxsrc_k21fa12_t {
  kSimUartRxsrcPin,
  kSimUartRxsrcCmp0,
  kSimUartRxsrcCmp1
}
 SIM UART receive data source select. More...
 
enum  sim_uart_txsrc_k21fa12_t {
  kSimUartTxsrcPin,
  kSimUartTxsrcFtm1,
  kSimUartTxsrcFtm2
}
 SIM UART transmit data source select. More...
 
enum  sim_ftm_trg_src_k21fa12_t {
  kSimFtmTrgSrc0,
  kSimFtmTrgSrc1
}
 SIM FlexTimer x trigger y select. More...
 
enum  sim_ftm_clk_sel_k21fa12_t {
  kSimFtmClkSel0,
  kSimFtmClkSel1
}
 SIM FlexTimer external clock select. More...
 
enum  sim_ftm_ch_src_k21fa12_t {
  kSimFtmChSrc0,
  kSimFtmChSrc1,
  kSimFtmChSrc2,
  kSimFtmChSrc3
}
 SIM FlexTimer x channel y input capture source select. More...
 
enum  sim_ftm_flt_sel_k21fa12_t {
  kSimFtmFltSel0,
  kSimFtmFltSel1
}
 SIM FlexTimer x Fault y select. More...
 
enum  sim_tpm_clk_sel_k21fa12_t {
  kSimTpmClkSel0,
  kSimTpmClkSel1
}
 SIM Timer/PWM external clock select. More...
 
enum  sim_tpm_ch_src_k21fa12_t {
  kSimTpmChSrc0,
  kSimTpmChSrc1,
  kSimTpmChSrc2,
  kSimTpmChSrc3
}
 SIM Timer/PWM x channel y input capture source select. More...
 
enum  sim_cmtuartpad_strengh_k21fa12_t {
  kSimCmtuartSinglePad,
  kSimCmtuartDualPad
}
 SIM CMT/UART pad drive strength. More...
 
enum  sim_ptd7pad_strengh_k21fa12_t {
  kSimPtd7padSinglePad,
  kSimPtd7padDualPad
}
 SIM PTD7 pad drive strength. More...
 
enum  sim_flexbus_security_level_k21fa12_t {
  kSimFbslLevel0,
  kSimFbslLevel1,
  kSimFbslLevel2,
  kSimFbslLevel3
}
 SIM FlexBus security level. More...
 
enum  sim_clock_gate_name_k21fa12_t {
  kSimClockGateI2c2 = FSL_SIM_SCGC_BIT(1U, 6U),
  kSimClockGateUart4 = FSL_SIM_SCGC_BIT(1U, 10U),
  kSimClockGateUart5 = FSL_SIM_SCGC_BIT(1U, 11U),
  kSimClockGateDac0 = FSL_SIM_SCGC_BIT(2U, 12U),
  kSimClockGateDac1 = FSL_SIM_SCGC_BIT(2U, 13U),
  kSimClockGateSpi2 = FSL_SIM_SCGC_BIT(3U, 12U),
  kSimClockGateSdhc0 = FSL_SIM_SCGC_BIT(3U, 17U),
  kSimClockGateFtm3 = FSL_SIM_SCGC_BIT(3U, 25U),
  kSimClockGateAdc1 = FSL_SIM_SCGC_BIT(3U, 27U),
  kSimClockGateEwm0 = FSL_SIM_SCGC_BIT(4U, 1U),
  kSimClockGateCmt0 = FSL_SIM_SCGC_BIT(4U, 2U),
  kSimClockGateI2c0 = FSL_SIM_SCGC_BIT(4U, 6U),
  kSimClockGateI2c1 = FSL_SIM_SCGC_BIT(4U, 7U),
  kSimClockGateUart0 = FSL_SIM_SCGC_BIT(4U, 10U),
  kSimClockGateUart1 = FSL_SIM_SCGC_BIT(4U, 11U),
  kSimClockGateUart2 = FSL_SIM_SCGC_BIT(4U, 12U),
  kSimClockGateUart3 = FSL_SIM_SCGC_BIT(4U, 13U),
  kSimClockGateUsbfs0 = FSL_SIM_SCGC_BIT(4U, 18U),
  kSimClockGateCmp = FSL_SIM_SCGC_BIT(4U, 19U),
  kSimClockGateVref0 = FSL_SIM_SCGC_BIT(4U, 20U),
  kSimClockGateLptmr0 = FSL_SIM_SCGC_BIT(5U, 0U),
  kSimClockGatePortA = FSL_SIM_SCGC_BIT(5U, 9U),
  kSimClockGatePortB = FSL_SIM_SCGC_BIT(5U, 10U),
  kSimClockGatePortC = FSL_SIM_SCGC_BIT(5U, 11U),
  kSimClockGatePortD = FSL_SIM_SCGC_BIT(5U, 12U),
  kSimClockGatePortE = FSL_SIM_SCGC_BIT(5U, 13U),
  kSimClockGateFtf0 = FSL_SIM_SCGC_BIT(6U, 0U),
  kSimClockGateDmamux0 = FSL_SIM_SCGC_BIT(6U, 1U),
  kSimClockGateFlexcan0 = FSL_SIM_SCGC_BIT(6U, 4U),
  kSimClockGateRnga0 = FSL_SIM_SCGC_BIT(6U, 9U),
  kSimClockGateSpi0 = FSL_SIM_SCGC_BIT(6U, 12U),
  kSimClockGateSpi1 = FSL_SIM_SCGC_BIT(6U, 13U),
  kSimClockGateSai0 = FSL_SIM_SCGC_BIT(6U, 15U),
  kSimClockGateCrc0 = FSL_SIM_SCGC_BIT(6U, 18U),
  kSimClockGateUsbdcd0 = FSL_SIM_SCGC_BIT(6U, 21U),
  kSimClockGatePdb0 = FSL_SIM_SCGC_BIT(6U, 22U),
  kSimClockGatePit0 = FSL_SIM_SCGC_BIT(6U, 23U),
  kSimClockGateFtm0 = FSL_SIM_SCGC_BIT(6U, 24U),
  kSimClockGateFtm1 = FSL_SIM_SCGC_BIT(6U, 25U),
  kSimClockGateFtm2 = FSL_SIM_SCGC_BIT(3U, 24U),
  kSimClockGateAdc0 = FSL_SIM_SCGC_BIT(6U, 27U),
  kSimClockGateRtc0 = FSL_SIM_SCGC_BIT(6U, 29U),
  kSimClockGateFlexbus0 = FSL_SIM_SCGC_BIT(7U, 0U),
  kSimClockGateDma0 = FSL_SIM_SCGC_BIT(7U, 1U),
  kSimClockGateMpu0 = FSL_SIM_SCGC_BIT(7U, 2U)
}
 Clock gate name used for SIM_HAL_EnableClock/SIM_HAL_DisableClock. More...
 

Functions

static void SIM_HAL_EnableClock (SIM_Type *base, sim_clock_gate_name_t name)
 Enable the clock for specific module. More...
 
static void SIM_HAL_DisableClock (SIM_Type *base, sim_clock_gate_name_t name)
 Disable the clock for specific module. More...
 
static bool SIM_HAL_GetGateCmd (SIM_Type *base, sim_clock_gate_name_t name)
 Get the the clock gate state for specific module. More...
 
static void CLOCK_HAL_SetSdhcSrc (SIM_Type *base, uint32_t instance, clock_sdhc_src_t setting)
 Set the SDHC clock source selection. More...
 
static clock_sdhc_src_t CLOCK_HAL_GetSdhcSrc (SIM_Type *base, uint32_t instance)
 Get the SDHC clock source selection. More...
 
static void CLOCK_HAL_SetUsbfsSrc (SIM_Type *base, uint32_t instance, clock_usbfs_src_t setting)
 Set the selection of the clock source for the USB FS 48 MHz clock. More...
 
static clock_usbfs_src_t CLOCK_HAL_GetUsbfsSrc (SIM_Type *base, uint32_t instance)
 Get the selection of the clock source for the USB FS 48 MHz clock. More...
 
void CLOCK_HAL_SetUsbfsDiv (SIM_Type *base, uint8_t usbdiv, uint8_t usbfrac)
 Set USB FS divider setting. More...
 
void CLOCK_HAL_GetUsbfsDiv (SIM_Type *base, uint8_t *usbdiv, uint8_t *usbfrac)
 Get USB FS divider setting. More...
 
static void CLOCK_HAL_SetTraceClkSrc (SIM_Type *base, clock_trace_src_t setting)
 Set debug trace clock selection. More...
 
static clock_trace_src_t CLOCK_HAL_GetTraceClkSrc (SIM_Type *base)
 Get debug trace clock selection. More...
 
static void CLOCK_HAL_SetExternalRefClock32kSrc (SIM_Type *base, clock_er32k_src_t setting)
 Set the clock selection of ERCLK32K. More...
 
static clock_er32k_src_t CLOCK_HAL_GetExternalRefClock32kSrc (SIM_Type *base)
 Get the clock selection of ERCLK32K. More...
 
static void CLOCK_HAL_SetPllfllSel (SIM_Type *base, clock_pllfll_sel_t setting)
 Set PLL/FLL clock selection. More...
 
static clock_pllfll_sel_t CLOCK_HAL_GetPllfllSel (SIM_Type *base)
 Get PLL/FLL clock selection. More...
 
static void CLOCK_HAL_SetClkOutSel (SIM_Type *base, clock_clkout_src_t setting)
 Set CLKOUTSEL selection. More...
 
static clock_clkout_src_t CLOCK_HAL_GetClkOutSel (SIM_Type *base)
 Get CLKOUTSEL selection. More...
 
static void CLOCK_HAL_SetRtcClkOutSel (SIM_Type *base, clock_rtcout_src_t setting)
 Set RTCCLKOUTSEL selection. More...
 
static clock_rtcout_src_t CLOCK_HAL_GetRtcClkOutSel (SIM_Type *base)
 Get RTCCLKOUTSEL selection. More...
 
static void CLOCK_HAL_SetOutDiv1 (SIM_Type *base, uint8_t setting)
 Set OUTDIV1. More...
 
static uint8_t CLOCK_HAL_GetOutDiv1 (SIM_Type *base)
 Get OUTDIV1. More...
 
static void CLOCK_HAL_SetOutDiv2 (SIM_Type *base, uint8_t setting)
 Set OUTDIV2. More...
 
static uint8_t CLOCK_HAL_GetOutDiv2 (SIM_Type *base)
 Get OUTDIV2. More...
 
static void CLOCK_HAL_SetOutDiv3 (SIM_Type *base, uint8_t setting)
 Set OUTDIV3. More...
 
static uint8_t CLOCK_HAL_GetOutDiv3 (SIM_Type *base)
 Get OUTDIV3. More...
 
static void CLOCK_HAL_SetOutDiv4 (SIM_Type *base, uint8_t setting)
 Set OUTDIV4. More...
 
static uint8_t CLOCK_HAL_GetOutDiv4 (SIM_Type *base)
 Get OUTDIV4. More...
 
static uint32_t SIM_HAL_GetRamSize (SIM_Type *base)
 Gets RAM size. More...
 
static void SIM_HAL_SetUsbVoltRegulatorCmd (SIM_Type *base, bool enable)
 Sets the USB voltage regulator enabled setting. More...
 
static bool SIM_HAL_GetUsbVoltRegulatorCmd (SIM_Type *base)
 Gets the USB voltage regulator enabled setting. More...
 
static void SIM_HAL_SetUsbVoltRegulatorInStdbyDuringStopMode (SIM_Type *base, sim_usbsstby_mode_t setting)
 Sets the USB voltage regulator in a standby mode setting during Stop, VLPS, LLS, and VLLS. More...
 
static sim_usbsstby_mode_t SIM_HAL_GetUsbVoltRegulatorInStdbyDuringStopMode (SIM_Type *base)
 Gets the USB voltage regulator in a standby mode setting. More...
 
static void SIM_HAL_SetUsbVoltRegulatorInStdbyDuringVlprwMode (SIM_Type *base, sim_usbvstby_mode_t setting)
 Sets the USB voltage regulator in a standby mode during the VLPR or the VLPW. More...
 
static sim_usbvstby_mode_t SIM_HAL_GetUsbVoltRegulatorInStdbyDuringVlprwMode (SIM_Type *base)
 Gets the USB voltage regulator in a standby mode during the VLPR or the VLPW. More...
 
static void SIM_HAL_SetUsbVoltRegulatorInStdbyDuringStopCmd (SIM_Type *base, bool enable)
 Sets the USB voltage regulator stop standby write enable setting. More...
 
static bool SIM_HAL_GetUsbVoltRegulatorInStdbyDuringStopCmd (SIM_Type *base)
 Gets the USB voltage regulator stop standby write enable setting. More...
 
static void SIM_HAL_SetUsbVoltRegulatorInStdbyDuringVlprwCmd (SIM_Type *base, bool enable)
 Sets the USB voltage regulator VLP standby write enable setting. More...
 
static bool SIM_HAL_GetUsbVoltRegulatorInStdbyDuringVlprwCmd (SIM_Type *base)
 Gets the USB voltage regulator VLP standby write enable setting. More...
 
static void SIM_HAL_SetUsbVoltRegulatorWriteCmd (SIM_Type *base, bool enable)
 Sets the USB voltage regulator enable write enable setting. More...
 
static bool SIM_HAL_GetUsbVoltRegulatorWriteCmd (SIM_Type *base)
 Gets the USB voltage regulator enable write enable setting. More...
 
static void SIM_HAL_SetPtd7PadDriveStrengthMode (SIM_Type *base, sim_ptd7pad_strengh_t setting)
 Sets the PTD7 pad drive strength setting. More...
 
static sim_ptd7pad_strengh_t SIM_HAL_GetPtd7PadDriveStrengthMode (SIM_Type *base)
 Gets the PTD7 pad drive strength setting. More...
 
static void SIM_HAL_SetFlexbusSecurityLevelMode (SIM_Type *base, sim_flexbus_security_level_t setting)
 Sets the FlexBus security level setting. More...
 
static sim_flexbus_security_level_t SIM_HAL_GetFlexbusSecurityLevelMode (SIM_Type *base)
 Gets the FlexBus security level setting. More...
 
void SIM_HAL_SetFtmTriggerSrcMode (SIM_Type *base, uint32_t instance, uint8_t trigger, sim_ftm_trg_src_t select)
 Sets the FlexTimer x hardware trigger y source select setting. More...
 
sim_ftm_trg_src_t SIM_HAL_GetFtmTriggerSrcMode (SIM_Type *base, uint32_t instance, uint8_t trigger)
 Gets the FlexTimer x hardware trigger y source select setting. More...
 
void SIM_HAL_SetFtmExternalClkPinMode (SIM_Type *base, uint32_t instance, sim_ftm_clk_sel_t select)
 Sets the FlexTimer x external clock pin select setting. More...
 
sim_ftm_clk_sel_t SIM_HAL_GetFtmExternalClkPinMode (SIM_Type *base, uint32_t instance)
 Gets the FlexTimer x external clock pin select setting. More...
 
void SIM_HAL_SetFtmChSrcMode (SIM_Type *base, uint32_t instance, uint8_t channel, sim_ftm_ch_src_t select)
 Sets the FlexTimer x channel y input capture source select setting. More...
 
sim_ftm_ch_src_t SIM_HAL_GetFtmChSrcMode (SIM_Type *base, uint32_t instance, uint8_t channel)
 Gets the FlexTimer x channel y input capture source select setting. More...
 
void SIM_HAL_SetFtmFaultSelMode (SIM_Type *base, uint32_t instance, uint8_t fault, sim_ftm_flt_sel_t select)
 Sets the FlexTimer x fault y select setting. More...
 
sim_ftm_flt_sel_t SIM_HAL_GetFtmFaultSelMode (SIM_Type *base, uint32_t instance, uint8_t fault)
 Gets the FlexTimer x fault y select setting. More...
 
static uint32_t SIM_HAL_GetFamId (SIM_Type *base)
 Gets the Kinetis Fam ID in System Device ID register (SIM_SDID). More...
 
static uint32_t SIM_HAL_GetPinCntId (SIM_Type *base)
 Gets the Kinetis Pincount ID in System Device ID register (SIM_SDID). More...
 
static uint32_t SIM_HAL_GetRevId (SIM_Type *base)
 Gets the Kinetis Revision ID in the System Device ID register (SIM_SDID). More...
 
static uint32_t SIM_HAL_GetDieId (SIM_Type *base)
 Gets the Kinetis Die ID in the System Device ID register (SIM_SDID). More...
 
static uint32_t SIM_HAL_GetFlexnvmSize (SIM_Type *base)
 Gets the FlexNVM size in the Flash Configuration Register 1 (SIM_FCFG). More...
 
static uint32_t SIM_HAL_GetProgramFlashSize (SIM_Type *base)
 Gets the program flash size in the Flash Configuration Register 1 (SIM_FCFG). More...
 
static uint32_t SIM_HAL_GetEepromSize (SIM_Type *base)
 Gets the EEProm size in the Flash Configuration Register 1 (SIM_FCFG). More...
 
static uint32_t SIM_HAL_GetFlexnvmPartition (SIM_Type *base)
 Gets the FlexNVM partition in the Flash Configuration Register 1 (SIM_FCFG). More...
 
static void SIM_HAL_SetFlashDoze (SIM_Type *base, uint32_t setting)
 Sets the Flash Doze in the Flash Configuration Register 1 (SIM_FCFG). More...
 
static uint32_t SIM_HAL_GetFlashDoze (SIM_Type *base)
 Gets the Flash Doze in the Flash Configuration Register 1 (SIM_FCFG). More...
 
static void SIM_HAL_SetFlashDisableCmd (SIM_Type *base, bool disable)
 Sets the Flash disable setting. More...
 
static bool SIM_HAL_GetFlashDisableCmd (SIM_Type *base)
 Gets the Flash disable setting. More...
 
static uint32_t SIM_HAL_GetFlashMaxAddrBlock0 (SIM_Type *base)
 Gets the Flash maximum address block 0 in the Flash Configuration Register 1 (SIM_FCFG). More...
 
static uint32_t SIM_HAL_GetFlashMaxAddrBlock1 (SIM_Type *base)
 Gets the Flash maximum address block 1 in Flash Configuration Register 2. More...
 
static uint32_t SIM_HAL_GetProgramFlashCmd (SIM_Type *base)
 Gets the program flash in the Flash Configuration Register 2. More...
 
IP related clock feature APIs
void CLOCK_HAL_SetOutDiv (SIM_Type *base, uint8_t outdiv1, uint8_t outdiv2, uint8_t outdiv3, uint8_t outdiv4)
 Sets the clock out dividers setting. More...
 
void CLOCK_HAL_GetOutDiv (SIM_Type *base, uint8_t *outdiv1, uint8_t *outdiv2, uint8_t *outdiv3, uint8_t *outdiv4)
 Gets the clock out dividers setting. More...
 
void SIM_HAL_SetAdcAlternativeTriggerCmd (SIM_Type *base, uint32_t instance, bool enable)
 Sets the ADCx alternate trigger enable setting. More...
 
bool SIM_HAL_GetAdcAlternativeTriggerCmd (SIM_Type *base, uint32_t instance)
 Gets the ADCx alternate trigger enable setting. More...
 
void SIM_HAL_SetAdcPreTriggerMode (SIM_Type *base, uint32_t instance, sim_adc_pretrg_sel_t select)
 Sets the ADCx pre-trigger select setting. More...
 
sim_adc_pretrg_sel_t SIM_HAL_GetAdcPreTriggerMode (SIM_Type *base, uint32_t instance)
 Gets the ADCx pre-trigger select setting. More...
 
void SIM_HAL_SetAdcTriggerMode (SIM_Type *base, uint32_t instance, sim_adc_trg_sel_t select)
 Sets the ADCx trigger select setting. More...
 
sim_adc_trg_sel_t SIM_HAL_GetAdcTriggerMode (SIM_Type *base, uint32_t instance)
 Gets the ADCx trigger select setting. More...
 
void SIM_HAL_SetAdcTriggerModeOneStep (SIM_Type *base, uint32_t instance, bool altTrigEn, sim_adc_pretrg_sel_t preTrigSel, sim_adc_trg_sel_t trigSel)
 Sets the ADCx trigger select setting in one function. More...
 
void SIM_HAL_SetUartRxSrcMode (SIM_Type *base, uint32_t instance, sim_uart_rxsrc_t select)
 Sets the UARTx receive data source select setting. More...
 
sim_uart_rxsrc_t SIM_HAL_GetUartRxSrcMode (SIM_Type *base, uint32_t instance)
 Gets the UARTx receive data source select setting. More...
 
void SIM_HAL_SetUartTxSrcMode (SIM_Type *base, uint32_t instance, sim_uart_txsrc_t select)
 Sets the UARTx transmit data source select setting. More...
 
sim_uart_txsrc_t SIM_HAL_GetUartTxSrcMode (SIM_Type *base, uint32_t instance)
 Gets the UARTx transmit data source select setting. More...
 

Function Documentation

static void SIM_HAL_EnableClock ( SIM_Type *  base,
sim_clock_gate_name_t  name 
)
inlinestatic

This function enables the clock for specific module.

Parameters
baseBase address for current SIM instance.
nameName of the module to enable.
static void SIM_HAL_DisableClock ( SIM_Type *  base,
sim_clock_gate_name_t  name 
)
inlinestatic

This function disables the clock for specific module.

Parameters
baseBase address for current SIM instance.
nameName of the module to disable.
static bool SIM_HAL_GetGateCmd ( SIM_Type *  base,
sim_clock_gate_name_t  name 
)
inlinestatic

This function gets the clock gate state for specific module.

Parameters
baseBase address for current SIM instance.
nameName of the module to get.
Returns
state true - ungated(Enabled), false - gated (Disabled)
static void CLOCK_HAL_SetSdhcSrc ( SIM_Type *  base,
uint32_t  instance,
clock_sdhc_src_t  setting 
)
inlinestatic

This function sets the SDHC clock source selection.

Parameters
baseBase address for current SIM instance.
instanceIP instance.
settingThe value to set.
static clock_sdhc_src_t CLOCK_HAL_GetSdhcSrc ( SIM_Type *  base,
uint32_t  instance 
)
inlinestatic

This function gets the SDHC clock source selection.

Parameters
baseBase address for current SIM instance.
instanceIP instance.
Returns
Current selection.
static void CLOCK_HAL_SetUsbfsSrc ( SIM_Type *  base,
uint32_t  instance,
clock_usbfs_src_t  setting 
)
inlinestatic

This function sets the selection of the clock source for the USB FS 48 MHz clock.

Parameters
baseBase address for current SIM instance.
instanceIP instance.
settingThe value to set.
static clock_usbfs_src_t CLOCK_HAL_GetUsbfsSrc ( SIM_Type *  base,
uint32_t  instance 
)
inlinestatic

This function gets the selection of the clock source for the USB FS 48 MHz clock.

Parameters
baseBase address for current SIM instance.
instanceIP instance.
Returns
Current selection.
static void CLOCK_HAL_SetTraceClkSrc ( SIM_Type *  base,
clock_trace_src_t  setting 
)
inlinestatic

This function sets debug trace clock selection.

Parameters
baseBase address for current SIM instance.
settingThe value to set.
static clock_trace_src_t CLOCK_HAL_GetTraceClkSrc ( SIM_Type *  base)
inlinestatic

This function gets debug trace clock selection.

Parameters
baseBase address for current SIM instance.
Returns
Current selection.
static void CLOCK_HAL_SetExternalRefClock32kSrc ( SIM_Type *  base,
clock_er32k_src_t  setting 
)
inlinestatic

This function sets the clock selection of ERCLK32K.

Parameters
baseBase address for current SIM instance.
settingThe value to set.
static clock_er32k_src_t CLOCK_HAL_GetExternalRefClock32kSrc ( SIM_Type *  base)
inlinestatic

This function gets the clock selection of ERCLK32K.

Parameters
baseBase address for current SIM instance.
Returns
Current selection.
static void CLOCK_HAL_SetPllfllSel ( SIM_Type *  base,
clock_pllfll_sel_t  setting 
)
inlinestatic

This function sets the selection of the high frequency clock for various peripheral clocking options

Parameters
baseBase address for current SIM instance.
settingThe value to set.
static clock_pllfll_sel_t CLOCK_HAL_GetPllfllSel ( SIM_Type *  base)
inlinestatic

This function gets the selection of the high frequency clock for various peripheral clocking options

Parameters
baseBase address for current SIM instance.
Returns
Current selection.
static void CLOCK_HAL_SetClkOutSel ( SIM_Type *  base,
clock_clkout_src_t  setting 
)
inlinestatic

This function sets the selection of the clock to output on the CLKOUT pin.

Parameters
baseBase address for current SIM instance.
settingThe value to set.
static clock_clkout_src_t CLOCK_HAL_GetClkOutSel ( SIM_Type *  base)
inlinestatic

This function gets the selection of the clock to output on the CLKOUT pin.

Parameters
baseBase address for current SIM instance.
Returns
Current selection.
static void CLOCK_HAL_SetRtcClkOutSel ( SIM_Type *  base,
clock_rtcout_src_t  setting 
)
inlinestatic

This function sets the selection of the clock to output on the RTC_CLKOUT pin.

Parameters
baseBase address for current SIM instance.
settingThe value to set.
static clock_rtcout_src_t CLOCK_HAL_GetRtcClkOutSel ( SIM_Type *  base)
inlinestatic

This function gets the selection of the clock to output on the RTC_CLKOUT pin.

Parameters
baseBase address for current SIM instance.
Returns
Current selection.
static void CLOCK_HAL_SetOutDiv1 ( SIM_Type *  base,
uint8_t  setting 
)
inlinestatic

This function sets divide value OUTDIV1.

Parameters
baseBase address for current SIM instance.
settingThe value to set.
static uint8_t CLOCK_HAL_GetOutDiv1 ( SIM_Type *  base)
inlinestatic

This function gets divide value OUTDIV1.

Parameters
baseBase address for current SIM instance.
Returns
Current divide value.
static void CLOCK_HAL_SetOutDiv2 ( SIM_Type *  base,
uint8_t  setting 
)
inlinestatic

This function sets divide value OUTDIV2.

Parameters
baseBase address for current SIM instance.
settingThe value to set.
static uint8_t CLOCK_HAL_GetOutDiv2 ( SIM_Type *  base)
inlinestatic

This function gets divide value OUTDIV2.

Parameters
baseBase address for current SIM instance.
Returns
Current divide value.
static void CLOCK_HAL_SetOutDiv3 ( SIM_Type *  base,
uint8_t  setting 
)
inlinestatic

This function sets divide value OUTDIV3.

Parameters
baseBase address for current SIM instance.
settingThe value to set.
static uint8_t CLOCK_HAL_GetOutDiv3 ( SIM_Type *  base)
inlinestatic

This function gets divide value OUTDIV3.

Parameters
baseBase address for current SIM instance.
Returns
Current divide value.
static void CLOCK_HAL_SetOutDiv4 ( SIM_Type *  base,
uint8_t  setting 
)
inlinestatic

This function sets divide value OUTDIV4.

Parameters
baseBase address for current SIM instance.
settingThe value to set.
static uint8_t CLOCK_HAL_GetOutDiv4 ( SIM_Type *  base)
inlinestatic

This function gets divide value OUTDIV4.

Parameters
baseBase address for current SIM instance.
Returns
Current divide value.
static uint32_t SIM_HAL_GetRamSize ( SIM_Type *  base)
inlinestatic

This function gets the RAM size. The field specifies the amount of system RAM available on the device.

Parameters
baseBase address for current SIM instance.
Returns
size RAM size on the device
static void SIM_HAL_SetUsbVoltRegulatorCmd ( SIM_Type *  base,
bool  enable 
)
inlinestatic

This function controls whether the USB voltage regulator is enabled. This bit can only be written when the SOPT1CFG[URWE] bit is set.

Parameters
baseBase address for current SIM instance.
enableUSB voltage regulator enable setting
  • true: USB voltage regulator is enabled.
  • false: USB voltage regulator is disabled.
static bool SIM_HAL_GetUsbVoltRegulatorCmd ( SIM_Type *  base)
inlinestatic

This function gets the USB voltage regulator enabled setting.

Parameters
baseBase address for current SIM instance.
Returns
enabled True if the USB voltage regulator is enabled.
static void SIM_HAL_SetUsbVoltRegulatorInStdbyDuringStopMode ( SIM_Type *  base,
sim_usbsstby_mode_t  setting 
)
inlinestatic

This function controls whether the USB voltage regulator is placed in a standby mode during Stop, VLPS, LLS, and VLLS modes. This bit can only be written when the SOPT1CFG[USSWE] bit is set.

Parameters
baseBase address for current SIM instance.
settingUSB voltage regulator in standby mode setting
  • 0: USB voltage regulator not in standby during Stop, VLPS, LLS and VLLS modes.
  • 1: USB voltage regulator in standby during Stop, VLPS, LLS and VLLS modes.
static sim_usbsstby_mode_t SIM_HAL_GetUsbVoltRegulatorInStdbyDuringStopMode ( SIM_Type *  base)
inlinestatic

This function gets the USB voltage regulator in a standby mode setting.

Parameters
baseBase address for current SIM instance.
Returns
setting USB voltage regulator in a standby mode setting
static void SIM_HAL_SetUsbVoltRegulatorInStdbyDuringVlprwMode ( SIM_Type *  base,
sim_usbvstby_mode_t  setting 
)
inlinestatic

This function controls whether the USB voltage regulator is placed in a standby mode during the VLPR and the VLPW modes. This bit can only be written when the SOPT1CFG[UVSWE] bit is set.

Parameters
baseBase address for current SIM instance.
settingUSB voltage regulator in standby mode setting
  • 0: USB voltage regulator not in standby during VLPR and VLPW modes.
  • 1: USB voltage regulator in standby during VLPR and VLPW modes.
static sim_usbvstby_mode_t SIM_HAL_GetUsbVoltRegulatorInStdbyDuringVlprwMode ( SIM_Type *  base)
inlinestatic

This function gets the USB voltage regulator in a standby mode during the VLPR or the VLPW.

Parameters
baseBase address for current SIM instance.
Returns
setting USB voltage regulator in a standby mode during the VLPR or the VLPW
static void SIM_HAL_SetUsbVoltRegulatorInStdbyDuringStopCmd ( SIM_Type *  base,
bool  enable 
)
inlinestatic

This function controls whether the USB voltage regulator stop standby write feature is enabled. Writing one to this bit allows the SOPT1[USBSSTBY] bit to be written. This register bit clears after a write to SOPT1[USBSSTBY].

Parameters
baseBase address for current SIM instance.
enableUSB voltage regulator stop standby write enable setting
  • true: SOPT1[USBSSTBY] can be written.
  • false: SOPT1[USBSSTBY] cannot be written.
static bool SIM_HAL_GetUsbVoltRegulatorInStdbyDuringStopCmd ( SIM_Type *  base)
inlinestatic

This function gets the USB voltage regulator stop standby write enable setting.

Parameters
baseBase address for current SIM instance.
Returns
enabled True if the USB voltage regulator stop standby write is enabled.
static void SIM_HAL_SetUsbVoltRegulatorInStdbyDuringVlprwCmd ( SIM_Type *  base,
bool  enable 
)
inlinestatic

This function controls whether USB voltage regulator VLP standby write feature is enabled. Writing one to this bit allows the SOPT1[USBVSTBY] bit to be written. This register bit clears after a write to SOPT1[USBVSTBY].

Parameters
baseBase address for current SIM instance.
enableUSB voltage regulator VLP standby write enable setting
  • true: SOPT1[USBSSTBY] can be written.
  • false: SOPT1[USBSSTBY] cannot be written.
static bool SIM_HAL_GetUsbVoltRegulatorInStdbyDuringVlprwCmd ( SIM_Type *  base)
inlinestatic

This function gets the USB voltage regulator VLP standby write enable setting.

Parameters
baseBase address for current SIM instance.
Returns
enabled True if the USB voltage regulator VLP standby write is enabled.
static void SIM_HAL_SetUsbVoltRegulatorWriteCmd ( SIM_Type *  base,
bool  enable 
)
inlinestatic

This function controls whether the USB voltage regulator write enable feature is enabled. Writing one to this bit allows the SOPT1[USBREGEN] bit to be written. This register bit clears after a write to SOPT1[USBREGEN].

Parameters
baseBase address for current SIM instance.
enableUSB voltage regulator enable write enable setting
  • true: SOPT1[USBSSTBY] can be written.
  • false: SOPT1[USBSSTBY] cannot be written.
static bool SIM_HAL_GetUsbVoltRegulatorWriteCmd ( SIM_Type *  base)
inlinestatic

This function gets the USB voltage regulator enable write enable setting.

Parameters
baseBase address for current SIM instance.
Returns
enabled True if USB voltage regulator enable write is enabled.
static void SIM_HAL_SetPtd7PadDriveStrengthMode ( SIM_Type *  base,
sim_ptd7pad_strengh_t  setting 
)
inlinestatic

This function controls the output drive strength of the PTD7 pin by selecting either one or two pads to drive it.

Parameters
baseBase address for current SIM instance.
settingPTD7 pad drive strength setting
  • 0: Single-pad drive strength for PTD7.
  • 1: Double pad drive strength for PTD7.
static sim_ptd7pad_strengh_t SIM_HAL_GetPtd7PadDriveStrengthMode ( SIM_Type *  base)
inlinestatic

This function gets the PTD7 pad drive strength setting.

Parameters
baseBase address for current SIM instance.
Returns
setting PTD7 pad drive strength setting
static void SIM_HAL_SetFlexbusSecurityLevelMode ( SIM_Type *  base,
sim_flexbus_security_level_t  setting 
)
inlinestatic

This function sets the FlexBus security level setting. If the security is enabled, this field affects which CPU operations can access the off-chip via the FlexBus and DDR controller interfaces. This field has no effect if the security is not enabled.

Parameters
baseBase address for current SIM instance.
settingFlexBus security level setting
  • 00: All off-chip accesses (op code and data) via the FlexBus and DDR controller are disallowed.
  • 10: Off-chip op code accesses are disallowed. Data accesses are allowed.
  • 11: Off-chip op code accesses and data accesses are allowed.
static sim_flexbus_security_level_t SIM_HAL_GetFlexbusSecurityLevelMode ( SIM_Type *  base)
inlinestatic

This function gets the FlexBus security level setting.

Parameters
baseBase address for current SIM instance.
Returns
setting FlexBus security level setting
static uint32_t SIM_HAL_GetFamId ( SIM_Type *  base)
inlinestatic

This function gets the Kinetis Fam ID in System Device ID register.

Parameters
baseBase address for current SIM instance.
Returns
id Kinetis Fam ID
static uint32_t SIM_HAL_GetPinCntId ( SIM_Type *  base)
inlinestatic

This function gets the Kinetis Pincount ID in System Device ID register.

Parameters
baseBase address for current SIM instance.
Returns
id Kinetis Pincount ID
static uint32_t SIM_HAL_GetRevId ( SIM_Type *  base)
inlinestatic

This function gets the Kinetis Revision ID in System Device ID register.

Parameters
baseBase address for current SIM instance.
Returns
id Kinetis Revision ID
static uint32_t SIM_HAL_GetDieId ( SIM_Type *  base)
inlinestatic

This function gets the Kinetis Die ID in System Device ID register.

Parameters
baseBase address for current SIM instance.
Returns
id Kinetis Die ID
static uint32_t SIM_HAL_GetFlexnvmSize ( SIM_Type *  base)
inlinestatic

This function gets the FlexNVM size in the Flash Configuration Register 1.

Parameters
baseBase address for current SIM instance.
Returns
size FlexNVM Size
static uint32_t SIM_HAL_GetProgramFlashSize ( SIM_Type *  base)
inlinestatic

This function gets the program flash size in the Flash Configuration Register 1.

Parameters
baseBase address for current SIM instance.
Returns
size Program flash Size
static uint32_t SIM_HAL_GetEepromSize ( SIM_Type *  base)
inlinestatic

This function gets the EEProm size in the Flash Configuration Register 1.

Parameters
baseBase address for current SIM instance.
Returns
size EEProm Size
static uint32_t SIM_HAL_GetFlexnvmPartition ( SIM_Type *  base)
inlinestatic

This function gets the FlexNVM partition in the Flash Configuration Register1

Parameters
baseBase address for current SIM instance.
Returns
setting FlexNVM partition setting
static void SIM_HAL_SetFlashDoze ( SIM_Type *  base,
uint32_t  setting 
)
inlinestatic

This function sets the Flash Doze in the Flash Configuration Register 1.

Parameters
baseBase address for current SIM instance.
settingFlash Doze setting
static uint32_t SIM_HAL_GetFlashDoze ( SIM_Type *  base)
inlinestatic

This function gets the Flash Doze in the Flash Configuration Register 1.

Parameters
baseBase address for current SIM instance.
Returns
setting Flash Doze setting
static void SIM_HAL_SetFlashDisableCmd ( SIM_Type *  base,
bool  disable 
)
inlinestatic

This function sets the Flash disable setting in the Flash Configuration Register 1.

Parameters
baseBase address for current SIM instance.
disableFlash disable setting
static bool SIM_HAL_GetFlashDisableCmd ( SIM_Type *  base)
inlinestatic

This function gets the Flash disable setting in the Flash Configuration Register 1.

Parameters
baseBase address for current SIM instance.
Returns
setting Flash disable setting
static uint32_t SIM_HAL_GetFlashMaxAddrBlock0 ( SIM_Type *  base)
inlinestatic

This function gets the Flash maximum block 0 in Flash Configuration Register 2.

Parameters
baseBase address for current SIM instance.
Returns
address Flash maximum block 0 address
static uint32_t SIM_HAL_GetFlashMaxAddrBlock1 ( SIM_Type *  base)
inlinestatic

This function gets the Flash maximum block 1 in Flash Configuration Register 1.

Parameters
baseBase address for current SIM instance.
Returns
address Flash maximum block 0 address
static uint32_t SIM_HAL_GetProgramFlashCmd ( SIM_Type *  base)
inlinestatic

This function gets the program flash maximum block 0 in Flash Configuration Register 1.

Parameters
baseBase address for current SIM instance.
Returns
status program flash status