33 #include "fsl_iomuxc.h" 131 .enableClkOutput500M =
true,
140 CLOCK_SetRtcXtalFreq(32768U);
142 XTALOSC24M->OSC_CONFIG2 |= XTALOSC24M_OSC_CONFIG2_ENABLE_1M_MASK;
144 XTALOSC24M->OSC_CONFIG2 &= ~XTALOSC24M_OSC_CONFIG2_MUX_1M_MASK;
146 CLOCK_SetXtalFreq(24000000U);
148 CLOCK_InitExternalClk(0);
150 CLOCK_InitRcOsc24M();
152 CLOCK_SwitchOsc(kCLOCK_XtalOsc);
154 CCM->CCR = (CCM->CCR & (~CCM_CCR_OSCNT_MASK)) | CCM_CCR_OSCNT(127);
156 CLOCK_SetMux(kCLOCK_PeriphClk2Mux, 1);
157 CLOCK_SetMux(kCLOCK_PeriphMux, 1);
159 DCDC->REG3 = (DCDC->REG3 & (~DCDC_REG3_TRG_MASK)) | DCDC_REG3_TRG(0x12);
161 while (DCDC_REG0_STS_DC_OK_MASK != (DCDC_REG0_STS_DC_OK_MASK & DCDC->REG0))
165 CLOCK_SetDiv(kCLOCK_AhbDiv, 0);
167 CLOCK_DisableClock(kCLOCK_Adc1);
168 CLOCK_DisableClock(kCLOCK_Xbar1);
170 CLOCK_SetDiv(kCLOCK_IpgDiv, 3);
172 CLOCK_DisableClock(kCLOCK_Gpt1);
173 CLOCK_DisableClock(kCLOCK_Gpt1S);
174 CLOCK_DisableClock(kCLOCK_Gpt2);
175 CLOCK_DisableClock(kCLOCK_Gpt2S);
176 CLOCK_DisableClock(kCLOCK_Pit);
178 CLOCK_SetDiv(kCLOCK_PerclkDiv, 1);
183 #if !(defined(XIP_EXTERNAL_FLASH) && (XIP_EXTERNAL_FLASH == 1)) 185 CLOCK_DisableClock(kCLOCK_FlexSpi);
187 CLOCK_SetDiv(kCLOCK_FlexspiDiv, 3);
189 CLOCK_SetMux(kCLOCK_FlexspiMux, 0);
190 CLOCK_SetMux(kCLOCK_FlexspiSrcMux, 0);
193 CCM->CSCMR2 &= ~CCM_CSCMR2_ADC_ACLK_EN_MASK;
195 CLOCK_SetDiv(kCLOCK_AdcDiv, 11);
197 CLOCK_DisableClock(kCLOCK_Lpspi1);
198 CLOCK_DisableClock(kCLOCK_Lpspi2);
200 CLOCK_SetDiv(kCLOCK_LpspiDiv, 4);
202 CLOCK_SetMux(kCLOCK_LpspiMux, 2);
204 CLOCK_DisableClock(kCLOCK_Trace);
206 CLOCK_SetDiv(kCLOCK_TraceDiv, 2);
208 CLOCK_SetMux(kCLOCK_TraceMux, 2);
210 CLOCK_DisableClock(kCLOCK_Sai1);
212 CLOCK_SetDiv(kCLOCK_Sai1PreDiv, 3);
214 CLOCK_SetDiv(kCLOCK_Sai1Div, 1);
216 CLOCK_SetMux(kCLOCK_Sai1Mux, 0);
218 CLOCK_DisableClock(kCLOCK_Sai3);
220 CLOCK_SetDiv(kCLOCK_Sai3PreDiv, 3);
222 CLOCK_SetDiv(kCLOCK_Sai3Div, 1);
224 CLOCK_SetMux(kCLOCK_Sai3Mux, 0);
226 CLOCK_DisableClock(kCLOCK_Lpi2c1);
227 CLOCK_DisableClock(kCLOCK_Lpi2c2);
229 CLOCK_SetDiv(kCLOCK_Lpi2cDiv, 0);
231 CLOCK_SetMux(kCLOCK_Lpi2cMux, 0);
233 CLOCK_DisableClock(kCLOCK_Lpuart1);
234 CLOCK_DisableClock(kCLOCK_Lpuart2);
235 CLOCK_DisableClock(kCLOCK_Lpuart3);
236 CLOCK_DisableClock(kCLOCK_Lpuart4);
238 CLOCK_SetDiv(kCLOCK_UartDiv, 0);
240 CLOCK_SetMux(kCLOCK_UartMux, 0);
242 CLOCK_DisableClock(kCLOCK_Spdif);
244 CLOCK_SetDiv(kCLOCK_Spdif0PreDiv, 1);
246 CLOCK_SetDiv(kCLOCK_Spdif0Div, 7);
248 CLOCK_SetMux(kCLOCK_SpdifMux, 3);
250 CLOCK_DisableClock(kCLOCK_Flexio1);
252 CLOCK_SetDiv(kCLOCK_Flexio1PreDiv, 1);
254 CLOCK_SetDiv(kCLOCK_Flexio1Div, 7);
256 CLOCK_SetMux(kCLOCK_Flexio1Mux, 3);
258 CLOCK_SetMux(kCLOCK_Pll3SwMux, 0);
262 CLOCK_InitSysPfd(kCLOCK_Pfd0, 27);
264 CLOCK_InitSysPfd(kCLOCK_Pfd1, 16);
266 CLOCK_InitSysPfd(kCLOCK_Pfd2, 24);
268 CLOCK_InitSysPfd(kCLOCK_Pfd3, 20);
273 #if !(defined(XIP_EXTERNAL_FLASH) && (XIP_EXTERNAL_FLASH == 1)) 277 CLOCK_InitUsb1Pfd(kCLOCK_Pfd0, 12);
279 CLOCK_InitUsb1Pfd(kCLOCK_Pfd1, 16);
281 CLOCK_InitUsb1Pfd(kCLOCK_Pfd2, 17);
283 CLOCK_InitUsb1Pfd(kCLOCK_Pfd3, 19);
285 CCM_ANALOG->PLL_USB1 &= ~CCM_ANALOG_PLL_USB1_EN_USB_CLKS_MASK;
288 CLOCK_DeinitAudioPll();
290 CLOCK_SetPllBypass(CCM_ANALOG, kCLOCK_PllAudio, 1);
292 CCM_ANALOG->MISC2 &= ~CCM_ANALOG_MISC2_AUDIO_DIV_LSB_MASK;
293 CCM_ANALOG->MISC2 &= ~CCM_ANALOG_MISC2_AUDIO_DIV_MSB_MASK;
295 CCM_ANALOG->PLL_AUDIO |= CCM_ANALOG_PLL_AUDIO_ENABLE_MASK;
299 CLOCK_SetMux(kCLOCK_PrePeriphMux, 3);
301 CLOCK_SetMux(kCLOCK_PeriphMux, 0);
303 CLOCK_SetMux(kCLOCK_PeriphClk2Mux, 0);
305 CLOCK_SetMux(kCLOCK_PerclkMux, 0);
307 CCM->CCOSR = (CCM->CCOSR & (~CCM_CCOSR_CLKO1_DIV_MASK)) | CCM_CCOSR_CLKO1_DIV(0);
309 CCM->CCOSR = (CCM->CCOSR & (~CCM_CCOSR_CLKO1_SEL_MASK)) | CCM_CCOSR_CLKO1_SEL(1);
311 CCM->CCOSR = (CCM->CCOSR & (~CCM_CCOSR_CLKO2_DIV_MASK)) | CCM_CCOSR_CLKO2_DIV(0);
313 CCM->CCOSR = (CCM->CCOSR & (~CCM_CCOSR_CLKO2_SEL_MASK)) | CCM_CCOSR_CLKO2_SEL(18);
315 CCM->CCOSR &= ~CCM_CCOSR_CLK_OUT_SEL_MASK;
317 CCM->CCOSR &= ~CCM_CCOSR_CLKO1_EN_MASK;
319 CCM->CCOSR &= ~CCM_CCOSR_CLKO2_EN_MASK;
321 IOMUXC_SetSaiMClkClockSource(IOMUXC_GPR, kIOMUXC_GPR_SAI1MClk1Sel, 0);
323 IOMUXC_SetSaiMClkClockSource(IOMUXC_GPR, kIOMUXC_GPR_SAI1MClk2Sel, 0);
325 IOMUXC_SetSaiMClkClockSource(IOMUXC_GPR, kIOMUXC_GPR_SAI1MClk3Sel, 0);
327 IOMUXC_SetSaiMClkClockSource(IOMUXC_GPR, kIOMUXC_GPR_SAI3MClk3Sel, 0);
329 IOMUXC_MQSConfig(IOMUXC_GPR, kIOMUXC_MqsPwmOverSampleRate32, 0);
331 IOMUXC_GPR->GPR5 &= ~IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT1_MASK;
333 IOMUXC_GPR->GPR5 &= ~IOMUXC_GPR_GPR5_VREF_1M_CLK_GPT2_MASK;
const clock_enet_pll_config_t enetPllConfig_BOARD_BootClockRUN
Enet PLL set for BOARD_BootClockRUN configuration.
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.
#define BOARD_BOOTCLOCKRUN_CORE_CLOCK