1 /* 2 ** ################################################################### 3 ** Processors: MIMX8ML8CVNKZ_dsp 4 ** MIMX8ML8DVNLZ_dsp 5 ** 6 ** Compiler: XCC Compiler 7 ** Reference manual: IMX8MPRM, Rev.D, 12/2020 8 ** Version: rev. 5.0, 2021-03-01 9 ** Build: b230302 10 ** 11 ** Abstract: 12 ** Provides a system configuration function and a global variable that 13 ** contains the system frequency. It configures the device and initializes 14 ** the oscillator (PLL) that is part of the microcontroller device. 15 ** 16 ** Copyright 2016 Freescale Semiconductor, Inc. 17 ** Copyright 2016-2023 NXP 18 ** All rights reserved. 19 ** 20 ** SPDX-License-Identifier: BSD-3-Clause 21 ** 22 ** http: www.nxp.com 23 ** mail: support@nxp.com 24 ** 25 ** Revisions: 26 ** - rev. 1.0 (2019-10-11) 27 ** Initial version. 28 ** - rev. 2.0 (2020-02-21) 29 ** Rev.B Header. 30 ** - rev. 3.0 (2020-06-22) 31 ** Rev.C Header. 32 ** - rev. 4.0 (2020-11-16) 33 ** Rev.D Header. 34 ** - rev. 5.0 (2021-03-01) 35 ** Rev.D Header Final. 36 ** 37 ** ################################################################### 38 */ 39 40 /*! 41 * @file MIMX8ML8_dsp 42 * @version 5.0 43 * @date 2021-03-01 44 * @brief Device specific configuration file for MIMX8ML8_dsp (header file) 45 * 46 * Provides a system configuration function and a global variable that contains 47 * the system frequency. It configures the device and initializes the oscillator 48 * (PLL) that is part of the microcontroller device. 49 */ 50 51 #ifndef _SYSTEM_MIMX8ML8_dsp_H_ 52 #define _SYSTEM_MIMX8ML8_dsp_H_ /**< Symbol preventing repeated inclusion */ 53 54 #ifdef __cplusplus 55 extern "C" { 56 #endif 57 58 #include <stdint.h> 59 60 61 /** 62 * @brief System clock frequency (core clock) 63 * 64 * The system clock frequency supplied to the SysTick timer and the processor 65 * core clock. This variable can be used by the user application to setup the 66 * SysTick timer or configure other parameters. It may also be used by debugger to 67 * query the frequency of the debug timer or configure the trace clock speed 68 * SystemCoreClock is initialized with a correct predefined value. 69 */ 70 extern uint32_t SystemCoreClock; 71 72 /** 73 * @brief Setup the microcontroller system. 74 * 75 * Typically this function configures the oscillator (PLL) that is part of the 76 * microcontroller device. For systems with variable clock speed it also updates 77 * the variable SystemCoreClock. SystemInit is called from startup_device file. 78 */ 79 void SystemInit (void); 80 81 /** 82 * @brief Updates the SystemCoreClock variable. 83 * 84 * It must be called whenever the core clock is changed during program 85 * execution. SystemCoreClockUpdate() evaluates the clock register settings and calculates 86 * the current core clock. 87 */ 88 void SystemCoreClockUpdate (void); 89 90 /** 91 * @brief SystemInit function hook. 92 * 93 * This weak function allows to call specific initialization code during the 94 * SystemInit() execution.This can be used when an application specific code needs 95 * to be called as close to the reset entry as possible (for example the Multicore 96 * Manager MCMGR_EarlyInit() function call). 97 * NOTE: No global r/w variables can be used in this hook function because the 98 * initialization of these variables happens after this function. 99 */ 100 void SystemInitHook (void); 101 102 #ifdef __cplusplus 103 } 104 #endif 105 106 #endif /* _SYSTEM_MIMX8ML8_dsp_H_ */ 107