1 /* 2 * Copyright 2020-2023 NXP 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef CLOCK_IP_TRUSTEDFUNCTIONS_H 8 #define CLOCK_IP_TRUSTEDFUNCTIONS_H 9 10 /** 11 * @file Clock_Ip_TrustedFunctions.h 12 * @version 2.0.0 13 * 14 * @brief CLOCK IP type header file. 15 * @details CLOCK IP type header file. 16 17 * @addtogroup CLOCK_DRIVER Clock Ip Driver 18 * @{ 19 */ 20 21 #if defined(__cplusplus) 22 extern "C"{ 23 #endif 24 /*================================================================================================== 25 * INCLUDE FILES 26 * 1) system and project includes 27 * 2) needed interfaces from external units 28 * 3) internal and external interfaces from this unit 29 ==================================================================================================*/ 30 #include "StandardTypes.h" 31 #include "Clock_Ip_Types.h" 32 #include "Clock_Ip_Specific.h" 33 /*================================================================================================== 34 SOURCE FILE VERSION INFORMATION 35 ==================================================================================================*/ 36 #define CLOCK_IP_TRUSTEDFUNCTIONS_VENDOR_ID 43 37 #define CLOCK_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MAJOR_VERSION 4 38 #define CLOCK_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MINOR_VERSION 7 39 #define CLOCK_IP_TRUSTEDFUNCTIONS_AR_RELEASE_REVISION_VERSION 0 40 #define CLOCK_IP_TRUSTEDFUNCTIONS_SW_MAJOR_VERSION 2 41 #define CLOCK_IP_TRUSTEDFUNCTIONS_SW_MINOR_VERSION 0 42 #define CLOCK_IP_TRUSTEDFUNCTIONS_SW_PATCH_VERSION 0 43 44 /*================================================================================================== 45 FILE VERSION CHECKS 46 ==================================================================================================*/ 47 #ifndef DISABLE_MCAL_INTERMODULE_ASR_CHECK 48 /* Check if Clock_Ip_TrustedFunctions.h file and StandardTypes.h file are of the same Autosar version */ 49 #if ((CLOCK_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MAJOR_VERSION != STD_AR_RELEASE_MAJOR_VERSION) || \ 50 (CLOCK_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MINOR_VERSION != STD_AR_RELEASE_MINOR_VERSION)) 51 #error "AutoSar Version Numbers of Clock_Ip_TrustedFunctions.h and StandardTypes.h are different" 52 #endif 53 #endif 54 55 /* Check if Clock_Ip_TrustedFunctions.h file and Clock_Ip_Types.h file have same versions */ 56 #if (CLOCK_IP_TRUSTEDFUNCTIONS_VENDOR_ID != CLOCK_IP_TYPES_VENDOR_ID) 57 #error "Clock_Ip_TrustedFunctions.h and Clock_Ip_Types.h have different vendor IDs" 58 #endif 59 60 /* Check if Clock_Ip_TrustedFunctions.h file and Clock_Ip_Types.h file are of the same Autosar version */ 61 #if ((CLOCK_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MAJOR_VERSION != CLOCK_IP_TYPES_AR_RELEASE_MAJOR_VERSION) || \ 62 (CLOCK_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MINOR_VERSION != CLOCK_IP_TYPES_AR_RELEASE_MINOR_VERSION) || \ 63 (CLOCK_IP_TRUSTEDFUNCTIONS_AR_RELEASE_REVISION_VERSION != CLOCK_IP_TYPES_AR_RELEASE_REVISION_VERSION)) 64 #error "AutoSar Version Numbers of Clock_Ip_TrustedFunctions.h and Clock_Ip_Types.h are different" 65 #endif 66 67 /* Check if Clock_Ip_TrustedFunctions.h file and Clock_Ip_Types.h file are of the same Software version */ 68 #if ((CLOCK_IP_TRUSTEDFUNCTIONS_SW_MAJOR_VERSION != CLOCK_IP_TYPES_SW_MAJOR_VERSION) || \ 69 (CLOCK_IP_TRUSTEDFUNCTIONS_SW_MINOR_VERSION != CLOCK_IP_TYPES_SW_MINOR_VERSION) || \ 70 (CLOCK_IP_TRUSTEDFUNCTIONS_SW_PATCH_VERSION != CLOCK_IP_TYPES_SW_PATCH_VERSION)) 71 #error "Software Version Numbers of Clock_Ip_TrustedFunctions.h and Clock_Ip_Types.h are different" 72 #endif 73 74 75 /* Check if Clock_Ip_TrustedFunctions.h file and Clock_Ip_Specific.h file have same versions */ 76 #if (CLOCK_IP_TRUSTEDFUNCTIONS_VENDOR_ID != CLOCK_IP_SPECIFIC_VENDOR_ID) 77 #error "Clock_Ip_TrustedFunctions.h and Clock_Ip_Specific.h have different vendor IDs" 78 #endif 79 80 /* Check if Clock_Ip_TrustedFunctions.h file and Clock_Ip_Specific.h file are of the same Autosar version */ 81 #if ((CLOCK_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MAJOR_VERSION != CLOCK_IP_SPECIFIC_AR_RELEASE_MAJOR_VERSION) || \ 82 (CLOCK_IP_TRUSTEDFUNCTIONS_AR_RELEASE_MINOR_VERSION != CLOCK_IP_SPECIFIC_AR_RELEASE_MINOR_VERSION) || \ 83 (CLOCK_IP_TRUSTEDFUNCTIONS_AR_RELEASE_REVISION_VERSION != CLOCK_IP_SPECIFIC_AR_RELEASE_REVISION_VERSION)) 84 #error "AutoSar Version Numbers of Clock_Ip_TrustedFunctions.h and Clock_Ip_Specific.h are different" 85 #endif 86 87 /* Check if Clock_Ip_TrustedFunctions.h file and Clock_Ip_Specific.h file are of the same Software version */ 88 #if ((CLOCK_IP_TRUSTEDFUNCTIONS_SW_MAJOR_VERSION != CLOCK_IP_SPECIFIC_SW_MAJOR_VERSION) || \ 89 (CLOCK_IP_TRUSTEDFUNCTIONS_SW_MINOR_VERSION != CLOCK_IP_SPECIFIC_SW_MINOR_VERSION) || \ 90 (CLOCK_IP_TRUSTEDFUNCTIONS_SW_PATCH_VERSION != CLOCK_IP_SPECIFIC_SW_PATCH_VERSION)) 91 #error "Software Version Numbers of Clock_Ip_TrustedFunctions.h and Clock_Ip_Specific.h are different" 92 #endif 93 94 95 /*================================================================================================== 96 * CONSTANTS 97 ==================================================================================================*/ 98 99 /*================================================================================================== 100 * DEFINES AND MACROS 101 ==================================================================================================*/ 102 103 /*================================================================================================== 104 * ENUMS 105 ==================================================================================================*/ 106 107 /*================================================================================================== 108 * STRUCTURES AND OTHER TYPEDEFS 109 ==================================================================================================*/ 110 111 /*================================================================================================== 112 * GLOBAL VARIABLE DECLARATIONS 113 ==================================================================================================*/ 114 115 116 /*================================================================================================== 117 * FUNCTION PROTOTYPES 118 ==================================================================================================*/ 119 120 121 #if (defined(CLOCK_IP_ENABLE_USER_MODE_SUPPORT)) 122 #if (STD_ON == CLOCK_IP_ENABLE_USER_MODE_SUPPORT) 123 124 /* Clock start section code */ 125 #define MCU_START_SEC_CODE 126 #include "Mcu_MemMap.h" 127 128 #ifdef CLOCK_IP_SCG_ASYNC_DIV1 129 /** 130 * @brief Write Config to SCG_SIRCDIV1 register 131 * 132 * @param Config - pointer to configuration of SIRC divider 1 133 * @return None 134 * 135 */ 136 extern void Clock_Ip_SetScgAsyncDiv1_TrustedCall(Clock_Ip_DividerConfigType const* Config); 137 #endif 138 139 #ifdef CLOCK_IP_SCG_ASYNC_DIV2 140 /** 141 * @brief Write Config to SCG_SIRCDIV2 register 142 * 143 * @param Config - pointer to configuration of SIRC divider 2 144 * @return None 145 * 146 */ 147 extern void Clock_Ip_SetScgAsyncDiv2_TrustedCall(Clock_Ip_DividerConfigType const* Config); 148 #endif 149 150 #ifdef CLOCK_IP_SCG_DIVCORE_RUN 151 /** 152 * @brief Write Config to SCG_RCCR register 153 * 154 * @param Config - pointer to configuration of DIVCORE value in run mode 155 * @return None 156 * 157 */ 158 extern void Clock_Ip_SetScgRunDivcore_TrustedCall(Clock_Ip_DividerConfigType const* Config); 159 #endif 160 161 #ifdef CLOCK_IP_SCG_DIVBUS_RUN 162 /** 163 * @brief Write Config to SCG_RCCR register 164 * 165 * @param Config - pointer to configuration of DIVBUS value in run mode 166 * @return None 167 * 168 */ 169 extern void Clock_Ip_SetScgRunDivbus_TrustedCall(Clock_Ip_DividerConfigType const* Config); 170 #endif 171 172 #ifdef CLOCK_IP_SCG_DIVSLOW_RUN 173 /** 174 * @brief Write Config to SCG_RCCR register 175 * 176 * @param Config - pointer to configuration of DIVSLOW value in run mode 177 * @return None 178 * 179 */ 180 extern void Clock_Ip_SetScgRunDivslow_TrustedCall(Clock_Ip_DividerConfigType const* Config); 181 #endif 182 183 #ifdef CLOCK_IP_SCG_DIVCORE_VLPR 184 /** 185 * @brief Write Config to SCG_VCCR register 186 * 187 * @param Config - pointer to configuration of DIVCORE value in VLPR mode 188 * @return None 189 * 190 */ 191 extern void Clock_Ip_SetScgVlprDivcore_TrustedCall(Clock_Ip_DividerConfigType const* Config); 192 #endif 193 194 #ifdef CLOCK_IP_SCG_DIVBUS_VLPR 195 /** 196 * @brief Write Config to SCG_VCCR register 197 * 198 * @param Config - pointer to configuration of DIVBUS value in VLPR mode 199 * @return None 200 * 201 */ 202 extern void Clock_Ip_SetScgVlprDivbus_TrustedCall(Clock_Ip_DividerConfigType const* Config); 203 #endif 204 205 #ifdef CLOCK_IP_SCG_DIVSLOW_VLPR 206 /** 207 * @brief Write Config to SCG_VCCR register 208 * 209 * @param Config - pointer to configuration of DIVSLOW value in VLPR mode 210 * @return None 211 * 212 */ 213 extern void Clock_Ip_SetScgVlprDivslow_TrustedCall(Clock_Ip_DividerConfigType const* Config); 214 #endif 215 216 217 #ifdef CLOCK_IP_SCG_DIVCORE_HSRUN 218 /** 219 * @brief Write Config to SCG_HCCR register 220 * 221 * @param Config - pointer to configuration of DIVCORE value in HSRUN mode 222 * @return None 223 * 224 */ 225 extern void Clock_Ip_SetScgHsrunDivcore_TrustedCall(Clock_Ip_DividerConfigType const* Config); 226 #endif 227 228 #ifdef CLOCK_IP_SCG_DIVBUS_HSRUN 229 /** 230 * @brief Write Config to SCG_HCCR register 231 * 232 * @param Config - pointer to configuration of DIVBUS value in HSRUN mode 233 * @return None 234 * 235 */ 236 extern void Clock_Ip_SetScgHsrunDivbus_TrustedCall(Clock_Ip_DividerConfigType const* Config); 237 #endif 238 239 #ifdef CLOCK_IP_SCG_DIVSLOW_HSRUN 240 /** 241 * @brief Write Config to SCG_HCCR register 242 * 243 * @param Config - pointer to configuration of DIVSLOW value in HSRUN mode 244 * @return None 245 * 246 */ 247 extern void Clock_Ip_SetScgHsrunDivslow_TrustedCall(Clock_Ip_DividerConfigType const* Config); 248 #endif 249 250 #ifdef CLOCK_IP_SIM_CLKOUT_DIV 251 /** 252 * @brief Write Config to IP_SIM::CHIPCTL register 253 * 254 * @param Config - pointer to configuration of divider value of CLKOUT0_CLK 255 * @return None 256 * 257 */ 258 extern void Clock_Ip_SetSimClkoutDiv_TrustedCall(Clock_Ip_DividerConfigType const *Config); 259 #endif 260 261 #ifdef CLOCK_IP_PCC_PCD_FRAC 262 /** 263 * @brief Write Config to PCC register 264 * 265 * @param Config - pointer to configuration of divider value PCC pheripheral clock 266 * @return None 267 * 268 */ 269 extern void Clock_Ip_SetPccPcdDivFrac_TrustedCall(Clock_Ip_DividerConfigType const* Config); 270 #endif 271 272 #ifdef CLOCK_IP_SIM_TRACE_DIV_MUL 273 /** 274 * @brief Write Config to IP_SIM::CLKDIV4 register 275 * 276 * @param Config - pointer to configuration of divider value TRACE_CLK 277 * @return None 278 * 279 */ 280 extern void Clock_Ip_SetSimTraceDivMul_TrustedCall(Clock_Ip_DividerConfigType const* Config); 281 #endif 282 283 #ifdef CLOCK_IP_SOSC_ENABLE 284 /** 285 * @brief Reset IP_SCG::SOSCCSR register 286 * 287 * @param Config - can be NULL_PTR 288 * @return None 289 * 290 */ 291 extern void Clock_Ip_ResetSOSC_TrustedCall(Clock_Ip_XoscConfigType const* Config); 292 293 /** 294 * @brief Write Config of SOSC to register 295 * 296 * @param Config - pointer to configuration of SOSC 297 * @return None 298 * 299 */ 300 extern void Clock_Ip_SetSOSC_TrustedCall(Clock_Ip_XoscConfigType const* Config); 301 302 /** 303 * @brief Disabele SOSC 304 * 305 * @param Config 306 * @return None 307 * 308 */ 309 extern void Clock_Ip_DisableSOSC_TrustedCall(Clock_Ip_NameType XoscName); 310 311 /** 312 * @brief Enable SOSC 313 * 314 * @param Config 315 * @return None 316 * 317 */ 318 extern void Clock_Ip_EnableSOSC_TrustedCall(Clock_Ip_XoscConfigType const* Config); 319 #endif 320 321 #ifdef CLOCK_IP_SIM_LPO1K_ENABLE 322 /** 323 * @brief Set gate of LPO1K_CLK 324 * 325 * @param Config- pointer to confguration of LPO1K_CLK 326 * @return None 327 * 328 */ 329 extern void Clock_Ip_ClockSetSimLPO1KEnable_TrustedCall(Clock_Ip_GateConfigType const* Config); 330 #endif 331 332 #ifdef CLOCK_IP_SIM_LPO32K_ENABLE 333 /** 334 * @brief Set gate of LPO3K_CLK 335 * 336 * @param Config- pointer to confguration of LPO3K_CLK 337 * @return None 338 * 339 */ 340 extern void Clock_Ip_ClockSetSimLPO32KEnable_TrustedCall(Clock_Ip_GateConfigType const* Config); 341 #endif 342 343 344 #ifdef CLOCK_IP_SIM_CLKOUT_ENABLE 345 /** 346 * @brief Set gate of CLKOUT_CLK 347 * 348 * @param Config- pointer to confguration of CLKOUT_CLK 349 * @return None 350 * 351 */ 352 extern void Clock_Ip_ClockSetSimClkoutEnable_TrustedCall(Clock_Ip_GateConfigType const* Config); 353 #endif 354 355 356 #ifdef CLOCK_IP_PCC_CGC_ENABLE 357 /** 358 * @brief Set gate of PCC peripheral 359 * 360 * @param Config- pointer to confguration of PCC pheripheral clock 361 * @return None 362 * 363 */ 364 extern void Clock_Ip_ClockSetPccCgcEnable_TrustedCall(Clock_Ip_GateConfigType const* Config); 365 #endif 366 367 #ifdef CLOCK_IP_SIM_PLATCGC_CGC 368 /** 369 * @brief Set gate of CLOCK_IP_SIM_PLATCGC_CGC clock 370 * 371 * @param Config- pointer to confguration of CLOCK_IP_SIM_PLATCGC_CGC clock 372 * @return None 373 * 374 */ 375 extern void Clock_Ip_ClockSetSimGate_TrustedCall(Clock_Ip_GateConfigType const* Config); 376 #endif 377 378 #ifdef CLOCK_IP_SIM_TRACE_ENABLE 379 /** 380 * @brief Set gate of TRACE_CLK 381 * 382 * @param Config- pointer to confguration of TRACE_CLK 383 * @return None 384 * 385 */ 386 extern void Clock_Ip_ClockSetSimTraceEnable_TrustedCall(Clock_Ip_GateConfigType const* Config); 387 #endif 388 389 #ifdef CLOCK_IP_SIRC_ENABLE 390 /** 391 * @brief Write Config to SIRC register 392 * 393 * @param Config- pointer to confguration of SIRC 394 * @return None 395 * 396 */ 397 extern void Clock_Ip_SetSirc_TrustedCall(Clock_Ip_IrcoscConfigType const* Config); 398 399 /** 400 * @brief Enable SIRC 401 * 402 * @param Config 403 * @return None 404 * 405 */ 406 extern void Clock_Ip_EnableSirc_TrustedCall(Clock_Ip_IrcoscConfigType const* Config); 407 408 /** 409 * @brief Disable SIRC 410 * 411 * @param Config 412 * @return None 413 * 414 */ 415 extern void Clock_Ip_DisableSirc_TrustedCall(Clock_Ip_NameType Name); 416 #endif 417 418 #ifdef CLOCK_IP_SIRC_VLP_ENABLE 419 /** 420 * @brief Write Config for SIRC in Low power mode to register 421 * 422 * @param Config - pointer to configuration of SIRC low power mode 423 * @return None 424 * 425 */ 426 extern void Clock_Ip_SetSircVlp_TrustedCall(Clock_Ip_IrcoscConfigType const* Config); 427 428 /** 429 * @brief Enable Sirc in Low power mode 430 * 431 * @param Config 432 * @return None 433 * 434 */ 435 extern void Clock_Ip_EnableSircVlp_TrustedCall(Clock_Ip_IrcoscConfigType const* Config); 436 437 /** 438 * @brief Disable Sirc in Low power mode 439 * 440 * @param Config 441 * @return None 442 * 443 */ 444 extern void Clock_Ip_DisableSircVlp_TrustedCall(Clock_Ip_NameType Name); 445 #endif 446 447 #ifdef CLOCK_IP_SIRC_STOP_ENABLE 448 /** 449 * @brief Write Config for SIRC in Stop mode to register 450 * 451 * @param Config - pointer to configuration of SIRC in Stop mode 452 * @return None 453 * 454 */ 455 extern void Clock_Ip_SetSircStop_TrustedCall(Clock_Ip_IrcoscConfigType const* Config); 456 457 /** 458 * @brief Enable SIRC in Stop mode to register 459 * 460 * @param Config 461 * @return None 462 * 463 */ 464 extern void Clock_Ip_EnableSircStop_TrustedCall(Clock_Ip_IrcoscConfigType const* Config); 465 466 /** 467 * @brief Disable SIRC in Stop mode to register 468 * 469 * @param Config - pointer to configuration of SIRC in Stop mode 470 * @return None 471 * 472 */ 473 extern void Clock_Ip_DisableSircStop_TrustedCall(Clock_Ip_NameType Name); 474 #endif 475 476 477 #ifdef CLOCK_IP_FIRC_ENABLE 478 /** 479 * @brief Write Config for Firc to register 480 * 481 * @param Config - pointer to configuration of Firc 482 * @return None 483 * 484 */ 485 extern void Clock_Ip_SetFirc_TrustedCall(Clock_Ip_IrcoscConfigType const* Config); 486 487 /** 488 * @brief Enable Firc to register 489 * 490 * @param Config 491 * @return None 492 * 493 */ 494 extern void Clock_Ip_EnableFirc_TrustedCall(Clock_Ip_IrcoscConfigType const* Config); 495 496 /** 497 * @brief Disable Firc to register 498 * 499 * @param Config 500 * @return None 501 * 502 */ 503 extern void Clock_Ip_DisableFirc_TrustedCall(Clock_Ip_NameType Name); 504 #endif 505 506 #ifdef CLOCK_IP_SPLL_ENABLE 507 /** 508 * @brief Reset Spll register 509 * 510 * @param Config 511 * @return None 512 * 513 */ 514 extern void Clock_Ip_ResetSpll_TrustedCall(Clock_Ip_PllConfigType const* Config); 515 516 /** 517 * @brief Write Config to Spll register 518 * 519 * @param Config - pointer to confguration of SPLL 520 * @return None 521 * 522 */ 523 extern void Clock_Ip_SetSpll_TrustedCall(Clock_Ip_PllConfigType const* Config); 524 525 /** 526 * @brief Disable Spll 527 * 528 * @param Config 529 * @return None 530 * 531 */ 532 extern void Clock_Ip_DisableSpll_TrustedCall(Clock_Ip_NameType PllName); 533 534 /** 535 * @brief Enable Spll 536 * 537 * @param Config 538 * @return None 539 * 540 */ 541 extern void Clock_Ip_EnableSpll_TrustedCall(Clock_Ip_PllConfigType const* Config); 542 #endif 543 544 #ifdef CLOCK_IP_SCG_SCS_RUN_SEL 545 /** 546 * @brief Reset SCG_RCCR selector register 547 * 548 * @param Config 549 * @return None 550 * 551 */ 552 extern void Clock_Ip_ResetScgRunSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 553 554 /** 555 * @brief Write Config to SCG_RCCR selector register 556 * 557 * @param Config - pointer to configuration of system selector in run mode 558 * @return None 559 * 560 */ 561 extern void Clock_Ip_SetScgRunSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 562 #endif 563 564 #ifdef CLOCK_IP_SCG_SCS_VLPR_SEL 565 /** 566 * @brief Write Config to SCG_VCCR selector register 567 * 568 * @param Config - pointer to configuration of system selector in low power mode 569 * @return None 570 * 571 */ 572 extern void Clock_Ip_SetScgVlprSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 573 #endif 574 575 #ifdef CLOCK_IP_SCG_SCS_HSRUN_SEL 576 /** 577 * @brief Reset SCG_HCCR selector register 578 * 579 * @param Config 580 * @return None 581 * 582 */ 583 extern void Clock_Ip_ResetScgHsrunSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 584 585 /** 586 * @brief Write Config to SCG_HCCR selector register 587 * 588 * @param Config - pointer to configuration of system selector in HSRUN mode 589 * @return None 590 * 591 */ 592 extern void Clock_Ip_SetScgHsrunSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 593 #endif 594 595 #ifdef CLOCK_IP_SIM_RTC_SEL 596 /** 597 * @brief Reset SIM_LPOCLKS_RTCCLKSEL register 598 * 599 * @param Config 600 * @return None 601 * 602 */ 603 extern void Clock_Ip_ResetSimRtcSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 604 605 /** 606 * @brief Write Config to RTC_CLK register 607 * 608 * @param Config - pointer to configuration of RTC_CLK selector 609 * @return None 610 * 611 */ 612 extern void Clock_Ip_SetSimRtcSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 613 #endif 614 615 #ifdef CLOCK_IP_SIM_LPO_SEL 616 /** 617 * @brief Reset LPO_CLK selector 618 * 619 * @param Config 620 * @return None 621 * 622 */ 623 extern void Clock_Ip_ResetSimLpoSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 624 625 /** 626 * @brief Write Config to LPO_CLK selector 627 * 628 * @param Config - pointer to configuration of LPO_CLK selector 629 * @return None 630 * 631 */ 632 extern void Clock_Ip_SetSimLpoSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 633 #endif 634 635 #ifdef CLOCK_IP_SCG_CLKOUT_SEL 636 /** 637 * @brief Reset CLKOUT_CLK selector 638 * 639 * @param Config - pointer to configuration of CLKOUT selector 640 * @return None 641 * 642 */ 643 extern void Clock_Ip_ResetScgClkoutSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 644 645 /** 646 * @brief Write Config to LPO_CLK register 647 * 648 * @param Config - pointer to configuration of LPO_CLK selector 649 * @return None 650 * 651 */ 652 extern void Clock_Ip_SetScgClkoutSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 653 #endif 654 655 656 #ifdef CLOCK_IP_SIM_FTMOPT_SEL 657 /** 658 * @brief Reset SIM->FTMOPT0 selector register 659 * 660 * @param Config - pointer to configuration of FTMOPT clock need to be reset 661 * @return None 662 * 663 */ 664 extern void Clock_Ip_ResetSimFtmoptSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 665 666 /** 667 * @brief Write Config to SIM->FTMOPT0 register 668 * 669 * @param Config - pointer to configuration of FTMOPT clock need to be reset 670 * @return None 671 * 672 */ 673 extern void Clock_Ip_SetSimFtmoptSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 674 #endif 675 676 #ifdef CLOCK_IP_SIM_CLKOUT_SEL 677 /** 678 * @brief Write Config to SIM_CHIPCTL_CLKOUTSEL register 679 * 680 * @param Config 681 * @return None 682 * 683 */ 684 extern void Clock_Ip_ResetSimClkoutSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 685 686 /** 687 * @brief Write Config to SIM_CHIPCTL_CLKOUTSEL register 688 * 689 * @param Config - pointer to configuration of CLKOUT_CLK selector 690 * @return None 691 * 692 */ 693 extern void Clock_Ip_SetSimClkoutSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 694 #endif 695 696 #ifdef CLOCK_IP_PCC_PCS_SELECT 697 /** 698 * @brief Reset register of PCC peripheral clock 699 * 700 * @param Config - pointer to configuration clock need to be reset 701 * @return None 702 * 703 */ 704 extern void Clock_Ip_ResetPccPcsSelect_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 705 706 /** 707 * @brief Write Config to PCC register 708 * 709 * @param Config - pointer to configuration of PCC peripheral clock 710 * @return None 711 * 712 */ 713 extern void Clock_Ip_SetPccPcsSelect_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 714 #endif 715 716 717 #ifdef CLOCK_IP_SIM_TRACE_SEL 718 /** 719 * @brief Reset selector register of TRACE_CLK 720 * 721 * @param Config 722 * @return None 723 * 724 */ 725 extern void Clock_Ip_ResetSimTraceSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 726 727 /** 728 * @brief Write Config to TRACE_CLK selector register 729 * 730 * @param Config - pointer to configuration of TRACE_CLK selector 731 * @return None 732 * 733 */ 734 extern void Clock_Ip_SetSimTraceSel_TrustedCall(Clock_Ip_SelectorConfigType const *Config); 735 #endif 736 737 /** 738 * @brief Reset FIRC 739 * 740 * @param None 741 * @return None 742 * 743 */ 744 extern void SetFircToResetValue_TrustedCall(void); 745 746 /** 747 * @brief Write Confgig whole SIM_LPOCLKS register 748 * 749 * @param Config - pointer to configuration of all SIM_LPOCLKS clock 750 * @return None 751 * 752 */ 753 extern void SetSimLpoclksRegister_TrustedCall(Clock_Ip_ClockConfigType const *Config); 754 755 #if defined(CLOCK_IP_HAS_FIRC_MON1_CLK) 756 /** 757 * @brief Enable Cmu clock gate 758 * 759 * @param None 760 * @return None 761 * 762 */ 763 extern void Clock_Ip_EnableCmu0Gate_TrustedCall(void); 764 #endif 765 766 #if defined(CLOCK_IP_HAS_FIRC_MON2_CLK) 767 /** 768 * @brief Enable Cmu clock gate 769 * 770 * @param None 771 * @return None 772 * 773 */ 774 extern void Clock_Ip_EnableCmu1Gate_TrustedCall(void); 775 #endif 776 777 /* Clock stop section code */ 778 #define MCU_STOP_SEC_CODE 779 #include "Mcu_MemMap.h" 780 781 782 #endif 783 #endif /* CLOCK_IP_ENABLE_USER_MODE_SUPPORT */ 784 785 786 787 788 789 #if defined(__cplusplus) 790 } 791 #endif /* __cplusplus*/ 792 793 /*! @}*/ 794 795 #endif /* CLOCK_IP_TRUSTEDFUNCTIONS_H */ 796 797 798