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