/*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; }
/*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 out 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 kClockLptmrSrcOsc0erClkUndiv: /* OSC0ERCLKUDIV clock */ freq = CLOCK_SYS_GetOsc0ExternalRefClockUndivFreq(); break; default: freq = 0U; break; } return freq; }
/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetExternalRefClockFreq * Description : Gets the ERCLK32K clock frequency. * This function gets the external reference (ERCLK32K) clock frequency. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetExternalRefClock32kFreq(void) { clock_er32k_src_t src; uint32_t freq; src = CLOCK_HAL_GetExternalRefClock32kSrc(SIM); switch (src) { case kClockEr32kSrcOsc0: /* OSC 32k clock */ freq = (32768U == g_xtal0ClkFreq) ? 32768U : 0U; break; case kClockEr32kSrcRtc: /* RTC 32k clock */ freq = g_xtalRtcClkFreq; break; case kClockEr32kSrcLpo: /* LPO clock */ freq = CLOCK_SYS_GetLpoClockFreq(); 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_GetPortFilterFreq * Description : Gets PORTx digital input filter clock frequency. * This function gets the PORTx digital input filter clock frequency. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetPortFilterFreq(uint32_t instance, clock_port_filter_src_t src) { if (kClockPortFilterSrcBusClk == src) { return CLOCK_SYS_GetBusClockFreq(); } else { return CLOCK_SYS_GetLpoClockFreq(); } }
/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetWdogFreq * Description : Gets watch dog clock frequency. * This function gets the watch dog clock frequency. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetWdogFreq(uint32_t instance, clock_wdog_src_t wdogSrc) { if (kClockWdogSrcLpoClk == wdogSrc) { return CLOCK_SYS_GetLpoClockFreq(); } else { return CLOCK_SYS_GetBusClockFreq(); } }
/*FUNCTION********************************************************************** * * Function Name : CLOCK_SYS_GetWdogFreq * Description : Gets watch dog clock frequency. * This function gets the watch dog clock frequency. * *END**************************************************************************/ uint32_t CLOCK_SYS_GetWdogFreq(uint32_t instance, clock_wdog_src_t wdogSrc) { if (kClockWdogSrcLpoClk == wdogSrc) { return CLOCK_SYS_GetLpoClockFreq(); } else { return CLOCK_HAL_GetInternalRefClk(MCG); /* For KV11Z7, it's MCGIRCLK */ } }