mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
131 lines
3.7 KiB
Plaintext
131 lines
3.7 KiB
Plaintext
/**
|
|
* @defgroup cpu_efm32 Silicon Labs EFM32/EFR32/EZR32
|
|
* @ingroup cpu
|
|
* @brief Silicon Labs's EFM32/EFR32/EZR32 MCUs implementation
|
|
*
|
|
* 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
|
|
* 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.
|
|
*/
|
|
|
|
/**
|
|
* @defgroup cpu_efm32gg Silicon Labs EFM32GG family
|
|
* @ingroup cpu_efm32
|
|
* @brief Silicon Labs's EFM32GG MCUs family implementation
|
|
*/
|
|
|
|
/**
|
|
* @defgroup cpu_efm32hg Silicon Labs EFM32HG family
|
|
* @ingroup cpu_efm32
|
|
* @brief Silicon Labs's EFM32HG MCUs family implementation
|
|
*/
|
|
|
|
/**
|
|
* @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
|
|
*/
|
|
|
|
/**
|
|
* @defgroup cpu_efm32zg Silicon Labs EFM32ZG family
|
|
* @ingroup cpu_efm32
|
|
* @brief Silicon Labs's EFM32ZG MCUs family implementation
|
|
*/
|
|
|
|
/**
|
|
* @defgroup cpu_efr32mg1b Silicon Labs EFR32MG1P family
|
|
* @ingroup cpu_efm32
|
|
* @brief Silicon Labs's EFR32MG1B MCUs family implementation
|
|
*/
|
|
|
|
/**
|
|
* @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
|
|
*/
|
|
|
|
/**
|
|
* @defgroup cpu_ezr32wg Silicon Labs EZR32WG family
|
|
* @ingroup cpu_efm32
|
|
* @brief Silicon Labs's EZR32WG MCUs family implementation
|
|
*/ |