2017-11-29 19:50:50 +01:00
|
|
|
/**
|
|
|
|
* @defgroup cpu_efm32 Silicon Labs EFM32/EFR32/EZR32
|
|
|
|
* @ingroup cpu
|
2018-06-01 12:25:00 +02:00
|
|
|
* @brief Silicon Labs's EFM32/EFR32/EZR32 MCUs implementation
|
2017-11-29 19:50:50 +01:00
|
|
|
*
|
|
|
|
* This module contains all code and definitions for the Silicon Labs
|
|
|
|
* EFM32/EFR32/EZR32 MCUs. It uses the Gecko SDK (vendor library) for the
|
|
|
|
* peripheral drivers.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Supported Peripherals
|
|
|
|
* =====================
|
|
|
|
*
|
|
|
|
* The following peripherals are supported (depends on microcontroller):
|
|
|
|
* - ADC
|
|
|
|
* - CPUID
|
|
|
|
* - DAC
|
|
|
|
* - Flash page
|
|
|
|
* - GPIO
|
|
|
|
* - HW RNG
|
|
|
|
* - I2C
|
|
|
|
* - Power Management
|
|
|
|
* - PWM
|
|
|
|
* - RTC
|
|
|
|
* - RTT
|
|
|
|
* - SPI
|
|
|
|
* - Timer
|
|
|
|
* - UART (including low-power)
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Clock Configuration
|
|
|
|
* ===================
|
|
|
|
*
|
|
|
|
* By default the microcontroller will run on the internal RC-oscillator. If
|
|
|
|
* an external crystal is available, you can configure it to use by setting
|
|
|
|
* `CLOCK_HF=cmuSelect_HFXO`. The same applies for `CLOCK_LFA`, `CLOCK_LFB` and
|
|
|
|
* `CLOCK_LFE` using `cmuSelect_LFXO`.
|
|
|
|
*
|
|
|
|
* If the internal RC-oscillator is not used, it will be disabled.
|
|
|
|
*
|
|
|
|
* Refer to the reference manual of the specific microcontroller for the
|
|
|
|
* specifics.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* EMU and CMU Configuration
|
|
|
|
* =========================
|
|
|
|
*
|
|
|
|
* The Energy Management Unit (EMU) and Clock Management Unit (CMU) are
|
|
|
|
* initialized using default values provided by the Gecko SDK. You can override
|
|
|
|
* any of the following defaults to use other values:
|
|
|
|
*
|
|
|
|
* - `CMU_HFXOINIT`
|
|
|
|
* - `CMU_LFXOINIT`
|
|
|
|
* - `EMU_DCDCINIT`
|
|
|
|
* - `EMU_EM23INIT`
|
|
|
|
* - `EMU_EM4INIT`
|
|
|
|
*
|
|
|
|
* Refer to the Gecko SDK for more information about these values.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Low-power Configuration
|
|
|
|
* =======================
|
|
|
|
*
|
|
|
|
* The EFM32/EFR32/EZR32 MCUs have support for low-power peripherals. Support
|
2019-09-28 10:41:56 +02:00
|
|
|
* is enabled by default, but can be disabled if not used.
|
|
|
|
*
|
|
|
|
* - Setting `EFM32_LEUART_ENABLED=0` will disable support for the LEUART
|
|
|
|
* in the UART driver peripheral and save approximately 400 bytes.
|
|
|
|
*
|
|
|
|
* Refer to `cpu/efm32/efm32-features.mk` for more options.
|
2017-11-29 19:50:50 +01:00
|
|
|
*/
|
2018-06-01 12:25:00 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @defgroup cpu_efm32gg Silicon Labs EFM32GG family
|
|
|
|
* @ingroup cpu_efm32
|
|
|
|
* @brief Silicon Labs's EFM32GG MCUs family implementation
|
|
|
|
*/
|
|
|
|
|
2020-06-29 01:15:08 +02:00
|
|
|
/**
|
|
|
|
* @defgroup cpu_efm32hg Silicon Labs EFM32HG family
|
|
|
|
* @ingroup cpu_efm32
|
|
|
|
* @brief Silicon Labs's EFM32HG MCUs family implementation
|
|
|
|
*/
|
|
|
|
|
2018-06-01 12:25:00 +02:00
|
|
|
/**
|
|
|
|
* @defgroup cpu_efm32lg Silicon Labs EFM32LG family
|
|
|
|
* @ingroup cpu_efm32
|
|
|
|
* @brief Silicon Labs's EFM32LG MCUs family implementation
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @defgroup cpu_efm32pg1b Silicon Labs EFM32PG1B family
|
|
|
|
* @ingroup cpu_efm32
|
|
|
|
* @brief Silicon Labs's EFM32PG1B MCUs family implementation
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @defgroup cpu_efm32pg12b Silicon Labs EFM32PG12B family
|
|
|
|
* @ingroup cpu_efm32
|
|
|
|
* @brief Silicon Labs's EFM32PG12B MCUs family implementation
|
|
|
|
*/
|
|
|
|
|
2018-03-25 19:18:22 +02:00
|
|
|
/**
|
|
|
|
* @defgroup cpu_efm32zg Silicon Labs EFM32ZG family
|
|
|
|
* @ingroup cpu_efm32
|
|
|
|
* @brief Silicon Labs's EFM32ZG MCUs family implementation
|
|
|
|
*/
|
|
|
|
|
2020-11-21 00:53:06 +01:00
|
|
|
/**
|
|
|
|
* @defgroup cpu_efr32mg1b Silicon Labs EFR32MG1P family
|
|
|
|
* @ingroup cpu_efm32
|
|
|
|
* @brief Silicon Labs's EFR32MG1B MCUs family implementation
|
|
|
|
*/
|
|
|
|
|
2018-06-01 12:25:00 +02:00
|
|
|
/**
|
|
|
|
* @defgroup cpu_efr32mg1p Silicon Labs EFR32MG1P family
|
|
|
|
* @ingroup cpu_efm32
|
|
|
|
* @brief Silicon Labs's EFR32MG1P MCUs family implementation
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @defgroup cpu_efr32mg12p Silicon Labs EFR32MG12P family
|
|
|
|
* @ingroup cpu_efm32
|
|
|
|
* @brief Silicon Labs's EFR32MG12P MCUs family implementation
|
2020-10-26 20:02:14 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @defgroup cpu_ezr32wg Silicon Labs EZR32WG family
|
|
|
|
* @ingroup cpu_efm32
|
|
|
|
* @brief Silicon Labs's EZR32WG MCUs family implementation
|
2018-06-01 12:25:00 +02:00
|
|
|
*/
|