OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/rtos/freertos-6.1.1/Demo/CORTEX_EFMG890F128_IAR
    from Rev 603 to Rev 604
    Reverse comparison

Rev 603 → Rev 604

/CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32/system_efm32.c
0,0 → 1,126
/**************************************************************************//**
* @file
* @brief CMSIS Cortex-M3 Peripheral Access Layer for EFM32 devices
*
* @author Energy Micro AS
* @version 1.0.2
******************************************************************************
* @section License
* <b>(C) Copyright 2009 Energy Micro AS, http://www.energymicro.com</b>
******************************************************************************
*
* This source code is the property of Energy Micro AS. The source and compiled
* code may only be used on Energy Micro "EFM32" microcontrollers.
*
* This copyright notice may not be removed from the source code nor changed.
*
* DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Energy Micro AS has no
* obligation to support this Software. Energy Micro AS is providing the
* Software "AS IS", with no express or implied warranties of any kind,
* including, but not limited to, any implied warranties of merchantability
* or fitness for any particular purpose or warranties against infringement
* of any proprietary rights of a third party.
*
* Energy Micro AS will not be liable for any consequential, incidental, or
* special damages, or any other relief, or for any claim by any third party,
* arising from your use of this Software.
*
*****************************************************************************/
 
#include <stdint.h>
#include "efm32.h"
 
uint32_t SystemCoreClock; /**< System Clock Frequency (Core Clock) */
 
#ifndef EFM32_HFXO_FREQ
#define EFM32_HFXO_FREQ 32000000
#endif
#ifndef EFM32_LFXO_FREQ
#define EFM32_LFXO_FREQ 32768
#endif
#ifndef EFM32_LFRCO_FREQ
#define EFM32_LFRCO_FREQ 32768
#endif
 
/**************************************************************************//**
* @brief Initialize the system
*
* @param none
* @return none
*
* @brief Setup the microcontroller system.
* Initialize the System and update the SystemCoreClock variable.
*****************************************************************************/
void SystemInit(void)
{
#if EFM32_AUXHFROCO_ENABLE
CMU_TypeDef *cmu = CMU;
 
/* Enable clocks to debug modules in Cortex */
/* This will enable Debug Trace and MSC Flash programming clocks */
cmu->OSCENCMD = CMU_OSCENCMD_AUXHFRCOEN;
#endif
}
 
/**************************************************************************//**
* @brief Update SystemCoreClock variable
*
* @param none
* @return none
*
* @brief Updates the SystemCoreClock with current core Clock
* retrieved from cpu registers.
*****************************************************************************/
void SystemCoreClockUpdate(void)
{
CMU_TypeDef *cmu = CMU;
uint32_t inputClock;
 
/* Check source for core clock */
switch (cmu->STATUS &
(CMU_STATUS_HFRCOSEL |
CMU_STATUS_HFXOSEL |
CMU_STATUS_LFRCOSEL |
CMU_STATUS_LFXOSEL))
{
case CMU_STATUS_HFXOSEL:
inputClock = EFM32_HFXO_FREQ;
break;
case CMU_STATUS_LFRCOSEL:
inputClock = EFM32_LFRCO_FREQ;
break;
case CMU_STATUS_LFXOSEL:
inputClock = EFM32_LFXO_FREQ;
break;
case CMU_STATUS_HFRCOSEL:
default:
switch ((cmu->HFRCOCTRL & _CMU_HFRCOCTRL_BAND_MASK) >> _CMU_HFRCOCTRL_BAND_SHIFT)
{
case _CMU_HFRCOCTRL_BAND_28MHZ:
inputClock = 28000000;
break;
case _CMU_HFRCOCTRL_BAND_21MHZ:
inputClock = 21000000;
break;
case _CMU_HFRCOCTRL_BAND_14MHZ:
inputClock = 14000000;
break;
case _CMU_HFRCOCTRL_BAND_11MHZ:
inputClock = 11000000;
break;
case _CMU_HFRCOCTRL_BAND_7MHZ:
inputClock = 7000000;
break;
case _CMU_HFRCOCTRL_BAND_1MHZ:
inputClock = 1500000;
break;
default:
inputClock = 0;
break;
}
break;
}
/* Adjust according to clock divisor */
SystemCoreClock = inputClock / (1<<((cmu->HFCORECLKDIV & _CMU_HFCORECLKDIV_MASK)>>_CMU_HFCORECLKDIV_HFCORECLKDIV_SHIFT));
}
 
/CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32/efm32.h
0,0 → 1,109
/**************************************************************************//**
* @file
* @brief CMSIS Cortex-M3 Peripheral Access Layer for EFM32 Gxxx Device series
*
* This is a convenience header file for defining the EFM32 part number on the
* build command line, instead of specifying the part specific header file.
* @verbatim
* Example: Add "-DEFM32G890F128" to your build options, to define part
* Add "#include "EFM32G.h" to your source files
* @endverbatim
* @author Energy Micro AS
* @version 1.0.2
******************************************************************************
* @section License
* <b>(C) Copyright 2009 Energy Micro AS, http://www.energymicro.com</b>
******************************************************************************
*
* This source code is the property of Energy Micro AS. The source and compiled
* code may only be used on Energy Micro "EFM32" microcontrollers.
*
* This copyright notice may not be removed from the source code nor changed.
*
* DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Energy Micro AS has no
* obligation to support this Software. Energy Micro AS is providing the
* Software "AS IS", with no express or implied warranties of any kind,
* including, but not limited to, any implied warranties of merchantability
* or fitness for any particular purpose or warranties against infringement
* of any proprietary rights of a third party.
*
* Energy Micro AS will not be liable for any consequential, incidental, or
* special damages, or any other relief, or for any claim by any third party,
* arising from your use of this Software.
*
*****************************************************************************/
 
#ifndef __EFM32_H
#define __EFM32_H
 
#if defined(EFM32G200F16)
#include "efm32g200f16.h"
 
#elif defined(EFM32G200F32)
#include "efm32g200f32.h"
 
#elif defined(EFM32G200F64)
#include "efm32g200f64.h"
 
#elif defined(EFM32G210F128)
#include "efm32g210f128.h"
 
#elif defined(EFM32G230F128)
#include "efm32g230f128.h"
 
#elif defined(EFM32G230F32)
#include "efm32g230f32.h"
 
#elif defined(EFM32G230F64)
#include "efm32g230f64.h"
 
#elif defined(EFM32G280F128)
#include "efm32g280f128.h"
 
#elif defined(EFM32G280F32)
#include "efm32g280f32.h"
 
#elif defined(EFM32G280F64)
#include "efm32g280f64.h"
 
#elif defined(EFM32G290F128)
#include "efm32g290f128.h"
 
#elif defined(EFM32G290F32)
#include "efm32g290f32.h"
 
#elif defined(EFM32G290F64)
#include "efm32g290f64.h"
 
#elif defined(EFM32G840F128)
#include "efm32g840f128.h"
 
#elif defined(EFM32G840F32)
#include "efm32g840f32.h"
 
#elif defined(EFM32G840F64)
#include "efm32g840f64.h"
 
#elif defined(EFM32G880F128)
#include "efm32g880f128.h"
 
#elif defined(EFM32G880F32)
#include "efm32g880f32.h"
 
#elif defined(EFM32G880F64)
#include "efm32g880f64.h"
 
#elif defined(EFM32G890F128)
#include "efm32g890f128.h"
 
#elif defined(EFM32G890F32)
#include "efm32g890f32.h"
 
#elif defined(EFM32G890F64)
#include "efm32g890f64.h"
 
#else
#error "efm32.h: PART NUMBER undefined"
#endif
 
#endif
/CMSIS/CM3/DeviceSupport/EnergyMicro/EFM32/system_efm32.h
0,0 → 1,69
/**************************************************************************//**
* @file
* @brief CMSIS Cortex-M3 Peripheral Access Layer for EFM32 devices
*
* @author Energy Micro AS
* @version 1.0.2
******************************************************************************
* @section License
* <b>(C) Copyright 2009 Energy Micro AS, http://www.energymicro.com</b>
******************************************************************************
*
* This source code is the property of Energy Micro AS. The source and compiled
* code may only be used on Energy Micro "EFM32" microcontrollers.
*
* This copyright notice may not be removed from the source code nor changed.
*
* DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Energy Micro AS has no
* obligation to support this Software. Energy Micro AS is providing the
* Software "AS IS", with no express or implied warranties of any kind,
* including, but not limited to, any implied warranties of merchantability
* or fitness for any particular purpose or warranties against infringement
* of any proprietary rights of a third party.
*
* Energy Micro AS will not be liable for any consequential, incidental, or
* special damages, or any other relief, or for any claim by any third party,
* arising from your use of this Software.
*
*****************************************************************************/
 
#ifndef __SYSTEM_EFM32_H
#define __SYSTEM_EFM32_H
 
#ifdef __cplusplus
extern "C" {
#endif
 
#include <stdint.h>
 
extern uint32_t SystemCoreClock; /**< System Clock Frequency (Core Clock) */
 
/**************************************************************************//**
* @brief Initialize the system
*
* @param none
* @return none
*
* @brief Setup the microcontroller system.
* Initialize the System and update the SystemCoreClock variable.
*****************************************************************************/
extern void SystemInit(void);
 
/**************************************************************************//**
* @brief Update SystemCoreClock variable
*
* @param none
* @return none
*
* @brief Updates the SystemCoreClock with current core Clock
* retrieved from cpu registers.
*****************************************************************************/
extern void SystemCoreClockUpdate(void);
 
 
#ifdef __cplusplus
}
#endif
 
#endif
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.