system_efr32bg21.c File Reference

CMSIS Cortex-M33 system support for EFR32BG21 devices.

Version
794a06738f37d09c19145d61dab3ad0c596660c9

License

Copyright 2019 Silicon Laboratories, Inc. www.silabs.com

SPDX-License-Identifier: Zlib

The licensor of this software is Silicon Laboratories Inc.

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

Definition in file system_efr32bg21.c.

#include <stdint.h>
#include "em_device.h"

Macros

#define CLKIN0_FREQ   (0UL)
 
#define FSRCO_FREQ   (20000000UL)
 
#define HFRCODPLL_MAX_FREQ   (80000000UL)
 
#define HFRCODPLL_STARTUP_FREQ   (19000000UL)
 
#define HFXO_FREQ   (38400000UL)
 
#define LFRCO_FREQ   (32768UL)
 
#define LFXO_FREQ   (LFRCO_FREQ)
 
#define ULFRCO_FREQ   (1000UL)
 

Functions

uint32_t SystemCLKIN0Get (void)
 Get current CLKIN0 frequency.
 
uint32_t SystemFSRCOClockGet (void)
 Get FSRCO frequency.
 
uint32_t SystemHCLKGet (void)
 Get the current system core clock frequency (HCLK).
 
uint32_t SystemHFRCODPLLClockGet (void)
 Get current HFRCODPLL frequency.
 
void SystemHFRCODPLLClockSet (uint32_t freq)
 Set HFRCODPLL frequency value.
 
uint32_t SystemHFRCOEM23ClockGet (void)
 Get current HFRCOEM23 frequency.
 
uint32_t SystemHFXOClockGet (void)
 Get high frequency crystal oscillator clock frequency for target system.
 
void SystemHFXOClockSet (uint32_t freq)
 Set high frequency crystal oscillator clock frequency for target system.
 
void SystemInit (void)
 Initialize the system.
 
uint32_t SystemLFRCOClockGet (void)
 Get low frequency RC oscillator clock frequency for target system.
 
uint32_t SystemLFXOClockGet (void)
 Get low frequency crystal oscillator clock frequency for target system.
 
void SystemLFXOClockSet (uint32_t freq)
 Set low frequency crystal oscillator clock frequency for target system.
 
uint32_t SystemMaxCoreClockGet (void)
 Get the maximum core clock frequency.
 
uint32_t SystemSYSCLKGet (void)
 Get the current system clock frequency (SYSCLK).
 
uint32_t SystemULFRCOClockGet (void)
 Get ultra low frequency RC oscillator clock frequency for target system.
 

Variables

uint32_t __Vectors
 
uint32_t SystemCoreClock = HFRCODPLL_STARTUP_FREQ
 System System Clock Frequency (Core Clock).
 
static uint32_t SystemHFRCODPLLClock = HFRCODPLL_STARTUP_FREQ
 
static uint32_t SystemHFXOClock = HFXO_FREQ
 
static uint32_t SystemLFXOClock = LFXO_FREQ