]> git.sur5r.net Git - freertos/blob
6149d3081f687ae8558f718b6ed9e49e84dd48cc
[freertos] /
1 /**************************************************************************//**\r
2  * @file     system_XMC4500.h\r
3  * @brief    Header file for the XMC4500-Series systeminit\r
4  *           \r
5  * @version  V1.4\r
6  * @date     31. Januar 2012\r
7  *\r
8  * @note\r
9  * Copyright (C) 2011 Infineon Technologies AG. All rights reserved.\r
10 \r
11  *\r
12  * @par\r
13  * Infineon Technologies AG (Infineon) is supplying this software for use with Infineon\92s microcontrollers.  \r
14  * This file can be freely distributed within development tools that are supporting such microcontrollers. \r
15 \r
16  *\r
17  * @par\r
18  * THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED\r
19  * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\r
20  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\r
21  * INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\r
22  * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.\r
23  *\r
24  *\r
25  ******************************************************************************/\r
26 \r
27 \r
28 #ifndef __SYSTEM_XMC4500_H\r
29 #define __SYSTEM_XMC4500_H\r
30 \r
31 #ifdef __cplusplus\r
32 extern "C" {\r
33 #endif\r
34 \r
35 #include <stdint.h>\r
36 \r
37 extern uint32_t SystemCoreClock;     /*!< System Clock Frequency (Core Clock)  */\r
38 \r
39 /**\r
40  * Initialize the system\r
41  *\r
42  * @param  none\r
43  * @return none\r
44  *\r
45  * @brief  Setup the microcontroller system.\r
46  *         Initialize the System.\r
47  */\r
48 extern void SystemInit (void);\r
49 \r
50 \r
51 /**\r
52  * Update SystemCoreClock variable\r
53  *\r
54  * @param  none\r
55  * @return none\r
56  *\r
57  * @brief  Updates the SystemCoreClock with current core Clock\r
58  *         retrieved from cpu registers.\r
59  */\r
60 extern void SystemCoreClockUpdate (void);\r
61 \r
62 \r
63 /* clock definitions, do not modify! */\r
64 #define SCU_CLOCK_CRYSTAL              1\r
65 \r
66                                 \r
67                                 \r
68 /*                              \r
69  * mandatory clock parameters **************************************************                                \r
70  */                             \r
71 /* source for clock generation                          \r
72  * range: SCU_CLOCK_CRYSTAL (crystal or external clock at crystal input)                                \r
73  *                                      \r
74  **************************************************************************************/                                \r
75                                 \r
76 #define SCU_PLL_CLOCK_INPUT     SCU_CLOCK_CRYSTAL\r
77 #define CLOCK_OSC_HP    24000000                         \r
78 #define CLOCK_CRYSTAL_FREQUENCY 12000000                \r
79 #define SYSTEM_FREQUENCY        120000000               \r
80                                 \r
81 /* OSC_HP setup parameters */                           \r
82 #define OSC_HP_MODE     0               \r
83 #define OSCHPWDGDIV 2\r
84                                 \r
85 /* MAIN PLL setup parameters */                         \r
86                                 \r
87                                 \r
88 #define         PLL_K1DIV       1               \r
89 #define         PLL_K2DIV       3               \r
90 #define         PLL_PDIV        1               \r
91 #define         PLL_NDIV        79\r
92                 \r
93                                 \r
94                                 \r
95 #define         PLL_K2DIV_STEP_1        19      //PLL output is 24Mhz   \r
96 #define         PLL_K2DIV_STEP_2        7       //PLL output to 60Mhz   \r
97 #define         PLL_K2DIV_STEP_3        4       //PLL output to 96Mhz   \r
98                                 \r
99                                 \r
100                 \r
101 #define         USBPLL_PDIV     1               \r
102 #define         USBPLL_NDIV     15              \r
103 \r
104 \r
105 #ifdef __cplusplus\r
106 }\r
107 #endif\r
108 \r
109 \r
110 #endif\r