@@ -75,16 +75,19 @@ static uint8_t CLOCK_GetOscRangeFromFreq(uint32_t freq);
75
75
static uint32_t CLOCK_GetLircClkFreq (void )
76
76
{
77
77
static const uint32_t lircFreqs [] = {MCG_LIRC_FREQ1 , MCG_LIRC_FREQ2 };
78
+ uint32_t freq ;
78
79
79
80
/* 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 ))
81
82
{
82
- return lircFreqs [MCG_C2_IRCS_VAL ];
83
+ freq = lircFreqs [MCG_C2_IRCS_VAL ];
83
84
}
84
85
else
85
86
{
86
- return 0U ;
87
+ freq = 0U ;
87
88
}
89
+
90
+ return freq ;
88
91
}
89
92
90
93
static uint8_t CLOCK_GetOscRangeFromFreq (uint32_t freq )
@@ -114,16 +117,20 @@ static uint8_t CLOCK_GetOscRangeFromFreq(uint32_t freq)
114
117
*/
115
118
uint32_t CLOCK_GetOsc0ErClkFreq (void )
116
119
{
117
- if (OSC0 -> CR & OSC_CR_ERCLKEN_MASK )
120
+ uint32_t freq ;
121
+
122
+ if ((OSC0 -> CR & OSC_CR_ERCLKEN_MASK ) != 0U )
118
123
{
119
124
/* Please call CLOCK_SetXtal0Freq base on board setting before using OSC0 clock. */
120
125
assert (g_xtal0Freq );
121
- return g_xtal0Freq ;
126
+ freq = g_xtal0Freq ;
122
127
}
123
128
else
124
129
{
125
- return 0U ;
130
+ freq = 0U ;
126
131
}
132
+
133
+ return freq ;
127
134
}
128
135
129
136
/*!
@@ -162,7 +169,7 @@ uint32_t CLOCK_GetEr32kClkFreq(void)
162
169
*/
163
170
uint32_t CLOCK_GetPlatClkFreq (void )
164
171
{
165
- return CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1 );
172
+ return CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1U );
166
173
}
167
174
168
175
/*!
@@ -174,8 +181,8 @@ uint32_t CLOCK_GetFlashClkFreq(void)
174
181
{
175
182
uint32_t freq ;
176
183
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 );
179
186
180
187
return freq ;
181
188
}
@@ -189,8 +196,8 @@ uint32_t CLOCK_GetBusClkFreq(void)
189
196
{
190
197
uint32_t freq ;
191
198
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 );
194
201
195
202
return freq ;
196
203
}
@@ -202,7 +209,7 @@ uint32_t CLOCK_GetBusClkFreq(void)
202
209
*/
203
210
uint32_t CLOCK_GetCoreSysClkFreq (void )
204
211
{
205
- return CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1 );
212
+ return CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1U );
206
213
}
207
214
208
215
/*!
@@ -223,12 +230,12 @@ uint32_t CLOCK_GetFreq(clock_name_t clockName)
223
230
{
224
231
case kCLOCK_CoreSysClk :
225
232
case kCLOCK_PlatClk :
226
- freq = CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1 );
233
+ freq = CLOCK_GetOutClkFreq () / (SIM_CLKDIV1_OUTDIV1_VAL + 1U );
227
234
break ;
228
235
case kCLOCK_BusClk :
229
236
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 );
232
239
break ;
233
240
case kCLOCK_Er32kClk :
234
241
freq = CLOCK_GetEr32kClkFreq ();
@@ -326,15 +333,19 @@ uint32_t CLOCK_GetInternalRefClkFreq(void)
326
333
*/
327
334
uint32_t CLOCK_GetPeriphClkFreq (void )
328
335
{
336
+ uint32_t freq ;
337
+
329
338
/* 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 ))
331
340
{
332
- return MCG_HIRC_FREQ ;
341
+ freq = MCG_HIRC_FREQ ;
333
342
}
334
343
else
335
344
{
336
- return 0U ;
345
+ freq = 0U ;
337
346
}
347
+
348
+ return freq ;
338
349
}
339
350
340
351
/*!
@@ -351,13 +362,13 @@ uint32_t CLOCK_GetOutClkFreq(void)
351
362
352
363
switch (MCG_S_CLKST_VAL )
353
364
{
354
- case kMCGLITE_ClkSrcHirc :
365
+ case ( uint8_t ) kMCGLITE_ClkSrcHirc :
355
366
freq = MCG_HIRC_FREQ ;
356
367
break ;
357
- case kMCGLITE_ClkSrcLirc :
368
+ case ( uint8_t ) kMCGLITE_ClkSrcLirc :
358
369
freq = CLOCK_GetLircClkFreq () >> MCG_SC_FCRDIV_VAL ;
359
370
break ;
360
- case kMCGLITE_ClkSrcExt :
371
+ case ( uint8_t ) kMCGLITE_ClkSrcExt :
361
372
/* Please call CLOCK_SetXtal0Freq base on board setting before using OSC0 clock. */
362
373
assert (g_xtal0Freq );
363
374
freq = g_xtal0Freq ;
@@ -383,11 +394,11 @@ mcglite_mode_t CLOCK_GetMode(void)
383
394
384
395
8000
switch (MCG_S_CLKST_VAL )
385
396
{
386
- case kMCGLITE_ClkSrcHirc : /* HIRC */
397
+ case ( uint8_t ) kMCGLITE_ClkSrcHirc : /* HIRC */
387
398
mode = kMCGLITE_ModeHirc48M ;
388
399
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 )
391
402
{
392
403
mode = kMCGLITE_ModeLirc2M ;
393
404
}
@@ -396,7 +407,7 @@ mcglite_mode_t CLOCK_GetMode(void)
396
407
mode = kMCGLITE_ModeLirc8M ;
397
408
}
398
409
break ;
399
- case kMCGLITE_ClkSrcExt : /* EXT */
410
+ case ( uint8_t ) kMCGLITE_ClkSrcExt : /* EXT */
400
411
mode = kMCGLITE_ModeExt ;
401
412
break ;
402
413
default :
@@ -424,34 +435,34 @@ status_t CLOCK_SetMcgliteConfig(mcglite_config_t const *targetConfig)
424
435
* If switch between LIRC8M and LIRC2M, need to switch to HIRC mode first,
425
436
* because could not switch directly.
426
437
*/
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 ) ))
429
440
{
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 )
432
443
{
433
444
}
434
445
}
435
446
436
447
/* Set configuration now. */
437
448
MCG -> SC = MCG_SC_FCRDIV (targetConfig -> fcrdiv );
438
449
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 ) );
440
451
MCG -> C1 = MCG_C1_CLKS (targetConfig -> outSrc ) | targetConfig -> irclkEnableMode ;
441
452
442
453
/*
443
454
* If external oscillator used and MCG_Lite is set to EXT mode, need to
444
455
* wait for the OSC stable.
445
456
*/
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 ))
447
458
{
448
- while (! (MCG -> S & MCG_S_OSCINIT0_MASK ))
459
+ while (0U == (MCG -> S & MCG_S_OSCINIT0_MASK ))
449
460
{
450
461
}
451
462
}
452
463
453
464
/* Wait for clock source change completed. */
454
- while (targetConfig -> outSrc != MCG_S_CLKST_VAL )
465
+ while (( uint8_t ) targetConfig -> outSrc != MCG_S_CLKST_VAL )
455
466
{
456
467
}
457
468
@@ -474,10 +485,10 @@ void CLOCK_InitOsc0(osc_config_t const *config)
474
485
475
486
MCG -> C2 = ((MCG -> C2 & MCG_C2_IRCS_MASK ) | MCG_C2_RANGE0 (range ) | (uint8_t )config -> workMode );
476
487
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 ))
478
489
{
479
490
/* Wait for stable. */
480
- while (! (MCG -> S & MCG_S_OSCINIT0_MASK ))
491
+ while (0U == (MCG -> S & MCG_S_OSCINIT0_MASK ))
481
492
{
482
493
}
483
494
}
@@ -493,29 +504,3 @@ void CLOCK_DeinitOsc0(void)
493
504
OSC0 -> CR = 0U ;
494
505
MCG -> C2 &= MCG_C2_IRCS_MASK ;
495
506
}
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