1 /******************************************************************************* 2 * (c) Copyright 2012-2013 Microsemi SoC Products Group. All rights reserved. 3 * 4 * SmartFusion2 CMSIS system initialization. 5 * 6 * SVN $Revision: 5280 $ 7 * SVN $Date: 2013-03-22 20:51:50 +0000 (Fri, 22 Mar 2013) $ 8 */ 9 10 #ifndef SYSTEM_M2SXXX_H 11 #define SYSTEM_M2SXXX_H 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 /* Standard CMSIS global variables. */ 18 extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ 19 20 /* SmartFusion2 specific clocks. */ 21 extern uint32_t g_FrequencyPCLK0; /*!< Clock frequency of APB bus 0. */ 22 extern uint32_t g_FrequencyPCLK1; /*!< Clock frequency of APB bus 1. */ 23 extern uint32_t g_FrequencyPCLK2; /*!< Clock frequency of APB bus 2. */ 24 extern uint32_t g_FrequencyFIC0; /*!< Clock frequecny of FPGA fabric interface controller 1. */ 25 extern uint32_t g_FrequencyFIC1; /*!< Clock frequecny of FPGA fabric inteface controller 2. */ 26 extern uint32_t g_FrequencyFIC64; /*!< Clock frequecny of 64-bit FPGA fabric interface controller. */ 27 28 29 /***************************************************************************//** 30 * The SystemInit() is a standard CMSIS function called during system startup. 31 * It is meant to perform low level hardware setup such as configuring DDR and 32 * SERDES controllers. 33 */ 34 void SystemInit(void); 35 36 /***************************************************************************//** 37 * The SystemCoreClockUpdate() is a standard CMSIS function which can be called 38 * by the application in order to ensure that the SystemCoreClock global 39 * variable contains the up to date Cortex-M3 core frequency. Calling this 40 * function also updates the global variables containing the frequencies of the 41 * APB busses connecting the peripherals. 42 */ 43 void SystemCoreClockUpdate(void); 44 45 #ifdef __cplusplus 46 } 47 #endif 48 49 #endif 50