1 /*******************************************************************************
\r
2 * (c) Copyright 2009 Actel Corporation. All rights reserved.
\r
4 * SmartFusion A2FxxxM3 CMSIS system initialization.
\r
6 * SVN $Revision: 2064 $
\r
7 * SVN $Date: 2010-01-27 15:05:58 +0000 (Wed, 27 Jan 2010) $
\r
10 #ifndef __SYSTEM_A2FM3FXX_H__
\r
11 #define __SYSTEM_A2FM3FXX_H__
\r
17 /* Standard CMSIS global variables. */
\r
18 extern uint32_t SystemFrequency; /*!< System Clock Frequency (Core Clock) */
\r
19 extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
\r
21 /* SmartFusion specific clocks. */
\r
22 extern uint32_t g_FrequencyPCLK0; /*!< Clock frequency of APB bus 0. */
\r
23 extern uint32_t g_FrequencyPCLK1; /*!< Clock frequency of APB bus 1. */
\r
24 extern uint32_t g_FrequencyACE; /*!< Clock frequency of Analog Compute Engine. */
\r
25 extern uint32_t g_FrequencyFPGA; /*!< Clock frequecny of FPGA fabric */
\r
27 /***************************************************************************//**
\r
28 * The SystemInit() is a standard CMSIS function called during system startup.
\r
29 * It is meant to perform low level hardware setup such as configuring PLLs. In
\r
30 * the case of SmartFusion these hardware setup operations are performed by the
\r
31 * chip boot which executed before the application started. Therefore this
\r
32 * function does not need to perform any hardware setup.
\r
34 void SystemInit(void);
\r
36 /***************************************************************************//**
\r
37 * The SystemCoreClockUpdate() is a standard CMSIS function which can be called
\r
38 * by the application in order to ensure that the SystemCoreClock global
\r
39 * variable contains the up to date Cortex-M3 core frequency. Calling this
\r
40 * function also updates the global variables containing the frequencies of the
\r
41 * APB busses connecting the peripherals and the ACE frequency.
\r
43 void SystemCoreClockUpdate(void);
\r