1 /*
2  * Copyright 2020-2023 NXP
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 /**
7 *   @file       Clock_Ip_Gate.c
8 *   @version    2.0.0
9 *
10 *   @brief   CLOCK driver implementations.
11 *   @details CLOCK driver implementations.
12 *
13 *   @addtogroup CLOCK_DRIVER Clock Ip Driver
14 *   @{
15 */
16 
17 
18 #ifdef __cplusplus
19 extern "C"{
20 #endif
21 
22 
23 /*==================================================================================================
24 *                                          INCLUDE FILES
25 * 1) system and project includes
26 * 2) needed interfaces from external units
27 * 3) internal and external interfaces from this unit
28 ==================================================================================================*/
29 
30 
31 #include "Clock_Ip_Private.h"
32 
33 /*==================================================================================================
34                                SOURCE FILE VERSION INFORMATION
35 ==================================================================================================*/
36 #define CLOCK_IP_GATE_VENDOR_ID_C                      43
37 #define CLOCK_IP_GATE_AR_RELEASE_MAJOR_VERSION_C       4
38 #define CLOCK_IP_GATE_AR_RELEASE_MINOR_VERSION_C       7
39 #define CLOCK_IP_GATE_AR_RELEASE_REVISION_VERSION_C    0
40 #define CLOCK_IP_GATE_SW_MAJOR_VERSION_C               2
41 #define CLOCK_IP_GATE_SW_MINOR_VERSION_C               0
42 #define CLOCK_IP_GATE_SW_PATCH_VERSION_C               0
43 
44 /*==================================================================================================
45 *                                     FILE VERSION CHECKS
46 ==================================================================================================*/
47 /* Check if Clock_Ip_Gate.c file and Clock_Ip_Private.h file are of the same vendor */
48 #if (CLOCK_IP_GATE_VENDOR_ID_C != CLOCK_IP_PRIVATE_VENDOR_ID)
49     #error "Clock_Ip_Gate.c and Clock_Ip_Private.h have different vendor ids"
50 #endif
51 
52 /* Check if Clock_Ip_Gate.c file and Clock_Ip_Private.h file are of the same Autosar version */
53 #if ((CLOCK_IP_GATE_AR_RELEASE_MAJOR_VERSION_C != CLOCK_IP_PRIVATE_AR_RELEASE_MAJOR_VERSION) || \
54      (CLOCK_IP_GATE_AR_RELEASE_MINOR_VERSION_C != CLOCK_IP_PRIVATE_AR_RELEASE_MINOR_VERSION) || \
55      (CLOCK_IP_GATE_AR_RELEASE_REVISION_VERSION_C != CLOCK_IP_PRIVATE_AR_RELEASE_REVISION_VERSION) \
56     )
57     #error "AutoSar Version Numbers of Clock_Ip_Gate.c and Clock_Ip_Private.h are different"
58 #endif
59 
60 /* Check if Clock_Ip_Gate.c file and Clock_Ip_Private.h file are of the same Software version */
61 #if ((CLOCK_IP_GATE_SW_MAJOR_VERSION_C != CLOCK_IP_PRIVATE_SW_MAJOR_VERSION) || \
62      (CLOCK_IP_GATE_SW_MINOR_VERSION_C != CLOCK_IP_PRIVATE_SW_MINOR_VERSION) || \
63      (CLOCK_IP_GATE_SW_PATCH_VERSION_C != CLOCK_IP_PRIVATE_SW_PATCH_VERSION) \
64     )
65     #error "Software Version Numbers of Clock_Ip_Gate.c and Clock_Ip_Private.h are different"
66 #endif
67 
68 /*==================================================================================================
69 *                           LOCAL TYPEDEFS (STRUCTURES, UNIONS, ENUMS)
70 ==================================================================================================*/
71 
72 /*==================================================================================================
73 *                                          LOCAL MACROS
74 ==================================================================================================*/
75 
76 /*==================================================================================================
77 *                                         LOCAL CONSTANTS
78 ==================================================================================================*/
79 
80 /*==================================================================================================
81 *                                         LOCAL VARIABLES
82 ==================================================================================================*/
83 
84 /*==================================================================================================
85 *                                        GLOBAL CONSTANTS
86 ==================================================================================================*/
87 
88 /*==================================================================================================
89 *                                        GLOBAL VARIABLES
90 ==================================================================================================*/
91 
92 /*==================================================================================================
93 *                                    GLOBAL FUNCTION PROTOTYPES
94 ==================================================================================================*/
95 /* Clock start section code */
96 #define MCU_START_SEC_CODE
97 
98 #include "Mcu_MemMap.h"
99 #ifdef CLOCK_IP_SIM_LPO1K_ENABLE
100 /* Write configuration of clock gate to register */
101 void Clock_Ip_ClockSetSimLPO1KEnable_TrustedCall(Clock_Ip_GateConfigType const* Config);
102 #endif
103 
104 #ifdef CLOCK_IP_SIM_LPO32K_ENABLE
105 /* Write configuration of clock gate to register */
106 void Clock_Ip_ClockSetSimLPO32KEnable_TrustedCall(Clock_Ip_GateConfigType const* Config);
107 #endif
108 
109 #ifdef CLOCK_IP_SIM_CLKOUT_ENABLE
110 /* Write configuration of clock gate to register */
111 void Clock_Ip_ClockSetSimClkoutEnable_TrustedCall(Clock_Ip_GateConfigType const* Config);
112 #endif
113 
114 #ifdef CLOCK_IP_PCC_CGC_ENABLE
115 /* Write configuration of clock gate to register */
116 void Clock_Ip_ClockSetPccCgcEnable_TrustedCall(Clock_Ip_GateConfigType const* Config);
117 #endif
118 
119 #ifdef CLOCK_IP_SIM_PLATCGC_CGC
120 /* Write configuration of clock gate to register */
121 void Clock_Ip_ClockSetSimGate_TrustedCall(Clock_Ip_GateConfigType const* Config);
122 #endif
123 
124 #ifdef CLOCK_IP_SIM_TRACE_ENABLE
125 /* Write configuration of clock gate to register */
126 void Clock_Ip_ClockSetSimTraceEnable_TrustedCall(Clock_Ip_GateConfigType const* Config);
127 #endif
128 
129 /*==================================================================================================
130 *                                    LOCAL FUNCTION PROTOTYPES
131 ==================================================================================================*/
132 
133 static void Clock_Ip_ClockSetGateEmpty(Clock_Ip_GateConfigType const* Config);
134 static void Clock_Ip_ClockUpdateGateEmpty(Clock_Ip_NameType ClockName, boolean Gate);
135 #ifdef CLOCK_IP_SIM_LPO1K_ENABLE
136 static void Clock_Ip_ClockSetSimLPO1KEnable(Clock_Ip_GateConfigType const* Config);
137 static void Clock_Ip_ClockUpdateSimLPO1KEnable(Clock_Ip_NameType ClockName, boolean Gate);
138 #endif
139 #ifdef CLOCK_IP_SIM_LPO32K_ENABLE
140 static void Clock_Ip_ClockSetSimLPO32KEnable(Clock_Ip_GateConfigType const* Config);
141 static void Clock_Ip_ClockUpdateSimLPO32KEnable(Clock_Ip_NameType ClockName, boolean Gate);
142 #endif
143 #ifdef CLOCK_IP_SIM_CLKOUT_ENABLE
144 static void Clock_Ip_ClockSetSimClkoutEnable(Clock_Ip_GateConfigType const* Config);
145 static void Clock_Ip_ClockUpdateSimClkoutEnable(Clock_Ip_NameType ClockName, boolean Gate);
146 #endif
147 #ifdef CLOCK_IP_PCC_CGC_ENABLE
148 static void Clock_Ip_ClockSetPccCgcEnable(Clock_Ip_GateConfigType const* Config);
149 static void Clock_Ip_ClockUpdatePccCgcEnable(Clock_Ip_NameType ClockName, boolean Gate);
150 #endif
151 #ifdef CLOCK_IP_SIM_PLATCGC_CGC
152 static void Clock_Ip_ClockSetSimGate(Clock_Ip_GateConfigType const* Config);
153 static void Clock_Ip_ClockUpdateSimGate(Clock_Ip_NameType ClockName, boolean Gate);
154 #endif
155 #ifdef CLOCK_IP_SIM_TRACE_ENABLE
156 static void Clock_Ip_ClockSetSimTraceEnable(Clock_Ip_GateConfigType const* Config);
157 static void Clock_Ip_ClockUpdateSimTraceEnable(Clock_Ip_NameType ClockName, boolean Gate);
158 #endif
159 
160 /* Clock stop section code */
161 #define MCU_STOP_SEC_CODE
162 
163 #include "Mcu_MemMap.h"
164 /*==================================================================================================
165 *                                         LOCAL FUNCTIONS
166 ==================================================================================================*/
167 
168 /* Clock start section code */
169 #define MCU_START_SEC_CODE
170 
171 #include "Mcu_MemMap.h"
172 
Clock_Ip_ClockSetGateEmpty(Clock_Ip_GateConfigType const * Config)173 static void Clock_Ip_ClockSetGateEmpty(Clock_Ip_GateConfigType const* Config)
174 {
175     (void)Config;
176     /* No implementation */
177 }
Clock_Ip_ClockUpdateGateEmpty(Clock_Ip_NameType ClockName,boolean Gate)178 static void Clock_Ip_ClockUpdateGateEmpty(Clock_Ip_NameType ClockName, boolean Gate)
179 {
180     (void)ClockName;
181     (void)Gate;
182     /* No implementation */
183 }
184 
185 #ifdef CLOCK_IP_SIM_LPO1K_ENABLE
Clock_Ip_ClockSetSimLPO1KEnable(Clock_Ip_GateConfigType const * Config)186 static void Clock_Ip_ClockSetSimLPO1KEnable(Clock_Ip_GateConfigType const* Config)
187 {
188     if (NULL_PTR != Config)
189     {
190     #ifdef CLOCK_IP_ENABLE_USER_MODE_SUPPORT
191       #if (STD_ON == CLOCK_IP_ENABLE_USER_MODE_SUPPORT)
192         OsIf_Trusted_Call1param(Clock_Ip_ClockSetSimLPO1KEnable_TrustedCall,(Config));
193       #else
194         Clock_Ip_ClockSetSimLPO1KEnable_TrustedCall(Config);
195       #endif
196     #endif /* CLOCK_IP_ENABLE_USER_MODE_SUPPORT */
197     }
198 }
199 
Clock_Ip_ClockUpdateSimLPO1KEnable(Clock_Ip_NameType ClockName,boolean Gate)200 static void Clock_Ip_ClockUpdateSimLPO1KEnable(Clock_Ip_NameType ClockName, boolean Gate)
201 {
202     Clock_Ip_GateConfigType Config;
203 
204     Config.Name = ClockName;
205     if (TRUE == Gate)
206     {
207         Config.Enable = 0U;
208     }
209     else
210     {
211         Config.Enable = 1U;
212     }
213     /* Write configuration to register */
214     Clock_Ip_ClockSetSimLPO1KEnable(&Config);
215 }
216 #endif
217 
218 #ifdef CLOCK_IP_SIM_LPO32K_ENABLE
Clock_Ip_ClockSetSimLPO32KEnable(Clock_Ip_GateConfigType const * Config)219 static void Clock_Ip_ClockSetSimLPO32KEnable(Clock_Ip_GateConfigType const* Config)
220 {
221     if (NULL_PTR != Config)
222     {
223     #ifdef CLOCK_IP_ENABLE_USER_MODE_SUPPORT
224       #if (STD_ON == CLOCK_IP_ENABLE_USER_MODE_SUPPORT)
225         OsIf_Trusted_Call1param(Clock_Ip_ClockSetSimLPO32KEnable_TrustedCall,(Config));
226       #else
227         Clock_Ip_ClockSetSimLPO32KEnable_TrustedCall(Config);
228       #endif
229     #endif /* CLOCK_IP_ENABLE_USER_MODE_SUPPORT */
230     }
231 }
Clock_Ip_ClockUpdateSimLPO32KEnable(Clock_Ip_NameType ClockName,boolean Gate)232 static void Clock_Ip_ClockUpdateSimLPO32KEnable(Clock_Ip_NameType ClockName, boolean Gate)
233 {
234     Clock_Ip_GateConfigType Config;
235 
236     Config.Name = ClockName;
237     if (TRUE == Gate)
238     {
239         Config.Enable = 0U;
240     }
241     else
242     {
243         Config.Enable = 1U;
244     }
245     /* Write configuration to register */
246     Clock_Ip_ClockSetSimLPO32KEnable(&Config);
247 }
248 #endif
249 
250 #ifdef CLOCK_IP_SIM_CLKOUT_ENABLE
Clock_Ip_ClockSetSimClkoutEnable(Clock_Ip_GateConfigType const * Config)251 static void Clock_Ip_ClockSetSimClkoutEnable(Clock_Ip_GateConfigType const* Config)
252 {
253     if (NULL_PTR != Config)
254     {
255     #ifdef CLOCK_IP_ENABLE_USER_MODE_SUPPORT
256       #if (STD_ON == CLOCK_IP_ENABLE_USER_MODE_SUPPORT)
257         OsIf_Trusted_Call1param(Clock_Ip_ClockSetSimClkoutEnable_TrustedCall,(Config));
258       #else
259         Clock_Ip_ClockSetSimClkoutEnable_TrustedCall(Config);
260       #endif
261     #endif /* CLOCK_IP_ENABLE_USER_MODE_SUPPORT */
262     }
263 }
Clock_Ip_ClockUpdateSimClkoutEnable(Clock_Ip_NameType ClockName,boolean Gate)264 static void Clock_Ip_ClockUpdateSimClkoutEnable(Clock_Ip_NameType ClockName, boolean Gate)
265 {
266     Clock_Ip_GateConfigType Config;
267 
268     Config.Name = ClockName;
269     if (TRUE == Gate)
270     {
271         Config.Enable = 0U;
272     }
273     else
274     {
275         Config.Enable = 1U;
276     }
277     /* Write configuration to register */
278     Clock_Ip_ClockSetSimClkoutEnable(&Config);
279 }
280 #endif
281 
282 #ifdef CLOCK_IP_PCC_CGC_ENABLE
Clock_Ip_ClockSetPccCgcEnable(Clock_Ip_GateConfigType const * Config)283 static void Clock_Ip_ClockSetPccCgcEnable(Clock_Ip_GateConfigType const* Config)
284 {
285     if (NULL_PTR != Config)
286     {
287     #ifdef CLOCK_IP_ENABLE_USER_MODE_SUPPORT
288       #if (STD_ON == CLOCK_IP_ENABLE_USER_MODE_SUPPORT)
289         OsIf_Trusted_Call1param(Clock_Ip_ClockSetPccCgcEnable_TrustedCall,(Config));
290       #else
291         Clock_Ip_ClockSetPccCgcEnable_TrustedCall(Config);
292       #endif
293     #endif /* CLOCK_IP_ENABLE_USER_MODE_SUPPORT */
294     }
295 }
Clock_Ip_ClockUpdatePccCgcEnable(Clock_Ip_NameType ClockName,boolean Gate)296 static void Clock_Ip_ClockUpdatePccCgcEnable(Clock_Ip_NameType ClockName, boolean Gate)
297 {
298     Clock_Ip_GateConfigType Config;
299 
300     Config.Name = ClockName;
301     if (TRUE == Gate)
302     {
303         Config.Enable = 0U;
304     }
305     else
306     {
307         Config.Enable = 1U;
308     }
309     /* Write configuration to register */
310     Clock_Ip_ClockSetPccCgcEnable(&Config);
311 }
312 #endif
313 
314 #ifdef CLOCK_IP_SIM_PLATCGC_CGC
315 #define SIM_PLATCGC_CGC_SHIFT(x)   (x)
316 #define SIM_PLATCGC_CGC_MASK(x)  ((uint32)1U << (x))
Clock_Ip_ClockSetSimGate(Clock_Ip_GateConfigType const * Config)317 static void Clock_Ip_ClockSetSimGate(Clock_Ip_GateConfigType const* Config)
318 {
319     if (NULL_PTR != Config)
320     {
321     #ifdef CLOCK_IP_ENABLE_USER_MODE_SUPPORT
322       #if (STD_ON == CLOCK_IP_ENABLE_USER_MODE_SUPPORT)
323         OsIf_Trusted_Call1param(Clock_Ip_ClockSetSimGate_TrustedCall,(Config));
324       #else
325         Clock_Ip_ClockSetSimGate_TrustedCall(Config);
326       #endif
327     #endif /* CLOCK_IP_ENABLE_USER_MODE_SUPPORT */
328     }
329 }
Clock_Ip_ClockUpdateSimGate(Clock_Ip_NameType ClockName,boolean Gate)330 static void Clock_Ip_ClockUpdateSimGate(Clock_Ip_NameType ClockName, boolean Gate)
331 {
332     Clock_Ip_GateConfigType Config;
333 
334     Config.Name = ClockName;
335     if (TRUE == Gate)
336     {
337         Config.Enable = 0U;
338     }
339     else
340     {
341         Config.Enable = 1U;
342     }
343     /* Write configuration to register */
344     Clock_Ip_ClockSetSimGate(&Config);
345 }
346 #endif
347 
348 #ifdef CLOCK_IP_SIM_TRACE_ENABLE
Clock_Ip_ClockSetSimTraceEnable(Clock_Ip_GateConfigType const * Config)349 static void Clock_Ip_ClockSetSimTraceEnable(Clock_Ip_GateConfigType const* Config)
350 {
351     if (NULL_PTR != Config)
352     {
353     #ifdef CLOCK_IP_ENABLE_USER_MODE_SUPPORT
354       #if (STD_ON == CLOCK_IP_ENABLE_USER_MODE_SUPPORT)
355         OsIf_Trusted_Call1param(Clock_Ip_ClockSetSimTraceEnable_TrustedCall,(Config));
356       #else
357         Clock_Ip_ClockSetSimTraceEnable_TrustedCall(Config);
358       #endif
359     #endif /* CLOCK_IP_ENABLE_USER_MODE_SUPPORT */
360     }
361 }
362 
Clock_Ip_ClockUpdateSimTraceEnable(Clock_Ip_NameType ClockName,boolean Gate)363 static void Clock_Ip_ClockUpdateSimTraceEnable(Clock_Ip_NameType ClockName, boolean Gate)
364 {
365     Clock_Ip_GateConfigType Config;
366 
367     Config.Name = ClockName;
368     if (TRUE == Gate)
369     {
370         Config.Enable = 0U;
371     }
372     else
373     {
374         Config.Enable = 1U;
375     }
376     /* Write configuration to register */
377     Clock_Ip_ClockSetSimTraceEnable(&Config);
378 }
379 #endif
380 
381 
382 /*==================================================================================================
383 *                                        GLOBAL FUNCTIONS
384 ==================================================================================================*/
385 #ifdef CLOCK_IP_SIM_LPO1K_ENABLE
386 /* Write configuration of clock gate to register */
Clock_Ip_ClockSetSimLPO1KEnable_TrustedCall(Clock_Ip_GateConfigType const * Config)387 void Clock_Ip_ClockSetSimLPO1KEnable_TrustedCall(Clock_Ip_GateConfigType const* Config)
388 {
389     uint32 RegValue;
390 
391     RegValue = IP_SIM->LPOCLKS;
392     RegValue &= ~SIM_LPOCLKS_LPO1KCLKEN_MASK;
393     RegValue |= ((uint32)(Config->Enable) << SIM_LPOCLKS_LPO1KCLKEN_SHIFT);
394     IP_SIM->LPOCLKS = RegValue;
395 }
396 #endif
397 
398 #ifdef CLOCK_IP_SIM_LPO32K_ENABLE
399 /* Write configuration of clock gate to register */
Clock_Ip_ClockSetSimLPO32KEnable_TrustedCall(Clock_Ip_GateConfigType const * Config)400 void Clock_Ip_ClockSetSimLPO32KEnable_TrustedCall(Clock_Ip_GateConfigType const* Config)
401 {
402     uint32 RegValue;
403 
404     RegValue = IP_SIM->LPOCLKS;
405     RegValue &= ~SIM_LPOCLKS_LPO32KCLKEN_MASK;
406     RegValue |= ((uint32)(Config->Enable) << SIM_LPOCLKS_LPO32KCLKEN_SHIFT);
407     IP_SIM->LPOCLKS = RegValue;
408 }
409 #endif
410 
411 #ifdef CLOCK_IP_SIM_CLKOUT_ENABLE
412 /* Write configuration of clock gate to register */
Clock_Ip_ClockSetSimClkoutEnable_TrustedCall(Clock_Ip_GateConfigType const * Config)413 void Clock_Ip_ClockSetSimClkoutEnable_TrustedCall(Clock_Ip_GateConfigType const* Config)
414 {
415     uint32 RegValue;
416 
417     RegValue = IP_SIM->CHIPCTL;
418     RegValue &= ~SIM_CHIPCTL_CLKOUTEN_MASK;
419     RegValue |= ((uint32)(Config->Enable) << SIM_CHIPCTL_CLKOUTEN_SHIFT);
420     IP_SIM->CHIPCTL = RegValue;
421 }
422 #endif
423 
424 #ifdef CLOCK_IP_PCC_CGC_ENABLE
425 /* Write configuration of clock gate to register */
Clock_Ip_ClockSetPccCgcEnable_TrustedCall(Clock_Ip_GateConfigType const * Config)426 void Clock_Ip_ClockSetPccCgcEnable_TrustedCall(Clock_Ip_GateConfigType const* Config)
427 {
428     uint32 RegValue;
429 
430     RegValue = IP_PCC->PCCn[Clock_Ip_au8ClockFeatures[Config->Name][CLOCK_IP_GATE_INDEX]];
431     RegValue &= ~PCC_PCCn_CGC_MASK;
432     RegValue |= ((uint32)(Config->Enable) << PCC_PCCn_CGC_SHIFT);
433     IP_PCC->PCCn[Clock_Ip_au8ClockFeatures[Config->Name][CLOCK_IP_GATE_INDEX]] = RegValue;
434 
435 }
436 #endif
437 
438 #ifdef CLOCK_IP_SIM_PLATCGC_CGC
439 /* Write configuration of clock gate to register */
Clock_Ip_ClockSetSimGate_TrustedCall(Clock_Ip_GateConfigType const * Config)440 void Clock_Ip_ClockSetSimGate_TrustedCall(Clock_Ip_GateConfigType const* Config)
441 {
442     uint32 Enable = Config->Enable;
443     uint32 GateIndex = Clock_Ip_au8ClockFeatures[Config->Name][CLOCK_IP_GATE_INDEX];
444 
445     uint32 RegValue = (uint32 )IP_SIM->PLATCGC;
446     RegValue &= (~((uint32 )SIM_PLATCGC_CGC_MASK(GateIndex)));
447     RegValue |= Enable << SIM_PLATCGC_CGC_SHIFT(GateIndex);
448     IP_SIM->PLATCGC = (uint32 )RegValue;
449 }
450 #endif
451 
452 #ifdef CLOCK_IP_SIM_TRACE_ENABLE
453 /* Write configuration of clock gate to register */
Clock_Ip_ClockSetSimTraceEnable_TrustedCall(Clock_Ip_GateConfigType const * Config)454 void Clock_Ip_ClockSetSimTraceEnable_TrustedCall(Clock_Ip_GateConfigType const* Config)
455 {
456     uint32 RegValue;
457 
458     RegValue = IP_SIM->CLKDIV4;
459     if (1U == Config->Enable)
460     {
461         RegValue |= (SIM_CLKDIV4_TRACEDIVEN_MASK);
462     }
463     else
464     {
465         RegValue &= ~(SIM_CLKDIV4_TRACEDIVEN_MASK);
466     }
467     IP_SIM->CLKDIV4 = RegValue;
468 }
469 #endif
470 
471 /* Clock stop section code */
472 #define MCU_STOP_SEC_CODE
473 
474 #include "Mcu_MemMap.h"
475 
476 /*==================================================================================================
477 *                                        GLOBAL CONSTANTS
478 ==================================================================================================*/
479 /* Clock start constant section data */
480 #define MCU_START_SEC_CONST_UNSPECIFIED
481 
482 #include "Mcu_MemMap.h"
483 
484 const Clock_Ip_GateCallbackType Clock_Ip_axGateCallbacks[CLOCK_IP_GATE_CALLBACKS_COUNT] =
485 {
486     {
487         Clock_Ip_ClockSetGateEmpty,     /* Set */
488         Clock_Ip_ClockUpdateGateEmpty,  /* Update */
489     },
490 #ifdef CLOCK_IP_PCC_CGC_ENABLE
491     {
492         Clock_Ip_ClockSetPccCgcEnable,         /* Set */
493         Clock_Ip_ClockUpdatePccCgcEnable,      /* Update */
494     },
495 #endif
496 #ifdef CLOCK_IP_SIM_CLKOUT_ENABLE
497     {
498         Clock_Ip_ClockSetSimClkoutEnable,      /* Set */
499         Clock_Ip_ClockUpdateSimClkoutEnable,   /* Update */
500     },
501 #endif
502 #ifdef CLOCK_IP_SIM_LPO32K_ENABLE
503     {
504         Clock_Ip_ClockSetSimLPO32KEnable,      /* Set */
505         Clock_Ip_ClockUpdateSimLPO32KEnable,   /* Update */
506     },
507 #endif
508 #ifdef CLOCK_IP_SIM_LPO1K_ENABLE
509     {
510         Clock_Ip_ClockSetSimLPO1KEnable,      /* Set */
511         Clock_Ip_ClockUpdateSimLPO1KEnable,   /* Update */
512     },
513 #endif
514 #ifdef CLOCK_IP_SIM_PLATCGC_CGC
515     {
516         Clock_Ip_ClockSetSimGate,              /* Set */
517         Clock_Ip_ClockUpdateSimGate,           /* Update */
518     },
519 #endif
520 #ifdef CLOCK_IP_SIM_TRACE_ENABLE
521     {
522         Clock_Ip_ClockSetSimTraceEnable,       /* Set */
523         Clock_Ip_ClockUpdateSimTraceEnable,    /* Update */
524     },
525 #endif
526 };
527 
528 
529 /* Clock stop constant section data */
530 #define MCU_STOP_SEC_CONST_UNSPECIFIED
531 
532 #include "Mcu_MemMap.h"
533 
534 
535 #ifdef __cplusplus
536 }
537 #endif
538 
539 /** @} */
540 
541