/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetLpuartFreq * Description : Gets the clock frequency for LPUART module. * This function gets the clock frequency for LPUART moudle. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetLpuartFreq(uint32_t instance) { clock_lpuart_src_t src; uint32_t freq; src = CLOCK_HAL_GetLpuartSrc(SIM, instance); switch (src) { case kClockLpuartSrcIrc48M: /* IRC48M */ freq = kMcgliteConst48M; break; case kClockLpuartSrcOsc0erClk: /* OSCER clock */ freq = CLOCK_SYS_GetOsc0ExternalRefClockFreq(); break; case kClockLpuartSrcMcgIrClk: /* MCGIR clock */ freq = CLOCK_HAL_GetInternalRefClk(MCG); break; default: freq = 0U; break; } return freq; }
/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetLptmrFreq * Description : Gets LPTMRx pre-scaler/glitch filter clock frequency. * This function gets the LPTMRx pre-scaler/glitch filter clock frequency. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetLptmrFreq(uint32_t instance, clock_lptmr_src_t lptmrSrc) { uint32_t freq; switch (lptmrSrc) { case kClockLptmrSrcMcgIrClk: /* MCG IRC clock */ freq = CLOCK_HAL_GetInternalRefClk(MCG); break; case kClockLptmrSrcLpoClk: /* LPO clock */ freq = CLOCK_SYS_GetLpoClockFreq(); break; case kClockLptmrSrcEr32kClk: /* ERCLK32K clock */ freq = CLOCK_SYS_GetExternalRefClock32kFreq(); break; case kClockLptmrSrcOsc0erClk: /* OSCERCLK clock */ freq = CLOCK_SYS_GetOsc0ExternalRefClockFreq(); break; default: freq = 0U; break; } return freq; }
/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetCopFreq * Description : Gets the clock frequency for COP module. * This function gets the clock frequency for COP moudle. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetCopFreq(void) { clock_cop_src_t src; uint32_t freq; src = CLOCK_HAL_GetCopSrc(SIM); switch (src) { case kClockCopSrcLpoClk: freq = CLOCK_SYS_GetLpoClockFreq(); break; case kClockCopSrcMcgIrClk: freq = CLOCK_HAL_GetInternalRefClk(MCG); break; case kClockCopSrcOsc0erClk: freq = CLOCK_SYS_GetOsc0ExternalRefClockFreq(); break; case kClockCopSrcBusClk: freq = CLOCK_SYS_GetBusClockFreq(); break; default: freq = 0U; break; } return freq; }
clock_manager_error_code_t CLOCK_SYS_GetFreq(clock_names_t clockName, uint32_t *frequency) { clock_manager_error_code_t returnCode = kClockManagerSuccess; switch (clockName) { case kCoreClock: case kSystemClock: *frequency = CLOCK_SYS_GetCoreClockFreq(); break; case kPlatformClock: *frequency = CLOCK_SYS_GetSystemClockFreq(); break; case kBusClock: *frequency = CLOCK_SYS_GetBusClockFreq(); break; case kFlexBusClock: *frequency = CLOCK_SYS_GetFlexbusFreq(); break; case kFlashClock: *frequency = CLOCK_SYS_GetFlashClockFreq(); break; case kOsc32kClock: *frequency = CLOCK_SYS_GetExternalRefClock32kFreq(); break; case kOsc0ErClock: *frequency = CLOCK_SYS_GetOsc0ExternalRefClockFreq(); break; case kRtcoutClock: *frequency = CLOCK_SYS_GetRtcOutFreq(); break; case kMcgFfClock: *frequency = CLOCK_SYS_GetFixedFreqClockFreq(); break; case kMcgFllClock: *frequency = CLOCK_HAL_GetFllClk(MCG_BASE); break; case kMcgPll0Clock: *frequency = CLOCK_HAL_GetPll0Clk(MCG_BASE); break; case kMcgOutClock: *frequency = CLOCK_HAL_GetOutClk(MCG_BASE); break; case kMcgIrClock: *frequency = CLOCK_HAL_GetInternalRefClk(MCG_BASE); break; case kLpoClock: *frequency = CLOCK_SYS_GetLpoClockFreq(); break; default: *frequency = 0U; returnCode = kClockManagerNoSuchClockName; break; } return returnCode; }
/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetFlexcanFreq * Description : Gets FLEXCAN clock frequency. * This function gets the FLEXCAN clock frequency. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetFlexcanFreq(uint32_t instance, clock_flexcan_src_t flexcanSrc) { if (kClockFlexcanSrcOsc0erClk == flexcanSrc) { return CLOCK_SYS_GetOsc0ExternalRefClockFreq(); } else { return CLOCK_SYS_GetSystemClockFreq(); } }
/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetRtcOutFreq * Description : Gets the RTC_CLKOUT frequency. * This function gets RTC_CLKOUT clock frequency. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetRtcOutFreq(void) { if (kClockRtcoutSrc1Hz == CLOCK_SYS_GetRtcOutSrc()) { return 1U; } else { return CLOCK_SYS_GetOsc0ExternalRefClockFreq(); } }
/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetFtmFixedFreq * Description : Gets FTM fixed frequency clock frequency. * * This function gets the FTM fixed frequency clock frequency. *END**************************************************************************/ uint32_t CLOCK_SYS_GetFtmFixedFreq(uint32_t instance) { uint32_t ftmFixedFreq; clock_ftm_fixedfreq_src_t ftmFixedFreqSel; ftmFixedFreqSel = (clock_ftm_fixedfreq_src_t)CLOCK_HAL_GetFtmFixFreqClkSrc(SIM); switch(ftmFixedFreqSel) { case kClockFtmClkMcgFfClk: ftmFixedFreq = CLOCK_HAL_GetFixedFreqClk(MCG); break; case kClockFtmClkMcgIrClk: ftmFixedFreq = CLOCK_HAL_GetInternalRefClk(MCG); break; case kClockFtmClkOsc0erClk: ftmFixedFreq = CLOCK_SYS_GetOsc0ExternalRefClockFreq(); break; default: ftmFixedFreq = 0; break; } return ftmFixedFreq; }
/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetAdcAltFreq * Description : Gets the ADC alternate clock frequency. * This function gets the ADC alternate clock frequency. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetAdcAltFreq(uint32_t instance) { clock_adc_alt_src_t adcAltClkSel; uint32_t adcAltClkValue = 0; adcAltClkSel = CLOCK_HAL_GetAdcAltClkSrc(SIM, instance); switch(adcAltClkSel) { case 0: adcAltClkValue = CLOCK_SYS_GetOutdiv5ClockFreq(); /* OUTDIV5 output */ break; case 1: adcAltClkValue = CLOCK_SYS_GetInternalRefClockFreq(); /* MCGIRC output */ break; case 2: adcAltClkValue = CLOCK_SYS_GetOsc0ExternalRefClockFreq(); /* OSCERCLK output */ break; default: adcAltClkValue = 0; break; } return adcAltClkValue; }
/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetLpuartFreq * Description : Gets the clock frequency for LPUART module. * This function gets the clock frequency for LPUART moudle. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetLpuartFreq(uint32_t instance) { clock_lpuart_src_t src; uint32_t freq; src = CLOCK_HAL_GetLpuartSrc(SIM, instance); switch (src) { case kClockLpuartSrcPllFllSel: freq = CLOCK_SYS_GetPllFllClockFreq(); break; case kClockLpuartSrcOsc0erClk: freq = CLOCK_SYS_GetOsc0ExternalRefClockFreq(); break; case kClockLpuartSrcMcgIrClk: freq = CLOCK_HAL_GetInternalRefClk(MCG); break; default: freq = 0U; break; } return freq; }
/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetFlexioFreq * Description : Gets the clock frequency for FLEXIO. * This function gets the clock frequency for FLEXIO. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetFlexioFreq(uint32_t instance) { uint32_t freq; clock_flexio_src_t src = CLOCK_HAL_GetFlexioSrc(SIM, instance); switch (src) { case kClockFlexioSrcIrc48M: freq = kMcgliteConst48M; break; case kClockFlexioSrcOsc0erClk: freq = CLOCK_SYS_GetOsc0ExternalRefClockFreq(); break; case kClockFlexioSrcMcgIrClk: freq = CLOCK_HAL_GetInternalRefClk(MCG); break; default: freq = 0U; break; } return freq; }