48 #define SCG_LPFLL_DISABLE 0U 59 #ifndef SDK_SECONDARY_CORE 70 static void CLOCK_CONFIG_FircSafeConfig(
const scg_firc_config_t *fircConfig)
72 scg_sys_clk_config_t curConfig;
73 const scg_sirc_config_t scgSircConfig = {.enableMode = kSCG_SircEnable,
74 .div1 = kSCG_AsyncClkDisable,
75 .div2 = kSCG_AsyncClkDivBy2,
76 .range = kSCG_SircRangeHigh};
77 scg_sys_clk_config_t sysClkSafeConfigSource = {
78 .divSlow = kSCG_SysClkDivBy4,
79 .divCore = kSCG_SysClkDivBy1,
80 .src = kSCG_SysClkSrcSirc
83 CLOCK_InitSirc(&scgSircConfig);
85 CLOCK_SetRunModeSysClkConfig(&sysClkSafeConfigSource);
89 CLOCK_GetCurSysClkConfig(&curConfig);
90 }
while (curConfig.src != sysClkSafeConfigSource.src);
93 CLOCK_InitFirc(fircConfig);
140 .divSlow = kSCG_SysClkDivBy2,
141 .divBus = kSCG_SysClkDivBy1,
142 .divExt = kSCG_SysClkDivBy1,
143 .divCore = kSCG_SysClkDivBy1,
144 .src = kSCG_SysClkSrcFirc,
148 .enableMode = kSCG_SircEnable | kSCG_SircEnableInLowPower,
149 .div1 = kSCG_AsyncClkDisable,
150 .div2 = kSCG_AsyncClkDisable,
151 .div3 = kSCG_AsyncClkDivBy1,
152 .range = kSCG_SircRangeHigh,
156 .enableMode = kSCG_FircEnable,
157 .div1 = kSCG_AsyncClkDivBy1,
158 .div2 = kSCG_AsyncClkDivBy1,
159 .div3 = kSCG_AsyncClkDivBy1,
160 .range = kSCG_FircRange48M,
166 .div1 = kSCG_AsyncClkDivBy1,
167 .div2 = kSCG_AsyncClkDisable,
168 .div3 = kSCG_AsyncClkDisable,
169 .range = kSCG_LpFllRange48M,
177 #ifndef SDK_SECONDARY_CORE 178 scg_sys_clk_config_t curConfig;
187 CLOCK_GetCurSysClkConfig(&curConfig);
239 .divSlow = kSCG_SysClkDivBy9,
240 .divBus = kSCG_SysClkDivBy1,
241 .divExt = kSCG_SysClkDivBy1,
242 .divCore = kSCG_SysClkDivBy1,
243 .src = kSCG_SysClkSrcLpFll,
247 .enableMode = kSCG_SircEnable | kSCG_SircEnableInLowPower,
248 .div1 = kSCG_AsyncClkDisable,
249 .div2 = kSCG_AsyncClkDisable,
250 .div3 = kSCG_AsyncClkDivBy1,
251 .range = kSCG_SircRangeHigh,
255 .enableMode = kSCG_FircEnable,
256 .div1 = kSCG_AsyncClkDivBy1,
257 .div2 = kSCG_AsyncClkDivBy1,
258 .div3 = kSCG_AsyncClkDivBy1,
259 .range = kSCG_FircRange48M,
264 .enableMode = kSCG_LpFllEnable,
265 .div1 = kSCG_AsyncClkDisable,
266 .div2 = kSCG_AsyncClkDisable,
267 .div3 = kSCG_AsyncClkDisable,
268 .range = kSCG_LpFllRange72M,
276 #ifndef SDK_SECONDARY_CORE 277 scg_sys_clk_config_t curConfig;
283 #if defined(SDK_CORE_ID_CM4) 285 SMC_SetPowerModeProtection(SMC0, kSMC_AllowPowerModeAll);
286 SMC_SetPowerModeHsrun(SMC0);
287 while (SMC_GetPowerModeState(SMC0) != kSMC_PowerStateHsrun)
290 #elif defined(SDK_CORE_ID_CM0PLUS) 291 SMC_SetPowerModeProtection(SMC1, kSMC_AllowPowerModeAll);
292 SMC_SetPowerModeHsrun(SMC1);
293 while (SMC_GetPowerModeState(SMC1) != kSMC_PowerStateHsrun)
302 CLOCK_GetCurSysClkConfig(&curConfig);
347 .divSlow = kSCG_SysClkDivBy9,
348 .divBus = kSCG_SysClkDivBy2,
349 .divExt = kSCG_SysClkDivBy1,
350 .divCore = kSCG_SysClkDivBy2,
351 .src = kSCG_SysClkSrcSirc,
355 .enableMode = kSCG_SircEnable | kSCG_SircEnableInLowPower,
356 .div1 = kSCG_AsyncClkDivBy1,
357 .div2 = kSCG_AsyncClkDivBy1,
358 .div3 = kSCG_AsyncClkDivBy1,
359 .range = kSCG_SircRangeHigh,
363 .enableMode = kSCG_FircEnable,
364 .div1 = kSCG_AsyncClkDivBy1,
365 .div2 = kSCG_AsyncClkDisable,
366 .div3 = kSCG_AsyncClkDisable,
367 .range = kSCG_FircRange48M,
373 .div1 = kSCG_AsyncClkDisable,
374 .div2 = kSCG_AsyncClkDisable,
375 .div3 = kSCG_AsyncClkDisable,
376 .range = kSCG_LpFllRange48M,
384 #ifndef SDK_SECONDARY_CORE 385 scg_sys_clk_config_t curConfig;
395 #if defined(SDK_CORE_ID_CM4) 397 SMC_SetPowerModeProtection(SMC0, kSMC_AllowPowerModeAll);
399 while (SMC_GetPowerModeState(SMC0) != kSMC_PowerStateVlpr)
402 #elif defined(SDK_CORE_ID_CM0PLUS) 404 SMC_SetPowerModeProtection(SMC1, kSMC_AllowPowerModeAll);
406 while (SMC_GetPowerModeState(SMC1) != kSMC_PowerStateVlpr)
413 CLOCK_GetCurSysClkConfig(&curConfig);
#define BOARD_BOOTCLOCKHSRUN_CORE_CLOCK
const scg_sirc_config_t g_scgSircConfig_BOARD_BootClockRUN
SIRC set for BOARD_BootClockRUN configuration.
const scg_sys_clk_config_t g_sysClkConfig_BOARD_BootClockRUN
SCG set for BOARD_BootClockRUN configuration.
const scg_sys_clk_config_t g_sysClkConfig_BOARD_BootClockVLPR
SCG set for BOARD_BootClockVLPR configuration.
void BOARD_BootClockVLPR(void)
This function executes configuration of clocks.
status_t SMC_SetPowerModeVlpr(void *arg)
Configures the system to VLPR power mode. API name used from Kinetis family to maintain compatibility...
const scg_lpfll_config_t g_scgLpFllConfig_BOARD_BootClockHSRUN
const scg_sirc_config_t g_scgSircConfig_BOARD_BootClockHSRUN
SIRC set for BOARD_BootClockHSRUN configuration.
const scg_firc_config_t g_scgFircConfig_BOARD_BootClockVLPR
void BOARD_InitBootClocks(void)
This function executes default configuration of clocks.
#define SCG_LPFLL_DISABLE
const scg_firc_config_t g_scgFircConfig_BOARD_BootClockRUN
void BOARD_BootClockHSRUN(void)
This function executes configuration of clocks.
void BOARD_BootClockRUN(void)
This function executes configuration of clocks.
const scg_firc_config_t g_scgFircConfig_BOARD_BootClockHSRUN
#define BOARD_BOOTCLOCKVLPR_CORE_CLOCK
const scg_lpfll_config_t g_scgLpFllConfig_BOARD_BootClockVLPR
const scg_sirc_config_t g_scgSircConfig_BOARD_BootClockVLPR
SIRC set for BOARD_BootClockVLPR configuration.
const scg_sys_clk_config_t g_sysClkConfig_BOARD_BootClockHSRUN
SCG set for BOARD_BootClockHSRUN configuration.
const scg_lpfll_config_t g_scgLpFllConfig_BOARD_BootClockRUN
#define BOARD_BOOTCLOCKRUN_CORE_CLOCK