mbed official / mbed-src

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Committer:
mbed_official
Date:
Tue Apr 28 11:45:12 2015 +0100
Revision:
525:c320967f86b9
Synchronized with git revision 299385b8331142b9dc524da7a986536f60b14553

Full URL: https://github.com/mbedmicro/mbed/commit/299385b8331142b9dc524da7a986536f60b14553/

Add in Silicon Labs targets with asynchronous API support

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 525:c320967f86b9 1 /***************************************************************************//**
mbed_official 525:c320967f86b9 2 * @file system_efm32wg.h
mbed_official 525:c320967f86b9 3 * @brief CMSIS Cortex-M4 System Layer for EFM32WG devices.
mbed_official 525:c320967f86b9 4 * @version 3.20.6
mbed_official 525:c320967f86b9 5 ******************************************************************************
mbed_official 525:c320967f86b9 6 * @section License
mbed_official 525:c320967f86b9 7 * <b>(C) Copyright 2014 Silicon Laboratories, Inc. http://www.silabs.com</b>
mbed_official 525:c320967f86b9 8 ******************************************************************************
mbed_official 525:c320967f86b9 9 *
mbed_official 525:c320967f86b9 10 * Permission is granted to anyone to use this software for any purpose,
mbed_official 525:c320967f86b9 11 * including commercial applications, and to alter it and redistribute it
mbed_official 525:c320967f86b9 12 * freely, subject to the following restrictions:
mbed_official 525:c320967f86b9 13 *
mbed_official 525:c320967f86b9 14 * 1. The origin of this software must not be misrepresented; you must not
mbed_official 525:c320967f86b9 15 * claim that you wrote the original software.@n
mbed_official 525:c320967f86b9 16 * 2. Altered source versions must be plainly marked as such, and must not be
mbed_official 525:c320967f86b9 17 * misrepresented as being the original software.@n
mbed_official 525:c320967f86b9 18 * 3. This notice may not be removed or altered from any source distribution.
mbed_official 525:c320967f86b9 19 *
mbed_official 525:c320967f86b9 20 * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc.
mbed_official 525:c320967f86b9 21 * has no obligation to support this Software. Silicon Laboratories, Inc. is
mbed_official 525:c320967f86b9 22 * providing the Software "AS IS", with no express or implied warranties of any
mbed_official 525:c320967f86b9 23 * kind, including, but not limited to, any implied warranties of
mbed_official 525:c320967f86b9 24 * merchantability or fitness for any particular purpose or warranties against
mbed_official 525:c320967f86b9 25 * infringement of any proprietary rights of a third party.
mbed_official 525:c320967f86b9 26 *
mbed_official 525:c320967f86b9 27 * Silicon Laboratories, Inc. will not be liable for any consequential,
mbed_official 525:c320967f86b9 28 * incidental, or special damages, or any other relief, or for any claim by
mbed_official 525:c320967f86b9 29 * any third party, arising from your use of this Software.
mbed_official 525:c320967f86b9 30 *
mbed_official 525:c320967f86b9 31 *****************************************************************************/
mbed_official 525:c320967f86b9 32
mbed_official 525:c320967f86b9 33 #ifndef __SYSTEM_EFM32WG_H
mbed_official 525:c320967f86b9 34 #define __SYSTEM_EFM32WG_H
mbed_official 525:c320967f86b9 35
mbed_official 525:c320967f86b9 36 #ifdef __cplusplus
mbed_official 525:c320967f86b9 37 extern "C" {
mbed_official 525:c320967f86b9 38 #endif
mbed_official 525:c320967f86b9 39
mbed_official 525:c320967f86b9 40 #include <stdint.h>
mbed_official 525:c320967f86b9 41
mbed_official 525:c320967f86b9 42 /*******************************************************************************
mbed_official 525:c320967f86b9 43 ************************** GLOBAL VARIABLES *******************************
mbed_official 525:c320967f86b9 44 ******************************************************************************/
mbed_official 525:c320967f86b9 45
mbed_official 525:c320967f86b9 46 extern uint32_t SystemCoreClock; /**< System Clock Frequency (Core Clock) */
mbed_official 525:c320967f86b9 47
mbed_official 525:c320967f86b9 48 /*******************************************************************************
mbed_official 525:c320967f86b9 49 ***************************** PROTOTYPES **********************************
mbed_official 525:c320967f86b9 50 ******************************************************************************/
mbed_official 525:c320967f86b9 51
mbed_official 525:c320967f86b9 52 /* Interrupt routines - prototypes */
mbed_official 525:c320967f86b9 53 #if defined(_EFM32_WONDER_FAMILY)
mbed_official 525:c320967f86b9 54 void Reset_Handler(void);
mbed_official 525:c320967f86b9 55 void NMI_Handler(void);
mbed_official 525:c320967f86b9 56 void HardFault_Handler(void);
mbed_official 525:c320967f86b9 57 void MemManage_Handler(void);
mbed_official 525:c320967f86b9 58 void BusFault_Handler(void);
mbed_official 525:c320967f86b9 59 void UsageFault_Handler(void);
mbed_official 525:c320967f86b9 60 void SVC_Handler(void);
mbed_official 525:c320967f86b9 61 void DebugMon_Handler(void);
mbed_official 525:c320967f86b9 62 void PendSV_Handler(void);
mbed_official 525:c320967f86b9 63 void SysTick_Handler(void);
mbed_official 525:c320967f86b9 64 void DMA_IRQHandler(void);
mbed_official 525:c320967f86b9 65 void GPIO_EVEN_IRQHandler(void);
mbed_official 525:c320967f86b9 66 void TIMER0_IRQHandler(void);
mbed_official 525:c320967f86b9 67 void USART0_RX_IRQHandler(void);
mbed_official 525:c320967f86b9 68 void USART0_TX_IRQHandler(void);
mbed_official 525:c320967f86b9 69 void USB_IRQHandler(void);
mbed_official 525:c320967f86b9 70 void ACMP0_IRQHandler(void);
mbed_official 525:c320967f86b9 71 void ADC0_IRQHandler(void);
mbed_official 525:c320967f86b9 72 void DAC0_IRQHandler(void);
mbed_official 525:c320967f86b9 73 void I2C0_IRQHandler(void);
mbed_official 525:c320967f86b9 74 void I2C1_IRQHandler(void);
mbed_official 525:c320967f86b9 75 void GPIO_ODD_IRQHandler(void);
mbed_official 525:c320967f86b9 76 void TIMER1_IRQHandler(void);
mbed_official 525:c320967f86b9 77 void TIMER2_IRQHandler(void);
mbed_official 525:c320967f86b9 78 void TIMER3_IRQHandler(void);
mbed_official 525:c320967f86b9 79 void USART1_RX_IRQHandler(void);
mbed_official 525:c320967f86b9 80 void USART1_TX_IRQHandler(void);
mbed_official 525:c320967f86b9 81 void LESENSE_IRQHandler(void);
mbed_official 525:c320967f86b9 82 void USART2_RX_IRQHandler(void);
mbed_official 525:c320967f86b9 83 void USART2_TX_IRQHandler(void);
mbed_official 525:c320967f86b9 84 void UART0_RX_IRQHandler(void);
mbed_official 525:c320967f86b9 85 void UART0_TX_IRQHandler(void);
mbed_official 525:c320967f86b9 86 void UART1_RX_IRQHandler(void);
mbed_official 525:c320967f86b9 87 void UART1_TX_IRQHandler(void);
mbed_official 525:c320967f86b9 88 void LEUART0_IRQHandler(void);
mbed_official 525:c320967f86b9 89 void LEUART1_IRQHandler(void);
mbed_official 525:c320967f86b9 90 void LETIMER0_IRQHandler(void);
mbed_official 525:c320967f86b9 91 void PCNT0_IRQHandler(void);
mbed_official 525:c320967f86b9 92 void PCNT1_IRQHandler(void);
mbed_official 525:c320967f86b9 93 void PCNT2_IRQHandler(void);
mbed_official 525:c320967f86b9 94 void RTC_IRQHandler(void);
mbed_official 525:c320967f86b9 95 void BURTC_IRQHandler(void);
mbed_official 525:c320967f86b9 96 void CMU_IRQHandler(void);
mbed_official 525:c320967f86b9 97 void VCMP_IRQHandler(void);
mbed_official 525:c320967f86b9 98 void LCD_IRQHandler(void);
mbed_official 525:c320967f86b9 99 void MSC_IRQHandler(void);
mbed_official 525:c320967f86b9 100 void AES_IRQHandler(void);
mbed_official 525:c320967f86b9 101 void EBI_IRQHandler(void);
mbed_official 525:c320967f86b9 102 void EMU_IRQHandler(void);
mbed_official 525:c320967f86b9 103 void FPUEH_IRQHandler(void);
mbed_official 525:c320967f86b9 104 #endif
mbed_official 525:c320967f86b9 105
mbed_official 525:c320967f86b9 106 uint32_t SystemCoreClockGet(void);
mbed_official 525:c320967f86b9 107
mbed_official 525:c320967f86b9 108 /**************************************************************************//**
mbed_official 525:c320967f86b9 109 * @brief
mbed_official 525:c320967f86b9 110 * Update CMSIS SystemCoreClock variable.
mbed_official 525:c320967f86b9 111 *
mbed_official 525:c320967f86b9 112 * @details
mbed_official 525:c320967f86b9 113 * CMSIS defines a global variable SystemCoreClock that shall hold the
mbed_official 525:c320967f86b9 114 * core frequency in Hz. If the core frequency is dynamically changed, the
mbed_official 525:c320967f86b9 115 * variable must be kept updated in order to be CMSIS compliant.
mbed_official 525:c320967f86b9 116 *
mbed_official 525:c320967f86b9 117 * Notice that if only changing core clock frequency through the EFM32 CMU
mbed_official 525:c320967f86b9 118 * API, this variable will be kept updated. This function is only provided
mbed_official 525:c320967f86b9 119 * for CMSIS compliance and if a user modifies the the core clock outside
mbed_official 525:c320967f86b9 120 * the CMU API.
mbed_official 525:c320967f86b9 121 *****************************************************************************/
mbed_official 525:c320967f86b9 122 static __INLINE void SystemCoreClockUpdate(void)
mbed_official 525:c320967f86b9 123 {
mbed_official 525:c320967f86b9 124 SystemCoreClockGet();
mbed_official 525:c320967f86b9 125 }
mbed_official 525:c320967f86b9 126
mbed_official 525:c320967f86b9 127 void SystemInit(void);
mbed_official 525:c320967f86b9 128 uint32_t SystemHFClockGet(void);
mbed_official 525:c320967f86b9 129 uint32_t SystemHFXOClockGet(void);
mbed_official 525:c320967f86b9 130 void SystemHFXOClockSet(uint32_t freq);
mbed_official 525:c320967f86b9 131 uint32_t SystemLFRCOClockGet(void);
mbed_official 525:c320967f86b9 132 uint32_t SystemULFRCOClockGet(void);
mbed_official 525:c320967f86b9 133 uint32_t SystemLFXOClockGet(void);
mbed_official 525:c320967f86b9 134 void SystemLFXOClockSet(uint32_t freq);
mbed_official 525:c320967f86b9 135
mbed_official 525:c320967f86b9 136 #ifdef __cplusplus
mbed_official 525:c320967f86b9 137 }
mbed_official 525:c320967f86b9 138 #endif
mbed_official 525:c320967f86b9 139 #endif /* __SYSTEM_EFM32WG_H */