]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_Freescale/TARGET_K20XX/TARGET_K20D50M/system_MK20D5.h
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_Freescale / TARGET_K20XX / TARGET_K20D50M / system_MK20D5.h
1 /*
2 ** ###################################################################
3 **     Compilers:           ARM Compiler
4 **                          Freescale C/C++ for Embedded ARM
5 **                          GNU C Compiler
6 **                          IAR ANSI C/C++ Compiler for ARM
7 **
8 **     Reference manuals:   K20P64M50SF0RM Rev. 1, Oct 2011
9 **                          K20P32M50SF0RM Rev. 1, Oct 2011
10 **                          K20P48M50SF0RM Rev. 1, Oct 2011
11 **
12 **     Version:             rev. 2.0, 2012-03-19
13 **
14 **     Abstract:
15 **         Provides a system configuration function and a global variable that
16 **         contains the system frequency. It configures the device and initializes
17 **         the oscillator (PLL) that is part of the microcontroller device.
18 **
19 **     Copyright: 2015 Freescale Semiconductor, Inc. All Rights Reserved.
20 **
21 **     http:                 www.freescale.com
22 **     mail:                 support@freescale.com
23 **
24 **     Revisions:
25 **     - rev. 1.0 (2011-12-15)
26 **         Initial version
27 **     - rev. 2.0 (2012-03-19)
28 **         PDB Peripheral register structure updated.
29 **         DMA Registers and bits for unsupported DMA channels removed.
30 **
31 ** ###################################################################
32 */
33
34 /**
35  * @file MK20D5
36  * @version 2.0
37  * @date 2012-03-19
38  * @brief Device specific configuration file for MK20D5 (header file)
39  *
40  * Provides a system configuration function and a global variable that contains
41  * the system frequency. It configures the device and initializes the oscillator
42  * (PLL) that is part of the microcontroller device.
43  */
44
45 #ifndef SYSTEM_MK20D5_H_
46 #define SYSTEM_MK20D5_H_                         /**< Symbol preventing repeated inclusion */
47
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51
52 #include <stdint.h>
53
54 /**
55  * @brief System clock frequency (core clock)
56  *
57  * The system clock frequency supplied to the SysTick timer and the processor
58  * core clock. This variable can be used by the user application to setup the
59  * SysTick timer or configure other parameters. It may also be used by debugger to
60  * query the frequency of the debug timer or configure the trace clock speed
61  * SystemCoreClock is initialized with a correct predefined value.
62  */
63 extern uint32_t SystemCoreClock;
64
65 /**
66  * @brief Setup the microcontroller system.
67  *
68  * Typically this function configures the oscillator (PLL) that is part of the
69  * microcontroller device. For systems with variable clock speed it also updates
70  * the variable SystemCoreClock. SystemInit is called from startup_device file.
71  */
72 void SystemInit (void);
73
74 /**
75  * @brief Updates the SystemCoreClock variable.
76  *
77  * It must be called whenever the core clock is changed during program
78  * execution. SystemCoreClockUpdate() evaluates the clock register settings and calculates
79  * the current core clock.
80  */
81 void SystemCoreClockUpdate (void);
82
83 #ifdef __cplusplus
84 }
85 #endif
86
87 #endif  /* #if !defined(SYSTEM_MK20D5_H_) */