1 /* 2 ** ################################################################### 3 ** Processors: MCIMX7U5CVP06 4 ** MCIMX7U5DVK07 5 ** MCIMX7U5DVP07 6 ** 7 ** Compilers: GNU C Compiler 8 ** IAR ANSI C/C++ Compiler for ARM 9 ** Keil ARM C/C++ Compiler 10 ** 11 ** Reference manual: IMX7ULPRM, Rev. 0, Nov. 2018 12 ** Version: rev. 7.0, 2018-11-05 13 ** Build: b200408 14 ** 15 ** Abstract: 16 ** Provides a system configuration function and a global variable that 17 ** contains the system frequency. It configures the device and initializes 18 ** the oscillator (PLL) that is part of the microcontroller device. 19 ** 20 ** Copyright 2016 Freescale Semiconductor, Inc. 21 ** Copyright 2016-2020 NXP 22 ** All rights reserved. 23 ** 24 ** SPDX-License-Identifier: BSD-3-Clause 25 ** 26 ** http: www.nxp.com 27 ** mail: support@nxp.com 28 ** 29 ** Revisions: 30 ** - rev. 1.0 (2016-04-13) 31 ** Initial version. 32 ** - rev. 2.0 (2016-07-19) 33 ** RevC Header ER 34 ** - rev. 3.0 (2017-02-28) 35 ** RevD Header ER 36 ** - rev. 4.0 (2017-05-02) 37 ** RevE Header ER 38 ** - rev. 5.0 (2017-12-22) 39 ** RevA(B0) Header GA 40 ** - rev. 6.0 (2018-02-01) 41 ** RevB(B0) Header GA 42 ** - rev. 7.0 (2018-11-05) 43 ** RevA(B1) Header 44 ** 45 ** ################################################################### 46 */ 47 48 /*! 49 * @file MCIMX7U5_cm4 50 * @version 7.0 51 * @date 2018-11-05 52 * @brief Device specific configuration file for MCIMX7U5_cm4 (header file) 53 * 54 * Provides a system configuration function and a global variable that contains 55 * the system frequency. It configures the device and initializes the oscillator 56 * (PLL) that is part of the microcontroller device. 57 */ 58 59 #ifndef _SYSTEM_MCIMX7U5_cm4_H_ 60 #define _SYSTEM_MCIMX7U5_cm4_H_ /**< Symbol preventing repeated inclusion */ 61 62 #ifdef __cplusplus 63 extern "C" { 64 #endif 65 66 #include <stdint.h> 67 68 69 70 /* i.MX7ULP Definitions */ 71 #ifndef DISABLE_WDOG 72 #define DISABLE_WDOG 1 73 #endif 74 /* Define clock source values */ 75 #define CPU_XTAL_SOSC_CLK_HZ 24000000u /* Value of the external System Oscillator Clock(SOSC) frequency in Hz */ 76 #define CPU_XTAL_LVDS_CLK_HZ 24000000u /* Value of the external LVDS Clock frequency in Hz */ 77 #define DEFAULT_SYSTEM_CLOCK 100000000u /* Default System clock value */ 78 79 80 /** 81 * @brief System clock frequency (core clock) 82 * 83 * The system clock frequency supplied to the SysTick timer and the processor 84 * core clock. This variable can be used by the user application to setup the 85 * SysTick timer or configure other parameters. It may also be used by debugger to 86 * query the frequency of the debug timer or configure the trace clock speed 87 * SystemCoreClock is initialized with a correct predefined value. 88 */ 89 extern uint32_t SystemCoreClock; 90 91 /** 92 * @brief Setup the microcontroller system. 93 * 94 * Typically this function configures the oscillator (PLL) that is part of the 95 * microcontroller device. For systems with variable clock speed it also updates 96 * the variable SystemCoreClock. SystemInit is called from startup_device file. 97 */ 98 void SystemInit (void); 99 100 /** 101 * @brief Updates the SystemCoreClock variable. 102 * 103 * It must be called whenever the core clock is changed during program 104 * execution. SystemCoreClockUpdate() evaluates the clock register settings and calculates 105 * the current core clock. 106 */ 107 void SystemCoreClockUpdate (void); 108 109 /** 110 * @brief SystemInit function hook. 111 * 112 * This weak function allows to call specific initialization code during the 113 * SystemInit() execution.This can be used when an application specific code needs 114 * to be called as close to the reset entry as possible (for example the Multicore 115 * Manager MCMGR_EarlyInit() function call). 116 * NOTE: No global r/w variables can be used in this hook function because the 117 * initialization of these variables happens after this function. 118 */ 119 void SystemInitHook (void); 120 121 #ifdef __cplusplus 122 } 123 #endif 124 125 #endif /* _SYSTEM_MCIMX7U5_cm4_H_ */ 126