156 CLOCK_SetRtcXtalFreq(32768U);
158 XTALOSC24M->OSC_CONFIG2 |= XTALOSC24M_OSC_CONFIG2_ENABLE_1M_MASK;
160 XTALOSC24M->OSC_CONFIG2 &= ~XTALOSC24M_OSC_CONFIG2_MUX_1M_MASK;
162 CLOCK_SetXtalFreq(24000000U);
164 CLOCK_InitExternalClk(0);
166 CLOCK_InitRcOsc24M();
168 CLOCK_SwitchOsc(kCLOCK_XtalOsc);
170 CCM->CCR = (CCM->CCR & (~CCM_CCR_OSCNT_MASK)) | CCM_CCR_OSCNT(127);
172 CLOCK_SetMux(kCLOCK_PeriphClk2Mux, 1);
173 CLOCK_SetMux(kCLOCK_PeriphMux, 1);
175 DCDC->REG3 = (DCDC->REG3 & (~DCDC_REG3_TRG_MASK)) | DCDC_REG3_TRG(0x12);
177 while (DCDC_REG0_STS_DC_OK_MASK != (DCDC_REG0_STS_DC_OK_MASK & DCDC->REG0))
185 #ifndef SKIP_SYSCLK_INIT 189 CLOCK_InitSysPfd(kCLOCK_Pfd0, 27);
191 CLOCK_InitSysPfd(kCLOCK_Pfd1, 16);
193 CLOCK_InitSysPfd(kCLOCK_Pfd2, 24);
195 CLOCK_InitSysPfd(kCLOCK_Pfd3, 16);
200 #if !(defined(XIP_EXTERNAL_FLASH) && (XIP_EXTERNAL_FLASH == 1)) 204 CLOCK_InitUsb1Pfd(kCLOCK_Pfd0, 33);
206 CLOCK_InitUsb1Pfd(kCLOCK_Pfd1, 16);
208 CLOCK_InitUsb1Pfd(kCLOCK_Pfd2, 17);
210 CLOCK_InitUsb1Pfd(kCLOCK_Pfd3, 19);
212 CCM_ANALOG->PLL_USB1 &= ~CCM_ANALOG_PLL_USB1_EN_USB_CLKS_MASK;
215 CLOCK_DeinitAudioPll();
217 CLOCK_SetPllBypass(CCM_ANALOG, kCLOCK_PllAudio, 1);
219 CCM_ANALOG->MISC2 &= ~CCM_ANALOG_MISC2_AUDIO_DIV_LSB_MASK;
220 CCM_ANALOG->MISC2 &= ~CCM_ANALOG_MISC2_AUDIO_DIV_MSB_MASK;
222 CCM_ANALOG->PLL_AUDIO |= CCM_ANALOG_PLL_AUDIO_ENABLE_MASK;
224 CLOCK_DeinitVideoPll();
226 CCM_ANALOG->PLL_VIDEO |= CCM_ANALOG_PLL_VIDEO_BYPASS_MASK;
228 CCM_ANALOG->MISC2 = (CCM_ANALOG->MISC2 & (~CCM_ANALOG_MISC2_VIDEO_DIV_MASK)) | CCM_ANALOG_MISC2_VIDEO_DIV(0);
230 CCM_ANALOG->PLL_VIDEO |= CCM_ANALOG_PLL_VIDEO_ENABLE_MASK;
232 CLOCK_DeinitEnetPll();
234 CLOCK_SetPllBypass(CCM_ANALOG, kCLOCK_PllEnet, 1);
236 CCM_ANALOG->PLL_ENET = (CCM_ANALOG->PLL_ENET & (~CCM_ANALOG_PLL_ENET_DIV_SELECT_MASK)) | CCM_ANALOG_PLL_ENET_DIV_SELECT(1);
238 CCM_ANALOG->PLL_ENET |= CCM_ANALOG_PLL_ENET_ENABLE_MASK;
240 CCM_ANALOG->PLL_ENET |= CCM_ANALOG_PLL_ENET_ENET_25M_REF_EN_MASK;
242 CLOCK_DeinitUsb2Pll();
244 CLOCK_SetPllBypass(CCM_ANALOG, kCLOCK_PllUsb2, 1);
246 CCM_ANALOG->PLL_USB2 |= CCM_ANALOG_PLL_USB2_ENABLE_MASK;
248 CLOCK_SetDiv(kCLOCK_AhbDiv, 0);
250 CLOCK_DisableClock(kCLOCK_Adc1);
251 CLOCK_DisableClock(kCLOCK_Adc2);
252 CLOCK_DisableClock(kCLOCK_Xbar1);
253 CLOCK_DisableClock(kCLOCK_Xbar2);
255 CLOCK_SetDiv(kCLOCK_IpgDiv, 3);
257 CLOCK_SetDiv(kCLOCK_ArmDiv, 1);
259 CLOCK_SetMux(kCLOCK_PrePeriphMux, 3);
261 CLOCK_SetMux(kCLOCK_PeriphMux, 0);
263 CLOCK_SetDiv(kCLOCK_PeriphClk2Div, 0);
265 CLOCK_SetMux(kCLOCK_PeriphClk2Mux, 0);
267 CLOCK_DisableClock(kCLOCK_Gpt1);
268 CLOCK_DisableClock(kCLOCK_Gpt1S);
269 CLOCK_DisableClock(kCLOCK_Gpt2);
270 CLOCK_DisableClock(kCLOCK_Gpt2S);
271 CLOCK_DisableClock(kCLOCK_Pit);
273 CLOCK_SetDiv(kCLOCK_PerclkDiv, 1);
275 CLOCK_SetMux(kCLOCK_PerclkMux, 0);
277 CLOCK_DisableClock(kCLOCK_Usdhc1);
279 CLOCK_SetDiv(kCLOCK_Usdhc1Div, 1);
281 CLOCK_SetMux(kCLOCK_Usdhc1Mux, 0);
283 CLOCK_DisableClock(kCLOCK_Usdhc2);
285 CLOCK_SetDiv(kCLOCK_Usdhc2Div, 1);
287 CLOCK_SetMux(kCLOCK_Usdhc2Mux, 0);
291 #ifndef SKIP_SYSCLK_INIT 293 CLOCK_DisableClock(kCLOCK_Semc);
295 CLOCK_SetDiv(kCLOCK_SemcDiv, 7);
297 CLOCK_SetMux(kCLOCK_SemcAltMux, 0);
299 CLOCK_SetMux(kCLOCK_SemcMux, 0);
302 CLOCK_DisableClock(kCLOCK_FlexSpi);
304 CLOCK_SetDiv(kCLOCK_FlexspiDiv, 0);
306 CLOCK_SetMux(kCLOCK_FlexspiMux, 3);
310 #if !(defined(XIP_EXTERNAL_FLASH) && (XIP_EXTERNAL_FLASH == 1)) 312 CLOCK_DisableClock(kCLOCK_FlexSpi2);
314 CLOCK_SetDiv(kCLOCK_Flexspi2Div, 0);
316 CLOCK_SetMux(kCLOCK_Flexspi2Mux, 1);
319 CLOCK_DisableClock(kCLOCK_Csi);
321 CLOCK_SetDiv(kCLOCK_CsiDiv, 1);
323 CLOCK_SetMux(kCLOCK_CsiMux, 0);
325 CLOCK_DisableClock(kCLOCK_Lpspi1);
326 CLOCK_DisableClock(kCLOCK_Lpspi2);
327 CLOCK_DisableClock(kCLOCK_Lpspi3);
328 CLOCK_DisableClock(kCLOCK_Lpspi4);
330 CLOCK_SetDiv(kCLOCK_LpspiDiv, 4);
332 CLOCK_SetMux(kCLOCK_LpspiMux, 2);
334 CLOCK_DisableClock(kCLOCK_Trace);
336 CLOCK_SetDiv(kCLOCK_TraceDiv, 2);
338 CLOCK_SetMux(kCLOCK_TraceMux, 2);
340 CLOCK_DisableClock(kCLOCK_Sai1);
342 CLOCK_SetDiv(kCLOCK_Sai1PreDiv, 3);
344 CLOCK_SetDiv(kCLOCK_Sai1Div, 1);
346 CLOCK_SetMux(kCLOCK_Sai1Mux, 0);
348 CLOCK_DisableClock(kCLOCK_Sai2);
350 CLOCK_SetDiv(kCLOCK_Sai2PreDiv, 3);
352 CLOCK_SetDiv(kCLOCK_Sai2Div, 1);
354 CLOCK_SetMux(kCLOCK_Sai2Mux, 0);
356 CLOCK_DisableClock(kCLOCK_Sai3);
358 CLOCK_SetDiv(kCLOCK_Sai3PreDiv, 3);
360 CLOCK_SetDiv(kCLOCK_Sai3Div, 1);
362 CLOCK_SetMux(kCLOCK_Sai3Mux, 0);
364 CLOCK_DisableClock(kCLOCK_Lpi2c1);
365 CLOCK_DisableClock(kCLOCK_Lpi2c2);
366 CLOCK_DisableClock(kCLOCK_Lpi2c3);
368 CLOCK_SetDiv(kCLOCK_Lpi2cDiv, 0);
370 CLOCK_SetMux(kCLOCK_Lpi2cMux, 0);
372 CLOCK_DisableClock(kCLOCK_Can1);
373 CLOCK_DisableClock(kCLOCK_Can2);
374 CLOCK_DisableClock(kCLOCK_Can3);
375 CLOCK_DisableClock(kCLOCK_Can1S);
376 CLOCK_DisableClock(kCLOCK_Can2S);
377 CLOCK_DisableClock(kCLOCK_Can3S);
379 CLOCK_SetDiv(kCLOCK_CanDiv, 1);
381 CLOCK_SetMux(kCLOCK_CanMux, 2);
383 CLOCK_DisableClock(kCLOCK_Lpuart1);
384 CLOCK_DisableClock(kCLOCK_Lpuart2);
385 CLOCK_DisableClock(kCLOCK_Lpuart3);
386 CLOCK_DisableClock(kCLOCK_Lpuart4);
387 CLOCK_DisableClock(kCLOCK_Lpuart5);
388 CLOCK_DisableClock(kCLOCK_Lpuart6);
389 CLOCK_DisableClock(kCLOCK_Lpuart7);
390 CLOCK_DisableClock(kCLOCK_Lpuart8);
392 CLOCK_SetDiv(kCLOCK_UartDiv, 0);
394 CLOCK_SetMux(kCLOCK_UartMux, 0);
396 CLOCK_DisableClock(kCLOCK_LcdPixel);
398 CLOCK_SetDiv(kCLOCK_LcdifPreDiv, 1);
400 CLOCK_SetDiv(kCLOCK_LcdifDiv, 3);
402 CLOCK_SetMux(kCLOCK_LcdifPreMux, 5);
404 CLOCK_DisableClock(kCLOCK_Spdif);
406 CLOCK_SetDiv(kCLOCK_Spdif0PreDiv, 1);
408 CLOCK_SetDiv(kCLOCK_Spdif0Div, 7);
410 CLOCK_SetMux(kCLOCK_SpdifMux, 3);
412 CLOCK_DisableClock(kCLOCK_Flexio1);
414 CLOCK_SetDiv(kCLOCK_Flexio1PreDiv, 1);
416 CLOCK_SetDiv(kCLOCK_Flexio1Div, 7);
418 CLOCK_SetMux(kCLOCK_Flexio1Mux, 3);
420 CLOCK_DisableClock(kCLOCK_Flexio2);
422 CLOCK_SetDiv(kCLOCK_Flexio2PreDiv, 1);
424 CLOCK_SetDiv(kCLOCK_Flexio2Div, 7);
426 CLOCK_SetMux(kCLOCK_Flexio2Mux, 3);
428 CLOCK_SetMux(kCLOCK_Pll3SwMux, 0);
430 CCM_ANALOG->MISC1 = (CCM_ANALOG->MISC1 & (~CCM_ANALOG_MISC1_LVDS1_CLK_SEL_MASK)) | CCM_ANALOG_MISC1_LVDS1_CLK_SEL(0);
432 CCM->CCOSR = (CCM->CCOSR & (~CCM_CCOSR_CLKO1_DIV_MASK)) | CCM_CCOSR_CLKO1_DIV(0);
434 CCM->CCOSR = (CCM->CCOSR & (~CCM_CCOSR_CLKO1_SEL_MASK)) | CCM_CCOSR_CLKO1_SEL(1);
436 CCM->CCOSR = (CCM->CCOSR & (~CCM_CCOSR_CLKO2_DIV_MASK)) | CCM_CCOSR_CLKO2_DIV(0);
438 CCM->CCOSR = (CCM->CCOSR & (~CCM_CCOSR_CLKO2_SEL_MASK)) | CCM_CCOSR_CLKO2_SEL(18);
440 CCM->CCOSR &= ~CCM_CCOSR_CLK_OUT_SEL_MASK;
442 CCM->CCOSR &= ~CCM_CCOSR_CLKO1_EN_MASK;
444 CCM->CCOSR &= ~CCM_CCOSR_CLKO2_EN_MASK;
const clock_sys_pll_config_t sysPllConfig_BOARD_BootClockRUN
Sys PLL for BOARD_BootClockRUN configuration.
void BOARD_InitBootClocks(void)
This function executes default configuration of clocks.
void BOARD_BootClockRUN(void)
This function executes configuration of clocks.
const clock_usb_pll_config_t usb1PllConfig_BOARD_BootClockRUN
Usb1 PLL set for BOARD_BootClockRUN configuration.
const clock_arm_pll_config_t armPllConfig_BOARD_BootClockRUN
Arm PLL set for BOARD_BootClockRUN configuration.
#define BOARD_BOOTCLOCKRUN_CORE_CLOCK