@@ -75,16 +75,19 @@ static uint8_t CLOCK_GetOscRangeFromFreq(uint32_t freq);
7575static uint32_t CLOCK_GetLircClkFreq (void )
7676{
7777 static const uint32_t lircFreqs [] = {MCG_LIRC_FREQ1 , MCG_LIRC_FREQ2 };
78+ uint32_t freq ;
7879
7980 /* Check whether the LIRC is enabled. */
80- if ((MCG -> C1 & MCG_C1_IRCLKEN_MASK ) || (kMCGLITE_ClkSrcLirc == MCG_S_CLKST_VAL ))
81+ if ((( MCG -> C1 & MCG_C1_IRCLKEN_MASK ) != 0U ) || (( uint8_t ) kMCGLITE_ClkSrcLirc == MCG_S_CLKST_VAL ))
8182 {
82- return lircFreqs [MCG_C2_IRCS_VAL ];
83+ freq = lircFreqs [MCG_C2_IRCS_VAL ];
8384 }
8485 else
8586 {
86- return 0U ;
87+ freq = 0U ;
8788 }
89+
90+ return freq ;
8891}
8992
9093static uint8_t CLOCK_GetOscRangeFromFreq (uint32_t freq )
@@ -114,16 +117,20 @@ static uint8_t CLOCK_GetOscRangeFromFreq(uint32_t freq)
114117 */
115118uint32_t CLOCK_GetOsc0ErClkFreq (void )
116119{
117- if (OSC0 -> CR & OSC_CR_ERCLKEN_MASK )
120+ uint32_t freq ;
121+
122+ if ((OSC0 -> CR & OSC_CR_ERCLKEN_MASK ) != 0U )
118123 {
119124 /* Please call CLOCK_SetXtal0Freq base on board setting before using OSC0 clock. */
120125 assert (g_xtal0Freq );
121- return g_xtal0Freq ;
126+ freq = g_xtal0Freq ;
122127 }
123128 else
124129 {
125- return 0U ;
130+ freq = 0U ;
126131 }
132+
133+ return freq ;
127134}
128135
129136/*!
@@ -162,7 +169,7 @@ uint32_t CLOCK_GetEr32kClkFreq(void)
162169 */
163170uint32_t CLOCK_GetPlatClkFreq (void )
164171{
165- return CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1 );
172+ return CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1U );
166173}
167174
168175/*!
@@ -174,8 +181,8 @@ uint32_t CLOCK_GetFlashClkFreq(void)
174181{
175182 uint32_t freq ;
176183
177- freq = CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1 );
178- freq /= (SIM_CLKDIV1_OUTDIV4_VAL + 1 );
184+ freq = CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1U );
185+ freq /= (SIM_CLKDIV1_OUTDIV4_VAL + 1U );
179186
180187 return freq ;
181188}
@@ -189,8 +196,8 @@ uint32_t CLOCK_GetBusClkFreq(void)
189196{
190197 uint32_t freq ;
191198
192- freq = CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1 );
193- freq /= (SIM_CLKDIV1_OUTDIV4_VAL + 1 );
199+ freq = CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1U );
200+ freq /= (SIM_CLKDIV1_OUTDIV4_VAL + 1U );
194201
195202 return freq ;
196203}
@@ -202,7 +209,7 @@ uint32_t CLOCK_GetBusClkFreq(void)
202209 */
203210uint32_t CLOCK_GetCoreSysClkFreq (void )
204211{
205- return CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1 );
212+ return CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1U );
206213}
207214
208215/*!
@@ -223,12 +230,12 @@ uint32_t CLOCK_GetFreq(clock_name_t clockName)
223230 {
224231 case kCLOCK_CoreSysClk :
225232 case kCLOCK_PlatClk :
226- freq = CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1 );
233+ freq = CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1U );
227234 break ;
228235 case kCLOCK_BusClk :
229236 case kCLOCK_FlashClk :
230- freq = CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1 );
231- freq /= (SIM_CLKDIV1_OUTDIV4_VAL + 1 );
237+ freq = CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1U );
238+ freq /= (SIM_CLKDIV1_OUTDIV4_VAL + 1U );
232239 break ;
233240 case kCLOCK_Er32kClk :
234241 freq = CLOCK_GetEr32kClkFreq ();
@@ -326,15 +333,19 @@ uint32_t CLOCK_GetInternalRefClkFreq(void)
326333 */
327334uint32_t CLOCK_GetPeriphClkFreq (void )
328335{
336+ uint32_t freq ;
337+
329338 /* Check whether the HIRC is enabled. */
330- if ((MCG -> MC & MCG_MC_HIRCEN_MASK ) || (kMCGLITE_ClkSrcHirc == MCG_S_CLKST_VAL ))
339+ if ((( MCG -> MC & MCG_MC_HIRCEN_MASK ) != 0U ) || (( uint8_t ) kMCGLITE_ClkSrcHirc == MCG_S_CLKST_VAL ))
331340 {
332- return MCG_HIRC_FREQ ;
341+ freq = MCG_HIRC_FREQ ;
333342 }
334343 else
335344 {
336- return 0U ;
345+ freq = 0U ;
337346 }
347+
348+ return freq ;
338349}
339350
340351/*!
@@ -351,13 +362,13 @@ uint32_t CLOCK_GetOutClkFreq(void)
351362
352363 switch (MCG_S_CLKST_VAL )
353364 {
354- case kMCGLITE_ClkSrcHirc :
365+ case ( uint8_t ) kMCGLITE_ClkSrcHirc :
355366 freq = MCG_HIRC_FREQ ;
356367 break ;
357- case kMCGLITE_ClkSrcLirc :
368+ case ( uint8_t ) kMCGLITE_ClkSrcLirc :
358369 freq = CLOCK_GetLircClkFreq () >> MCG_SC_FCRDIV_VAL ;
359370 break ;
360- case kMCGLITE_ClkSrcExt :
371+ case ( uint8_t ) kMCGLITE_ClkSrcExt :
361372 /* Please call CLOCK_SetXtal0Freq base on board setting before using OSC0 clock. */
362373 assert (g_xtal0Freq );
363374 freq = g_xtal0Freq ;
@@ -383,11 +394,11 @@ mcglite_mode_t CLOCK_GetMode(void)
383394
384395 switch (MCG_S_CLKST_VAL )
385396 {
386- case kMCGLITE_ClkSrcHirc : /* HIRC */
397+ case ( uint8_t ) kMCGLITE_ClkSrcHirc : /* HIRC */
387398 mode = kMCGLITE_ModeHirc48M ;
388399 break ;
389- case kMCGLITE_ClkSrcLirc : /* LIRC */
390- if (kMCGLITE_Lirc2M == MCG_C2_IRCS_VAL )
400+ case ( uint8_t ) kMCGLITE_ClkSrcLirc : /* LIRC */
401+ if (( uint8_t ) kMCGLITE_Lirc2M == MCG_C2_IRCS_VAL )
391402 {
392403 mode = kMCGLITE_ModeLirc2M ;
393404 }
@@ -396,7 +407,7 @@ mcglite_mode_t CLOCK_GetMode(void)
396407 mode = kMCGLITE_ModeLirc8M ;
397408 }
398409 break ;
399- case kMCGLITE_ClkSrcExt : /* EXT */
410+ case ( uint8_t ) kMCGLITE_ClkSrcExt : /* EXT */
400411 mode = kMCGLITE_ModeExt ;
401412 break ;
402413 default :
@@ -424,34 +435,34 @@ status_t CLOCK_SetMcgliteConfig(mcglite_config_t const *targetConfig)
424435 * If switch between LIRC8M and LIRC2M, need to switch to HIRC mode first,
425436 * because could not switch directly.
426437 */
427- if ((kMCGLITE_ClkSrcLirc == MCG_S_CLKST_VAL ) && (kMCGLITE_ClkSrcLirc == targetConfig -> outSrc ) &&
428- (MCG_C2_IRCS_VAL != targetConfig -> ircs ))
438+ if ((( uint8_t ) kMCGLITE_ClkSrcLirc == MCG_S_CLKST_VAL ) && (kMCGLITE_ClkSrcLirc == targetConfig -> outSrc ) &&
439+ (MCG_C2_IRCS_VAL != ( uint8_t )( targetConfig -> ircs ) ))
429440 {
430- MCG -> C1 = (MCG -> C1 & ~MCG_C1_CLKS_MASK ) | MCG_C1_CLKS (kMCGLITE_ClkSrcHirc );
431- while (kMCGLITE_ClkSrcHirc != MCG_S_CLKST_VAL )
441+ MCG -> C1 = (uint8_t )(( MCG -> C1 & ~MCG_C1_CLKS_MASK ) | MCG_C1_CLKS (kMCGLITE_ClkSrcHirc ) );
442+ while (( uint8_t ) kMCGLITE_ClkSrcHirc != MCG_S_CLKST_VAL )
432443 {
433444 }
434445 }
435446
436447 /* Set configuration now. */
437448 MCG -> SC = MCG_SC_FCRDIV (targetConfig -> fcrdiv );
438449 MCG -> MC = MCG_MC_HIRCEN (targetConfig -> hircEnableInNotHircMode ) | MCG_MC_LIRC_DIV2 (targetConfig -> lircDiv2 );
439- MCG -> C2 = (MCG -> C2 & ~MCG_C2_IRCS_MASK ) | MCG_C2_IRCS (targetConfig -> ircs );
450+ MCG -> C2 = (uint8_t )(( MCG -> C2 & ~MCG_C2_IRCS_MASK ) | MCG_C2_IRCS (targetConfig -> ircs ) );
440451 MCG -> C1 = MCG_C1_CLKS (targetConfig -> outSrc ) | targetConfig -> irclkEnableMode ;
441452
442453 /*
443454 * If external oscillator used and MCG_Lite is set to EXT mode, need to
444455 * wait for the OSC stable.
445456 */
446- if ((MCG -> C2 & MCG_C2_EREFS0_MASK ) && (kMCGLITE_ClkSrcExt == targetConfig -> outSrc ))
457+ if ((( MCG -> C2 & MCG_C2_EREFS0_MASK ) != 0U ) && (kMCGLITE_ClkSrcExt == targetConfig -> outSrc ))
447458 {
448- while (! (MCG -> S & MCG_S_OSCINIT0_MASK ))
459+ while (0U == (MCG -> S & MCG_S_OSCINIT0_MASK ))
449460 {
450461 }
451462 }
452463
453464 /* Wait for clock source change completed. */
454- while (targetConfig -> outSrc != MCG_S_CLKST_VAL )
465+ while (( uint8_t ) targetConfig -> outSrc != MCG_S_CLKST_VAL )
455466 {
456467 }
457468
@@ -474,10 +485,10 @@ void CLOCK_InitOsc0(osc_config_t const *config)
474485
475486 MCG -> C2 = ((MCG -> C2 & MCG_C2_IRCS_MASK ) | MCG_C2_RANGE0 (range ) | (uint8_t )config -> workMode );
476487
477- if ((kOSC_ModeExt != config -> workMode ) && (OSC0 -> CR & OSC_CR_ERCLKEN_MASK ))
488+ if ((kOSC_ModeExt != config -> workMode ) && (( OSC0 -> CR & OSC_CR_ERCLKEN_MASK ) != 0U ))
478489 {
479490 /* Wait for stable. */
480- while (! (MCG -> S & MCG_S_OSCINIT0_MASK ))
491+ while (0U == (MCG -> S & MCG_S_OSCINIT0_MASK ))
481492 {
482493 }
483494 }
@@ -493,29 +504,3 @@ void CLOCK_DeinitOsc0(void)
493504 OSC0 -> CR = 0U ;
494505 MCG -> C2 &= MCG_C2_IRCS_MASK ;
495506}
496-
497- /*!
498- * brief Delay at least for several microseconds.
499- * Please note that, this API will calculate the microsecond period with the maximum devices
500- * supported CPU frequency, so this API will only delay for at least the given microseconds, if precise
501- * delay count was needed, please implement a new timer count to achieve this function.
502- *
503- * param delay_us Delay time in unit of microsecond.
504- */
505- __attribute__((weak )) void SDK_DelayAtLeastUs (uint32_t delay_us )
506- {
507- assert (0U != delay_us );
508-
509- uint32_t count = (uint32_t )USEC_TO_COUNT (delay_us , SDK_DEVICE_MAXIMUM_CPU_CLOCK_FREQUENCY );
510-
511- /*
512- * Calculate the real delay count depend on the excute instructions cycles,
513- * users can change the divider value to adapt to the real IDE optimise level.
514- */
515- count = (count / 4U );
516-
517- for (; count > 0UL ; count -- )
518- {
519- __NOP ();
520- }
521- }
0 commit comments