system_efr32mg1p.c File Reference

CMSIS Cortex-M3/M4 System Layer for EFR32 devices.

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_efr32mg1p.c.

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

Macros

#define EFR32_HFRCO_MAX_FREQ   (38000000UL)
 
#define EFR32_HFRCO_STARTUP_FREQ   (19000000UL)
 
#define EFR32_HFXO_FREQ   (38400000UL)
 
#define EFR32_LFRCO_FREQ   (32768UL)
 
#define EFR32_LFXO_FREQ   (EFR32_LFRCO_FREQ)
 
#define EFR32_ULFRCO_FREQ   (1000UL)
 

Functions

uint32_t SystemCoreClockGet (void)
 Get the current core clock frequency.
 
uint32_t SystemHFClockGet (void)
 Get the current HFCLK 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 SystemULFRCOClockGet (void)
 Get ultra low frequency RC oscillator clock frequency for target system.
 

Variables

uint32_t SystemCoreClock = EFR32_HFRCO_STARTUP_FREQ
 System System Clock Frequency (Core Clock).
 
uint32_t SystemHfrcoFreq = EFR32_HFRCO_STARTUP_FREQ
 System HFRCO frequency.
 

Macro Definition Documentation

#define EFR32_HFRCO_MAX_FREQ   (38000000UL)

Maximum HFRCO frequency

Definition at line 57 of file system_efr32mg1p.c.

Referenced by SystemMaxCoreClockGet().

#define EFR32_HFRCO_STARTUP_FREQ   (19000000UL)

HFRCO startup frequency

Definition at line 67 of file system_efr32mg1p.c.

#define EFR32_HFXO_FREQ   (38400000UL)

HFXO frequency

Definition at line 62 of file system_efr32mg1p.c.

Referenced by SystemMaxCoreClockGet().

#define EFR32_LFRCO_FREQ   (32768UL)

LFRCO frequency, tuned to below frequency during manufacturing.

Definition at line 39 of file system_efr32mg1p.c.

Referenced by SystemHFClockGet(), and SystemLFRCOClockGet().

#define EFR32_LFXO_FREQ   (EFR32_LFRCO_FREQ)

(DO_NOT_INCLUDE_WITH_DOXYGEN) LFXO frequency

Definition at line 80 of file system_efr32mg1p.c.

#define EFR32_ULFRCO_FREQ   (1000UL)

ULFRCO frequency

Definition at line 41 of file system_efr32mg1p.c.

Referenced by SystemULFRCOClockGet().