| /**************************************************************************//** | |
| * @file system_XMC4500.h | |
| * @brief Header file for the XMC4500-Series systeminit | |
| * | |
| * @version V1.6 | |
| * @date 23. October 2012 | |
| * | |
| * @note | |
| * Copyright (C) 2011 Infineon Technologies AG. All rights reserved. | |
| * | |
| * @par | |
| * Infineon Technologies AG (Infineon) is supplying this software for use with Infineons microcontrollers. | |
| * This file can be freely distributed within development tools that are supporting such microcontrollers. | |
| * | |
| * @par | |
| * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED | |
| * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF | |
| * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. | |
| * INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR | |
| * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. | |
| * | |
| * | |
| ******************************************************************************/ | |
| #ifndef __SYSTEM_XMC4500_H | |
| #define __SYSTEM_XMC4500_H | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #include <stdint.h> | |
| extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ | |
| /** | |
| * Initialize the system | |
| * | |
| * @param none | |
| * @return none | |
| * | |
| * @brief Setup the microcontroller system. | |
| * Initialize the System. | |
| */ | |
| extern void SystemInit (void); | |
| /** | |
| * Update SystemCoreClock variable | |
| * | |
| * @param none | |
| * @return none | |
| * | |
| * @brief Updates the SystemCoreClock with current core Clock | |
| * retrieved from cpu registers. | |
| */ | |
| extern void SystemCoreClockUpdate (void); | |
| /* this weak function enables DAVE3 clock App usage */ | |
| extern uint32_t AllowPLLInitByStartup(void); | |
| /* clock definitions, do not modify! */ | |
| #define SCU_CLOCK_CRYSTAL 1 | |
| /* | |
| * mandatory clock parameters ************************************************** | |
| */ | |
| /* source for clock generation | |
| * range: SCU_CLOCK_CRYSTAL (crystal or external clock at crystal input) | |
| * mandatory for old system_xmc4500.c files - please do not remove!!! | |
| **************************************************************************************/ | |
| #define SCU_PLL_CLOCK_INPUT SCU_CLOCK_CRYSTAL | |
| #define CLOCK_OSC_HP 24000000 | |
| #define CLOCK_BACK_UP 24000000 | |
| #define CLOCK_CRYSTAL_FREQUENCY 12000000 | |
| #define SYSTEM_FREQUENCY 120000000 | |
| /* OSC_HP setup parameters */ | |
| #define OSC_HP_MODE 0 | |
| #define OSCHPWDGDIV 2 | |
| /* MAIN PLL setup parameters */ | |
| #define PLL_K1DIV 1 | |
| #define PLL_K2DIV 3 | |
| #define PLL_PDIV 1 | |
| #define PLL_NDIV 79 | |
| #define PLL_K2DIV_STEP_1 19 //PLL output is 24Mhz | |
| #define PLL_K2DIV_STEP_2 7 //PLL output to 60Mhz | |
| #define PLL_K2DIV_STEP_3 4 //PLL output to 96Mhz | |
| #define USBPLL_PDIV 1 | |
| #define USBPLL_NDIV 15 | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif |