From 8f12b9896f168073a276f6f7e06e73a43dcecd0f Mon Sep 17 00:00:00 2001 From: Bas Stottelaar <basstottelaar@gmail.com> Date: Wed, 29 Nov 2017 19:50:50 +0100 Subject: [PATCH] cpu: efm32_common + ef32mg1p: replace with generalized efm32 cpu --- cpu/{efm32_common => efm32}/Makefile | 5 +- cpu/{efm32_common => efm32}/Makefile.dep | 4 +- cpu/{efm32_common => efm32}/Makefile.features | 4 ++ cpu/efm32/Makefile.include | 34 ++++++++++ cpu/{efm32_common => efm32}/cpu.c | 2 +- cpu/efm32/doc.txt | 66 +++++++++++++++++++ cpu/efm32/efm32-info.mk | 27 ++++++++ cpu/efm32/families/efr32mg1p/Makefile | 6 ++ cpu/efm32/families/efr32mg1p/cpus.txt | 27 ++++++++ .../include/vendor/efr32mg1p132f256gm32.h | 0 .../include/vendor/efr32mg1p132f256gm48.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_acmp.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_adc.h | 0 .../include/vendor/efr32mg1p_af_pins.h | 0 .../include/vendor/efr32mg1p_af_ports.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_cmu.h | 0 .../include/vendor/efr32mg1p_cryotimer.h | 0 .../include/vendor/efr32mg1p_crypto.h | 0 .../include/vendor/efr32mg1p_devinfo.h | 0 .../include/vendor/efr32mg1p_dma_descriptor.h | 0 .../include/vendor/efr32mg1p_dmareq.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_emu.h | 0 .../include/vendor/efr32mg1p_fpueh.h | 0 .../include/vendor/efr32mg1p_gpcrc.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_gpio.h | 0 .../include/vendor/efr32mg1p_gpio_p.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_i2c.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_idac.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_ldma.h | 0 .../include/vendor/efr32mg1p_ldma_ch.h | 0 .../include/vendor/efr32mg1p_letimer.h | 0 .../include/vendor/efr32mg1p_leuart.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_msc.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_pcnt.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_prs.h | 0 .../include/vendor/efr32mg1p_prs_ch.h | 0 .../include/vendor/efr32mg1p_prs_signals.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_rmu.h | 0 .../include/vendor/efr32mg1p_romtable.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_rtcc.h | 0 .../include/vendor/efr32mg1p_rtcc_cc.h | 0 .../include/vendor/efr32mg1p_rtcc_ret.h | 0 .../include/vendor/efr32mg1p_timer.h | 0 .../include/vendor/efr32mg1p_timer_cc.h | 0 .../include/vendor/efr32mg1p_usart.h | 0 .../efr32mg1p/include/vendor/efr32mg1p_wdog.h | 0 .../include/vendor/efr32mg1p_wdog_pch.h | 0 .../efr32mg1p/include/vendor/em_device.h | 56 +++++++++++++++- .../include/vendor/system_efr32mg1p.h | 0 .../families/efr32mg1p/system.c} | 0 cpu/{ => efm32/families}/efr32mg1p/vectors.c | 21 +++++- cpu/{efr32mg1p => efm32}/include/cpu_conf.h | 10 +-- .../include/periph_cpu.h | 2 +- cpu/{efr32mg1p => efm32}/periph/Makefile | 0 cpu/{efm32_common => efm32}/periph/adc.c | 2 +- cpu/{efm32_common => efm32}/periph/cpuid.c | 2 +- cpu/{efm32_common => efm32}/periph/dac.c | 2 +- .../periph/flashpage.c | 2 +- cpu/{efm32_common => efm32}/periph/gpio.c | 2 +- cpu/{efm32_common => efm32}/periph/hwrng.c | 2 +- cpu/{efm32_common => efm32}/periph/i2c.c | 2 +- cpu/{efm32_common => efm32}/periph/pm.c | 2 +- cpu/{efm32_common => efm32}/periph/pwm.c | 2 +- .../periph/rtc_series0.c | 2 +- .../periph/rtc_series1.c | 2 +- .../periph/rtt_series0.c | 2 +- .../periph/rtt_series1.c | 2 +- cpu/{efm32_common => efm32}/periph/spi.c | 2 +- cpu/{efm32_common => efm32}/periph/timer.c | 2 +- cpu/{efm32_common => efm32}/periph/uart.c | 2 +- cpu/efm32_common/Makefile.include | 20 ------ cpu/efm32_common/doc.txt | 5 -- cpu/efm32_common/periph/Makefile | 3 - cpu/efr32mg1p/Makefile | 10 --- cpu/efr32mg1p/Makefile.dep | 1 - cpu/efr32mg1p/Makefile.features | 2 - cpu/efr32mg1p/Makefile.include | 12 ---- cpu/efr32mg1p/doc.txt | 10 --- .../ldscripts/efr32mg1p132f256gm32.ld | 28 -------- .../ldscripts/efr32mg1p132f256gm48.ld | 28 -------- 80 files changed, 265 insertions(+), 150 deletions(-) rename cpu/{efm32_common => efm32}/Makefile (54%) rename cpu/{efm32_common => efm32}/Makefile.dep (50%) rename cpu/{efm32_common => efm32}/Makefile.features (60%) create mode 100644 cpu/efm32/Makefile.include rename cpu/{efm32_common => efm32}/cpu.c (99%) create mode 100644 cpu/efm32/doc.txt create mode 100644 cpu/efm32/efm32-info.mk create mode 100644 cpu/efm32/families/efr32mg1p/Makefile create mode 100644 cpu/efm32/families/efr32mg1p/cpus.txt rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p132f256gm32.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p132f256gm48.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_acmp.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_adc.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_af_pins.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_af_ports.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_cmu.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_cryotimer.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_crypto.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_devinfo.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_dma_descriptor.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_dmareq.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_emu.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_fpueh.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_gpcrc.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_gpio.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_gpio_p.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_i2c.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_idac.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_ldma.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_ldma_ch.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_letimer.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_leuart.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_msc.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_pcnt.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_prs.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_prs_ch.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_prs_signals.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_rmu.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_romtable.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_rtcc.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_rtcc_cc.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_rtcc_ret.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_timer.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_timer_cc.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_usart.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_wdog.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/efr32mg1p_wdog_pch.h (100%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/em_device.h (65%) rename cpu/{ => efm32/families}/efr32mg1p/include/vendor/system_efr32mg1p.h (100%) rename cpu/{efr32mg1p/system_efr32mg1p.c => efm32/families/efr32mg1p/system.c} (100%) rename cpu/{ => efm32/families}/efr32mg1p/vectors.c (77%) rename cpu/{efr32mg1p => efm32}/include/cpu_conf.h (76%) rename cpu/{efm32_common => efm32}/include/periph_cpu.h (99%) rename cpu/{efr32mg1p => efm32}/periph/Makefile (100%) rename cpu/{efm32_common => efm32}/periph/adc.c (98%) rename cpu/{efm32_common => efm32}/periph/cpuid.c (94%) rename cpu/{efm32_common => efm32}/periph/dac.c (98%) rename cpu/{efm32_common => efm32}/periph/flashpage.c (96%) rename cpu/{efm32_common => efm32}/periph/gpio.c (99%) rename cpu/{efm32_common => efm32}/periph/hwrng.c (97%) rename cpu/{efm32_common => efm32}/periph/i2c.c (99%) rename cpu/{efm32_common => efm32}/periph/pm.c (96%) rename cpu/{efm32_common => efm32}/periph/pwm.c (98%) rename cpu/{efm32_common => efm32}/periph/rtc_series0.c (99%) rename cpu/{efm32_common => efm32}/periph/rtc_series1.c (99%) rename cpu/{efm32_common => efm32}/periph/rtt_series0.c (98%) rename cpu/{efm32_common => efm32}/periph/rtt_series1.c (99%) rename cpu/{efm32_common => efm32}/periph/spi.c (98%) rename cpu/{efm32_common => efm32}/periph/timer.c (99%) rename cpu/{efm32_common => efm32}/periph/uart.c (99%) delete mode 100644 cpu/efm32_common/Makefile.include delete mode 100644 cpu/efm32_common/doc.txt delete mode 100644 cpu/efm32_common/periph/Makefile delete mode 100644 cpu/efr32mg1p/Makefile delete mode 100644 cpu/efr32mg1p/Makefile.dep delete mode 100644 cpu/efr32mg1p/Makefile.features delete mode 100644 cpu/efr32mg1p/Makefile.include delete mode 100644 cpu/efr32mg1p/doc.txt delete mode 100644 cpu/efr32mg1p/ldscripts/efr32mg1p132f256gm32.ld delete mode 100644 cpu/efr32mg1p/ldscripts/efr32mg1p132f256gm48.ld diff --git a/cpu/efm32_common/Makefile b/cpu/efm32/Makefile similarity index 54% rename from cpu/efm32_common/Makefile rename to cpu/efm32/Makefile index 79b967fc6d..f70451361e 100644 --- a/cpu/efm32_common/Makefile +++ b/cpu/efm32/Makefile @@ -1,7 +1,6 @@ -# define the module that is build -MODULE = efm32_common +MODULE = cpu # add a list of subdirectories, that should also be build -DIRS = periph +DIRS = periph families/$(EFM32_FAMILY) $(RIOTCPU)/cortexm_common include $(RIOTBASE)/Makefile.base diff --git a/cpu/efm32_common/Makefile.dep b/cpu/efm32/Makefile.dep similarity index 50% rename from cpu/efm32_common/Makefile.dep rename to cpu/efm32/Makefile.dep index ac33230682..9d63028a74 100644 --- a/cpu/efm32_common/Makefile.dep +++ b/cpu/efm32/Makefile.dep @@ -1,7 +1,7 @@ ifneq (,$(filter periph_rtc,$(USEMODULE))) - USEMODULE += periph_rtc_series$(CPU_SERIES) + USEMODULE += periph_rtc_series$(EFM32_SERIES) endif ifneq (,$(filter periph_rtt,$(USEMODULE))) - USEMODULE += periph_rtt_series$(CPU_SERIES) + USEMODULE += periph_rtt_series$(EFM32_SERIES) endif diff --git a/cpu/efm32_common/Makefile.features b/cpu/efm32/Makefile.features similarity index 60% rename from cpu/efm32_common/Makefile.features rename to cpu/efm32/Makefile.features index cfebd4882f..327743ecc7 100644 --- a/cpu/efm32_common/Makefile.features +++ b/cpu/efm32/Makefile.features @@ -1,3 +1,7 @@ FEATURES_PROVIDED += periph_cpuid FEATURES_PROVIDED += periph_flashpage FEATURES_PROVIDED += periph_pm + +ifeq (1,$(EFM32_TNRG)) + FEATURES_PROVIDED += periph_hwrng +endif diff --git a/cpu/efm32/Makefile.include b/cpu/efm32/Makefile.include new file mode 100644 index 0000000000..d27dc50a2e --- /dev/null +++ b/cpu/efm32/Makefile.include @@ -0,0 +1,34 @@ +include $(RIOTCPU)/efm32/efm32-info.mk + +export CPU_ARCH = $(EFM32_ARCHITECTURE) +export CPU_FAM = $(EFM32_FAMILY) + +# the em_device.h header requires a global define with the cpu model +export CFLAGS += -D$(shell echo $(CPU_MODEL) | tr 'a-z' 'A-Z') + +# include Gecko SDK package +USEPKG += gecko_sdk + +# CMSIS-DSP is needed for arm_math.h on Cortex-M0+ architectures +ifeq ($(CPU_ARCH),cortex-m0plus) + USEPKG += cmsis-dsp +endif + +# include common periph module +USEMODULE += periph_common + +# include layered power management +USEMODULE += pm_layered + +# include vendor device headers +INCLUDES += -I$(RIOTCPU)/efm32/families/$(EFM32_FAMILY)/include/vendor + +# include cortexm_common +LINKER_SCRIPT = cortexm.ld + +ROM_START_ADDR = $(EFM32_FLASH_START) +ROM_LEN = $(EFM32_FLASH_SIZE) +RAM_START_ADDR = $(EFM32_SRAM_START) +RAM_LEN = $(EFM32_SRAM_SIZE) + +include $(RIOTMAKE)/arch/cortexm.inc.mk diff --git a/cpu/efm32_common/cpu.c b/cpu/efm32/cpu.c similarity index 99% rename from cpu/efm32_common/cpu.c rename to cpu/efm32/cpu.c index 0421a0bcd2..02e785ba31 100644 --- a/cpu/efm32_common/cpu.c +++ b/cpu/efm32/cpu.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @{ * * @file diff --git a/cpu/efm32/doc.txt b/cpu/efm32/doc.txt new file mode 100644 index 0000000000..86b70aa47d --- /dev/null +++ b/cpu/efm32/doc.txt @@ -0,0 +1,66 @@ +/** + * @defgroup cpu_efm32 Silicon Labs EFM32/EFR32/EZR32 + * @ingroup cpu + * @brief Implementation of Silicon Labs's EFM32/EFR32/EZR32 MCUs + * + * 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 by setting LOW_POWER_ENABLED=0. + */ diff --git a/cpu/efm32/efm32-info.mk b/cpu/efm32/efm32-info.mk new file mode 100644 index 0000000000..2d687b0ad3 --- /dev/null +++ b/cpu/efm32/efm32-info.mk @@ -0,0 +1,27 @@ +# Find the header file that should exist if the CPU is supported. +EFM32_HEADER = $(wildcard $(RIOTCPU)/efm32/families/*/include/vendor/$(CPU_MODEL).h) + +ifeq (,$(EFM32_HEADER)) + $(error Header file for $(CPU_MODEL) is missing) +endif + +# Lookup up CPU information using grep. +EFM32_INFO = $(shell grep $(CPU_MODEL) $(shell dirname $(EFM32_HEADER))/../../cpus.txt) + +ifeq (,$(EFM32_INFO)) + $(error Unable to read CPU information for $(CPU_MODEL)) +endif + +# Export variables to use in this build. +export EFM32_FAMILY = $(word 2, $(EFM32_INFO)) +export EFM32_SERIES = $(word 3, $(EFM32_INFO)) +export EFM32_ARCHITECTURE = $(word 4, $(EFM32_INFO)) + +export EFM32_FLASH_START = $(word 5, $(EFM32_INFO)) +export EFM32_FLASH_SIZE = $(word 6, $(EFM32_INFO)) +export EFM32_SRAM_START = $(word 7, $(EFM32_INFO)) +export EFM32_SRAM_SIZE = $(word 8, $(EFM32_INFO)) + +export EFM32_CRYPTO = $(word 9, $(EFM32_INFO)) +export EFM32_TRNG = $(word 10, $(EFM32_INFO)) +export EFM32_RADIO = $(word 11, $(EFM32_INFO)) diff --git a/cpu/efm32/families/efr32mg1p/Makefile b/cpu/efm32/families/efr32mg1p/Makefile new file mode 100644 index 0000000000..adfea32360 --- /dev/null +++ b/cpu/efm32/families/efr32mg1p/Makefile @@ -0,0 +1,6 @@ +MODULE = cpu + +# (file triggers compiler bug. see #5775) +SRC_NOLTO += vectors.c + +include $(RIOTBASE)/Makefile.base diff --git a/cpu/efm32/families/efr32mg1p/cpus.txt b/cpu/efm32/families/efr32mg1p/cpus.txt new file mode 100644 index 0000000000..cd0bd8f7e7 --- /dev/null +++ b/cpu/efm32/families/efr32mg1p/cpus.txt @@ -0,0 +1,27 @@ +# This file is automatically generated, and should not be changed. There is +# propbably little reason to edit this file anyway, since it should already +# contain all information for the EFR32MG1P family of CPUs. + +# The intended usage is to grep for the exact model name, and split by spaces +# to get the required information. + +# CPU - Family - Series - Architecture - Flash base - Flash size - SRAM base - SRAM size - Crypto? - TRNG? - Radio? +efr32mg1p632f256gm32 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p132f256gm48 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p233f256gm48 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p132f256im32 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p232f256im32 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p133f256gm48 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p232f256gm48 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p732f256im32 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p232f256gj43 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p232f256gm32 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p231f256gm48 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p732f256gm32 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p232f256im48 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p132f256im48 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p632f256im32 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p131f256gm48 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p132f256gm32 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p233f256im48 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 +efr32mg1p132f256gj43 efr32mg1p 1 cortex-m4f 0x00000000 0x00040000 0x20000000 0x00007c00 1 0 1 diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p132f256gm32.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p132f256gm32.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p132f256gm32.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p132f256gm32.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p132f256gm48.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p132f256gm48.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p132f256gm48.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p132f256gm48.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_acmp.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_acmp.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_acmp.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_acmp.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_adc.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_adc.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_adc.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_adc.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_af_pins.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_af_pins.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_af_pins.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_af_pins.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_af_ports.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_af_ports.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_af_ports.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_af_ports.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_cmu.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_cmu.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_cmu.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_cmu.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_cryotimer.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_cryotimer.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_cryotimer.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_cryotimer.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_crypto.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_crypto.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_crypto.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_crypto.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_devinfo.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_devinfo.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_devinfo.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_devinfo.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_dma_descriptor.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_dma_descriptor.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_dma_descriptor.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_dma_descriptor.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_dmareq.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_dmareq.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_dmareq.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_dmareq.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_emu.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_emu.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_emu.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_emu.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_fpueh.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_fpueh.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_fpueh.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_fpueh.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_gpcrc.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_gpcrc.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_gpcrc.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_gpcrc.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_gpio.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_gpio.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_gpio.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_gpio.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_gpio_p.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_gpio_p.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_gpio_p.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_gpio_p.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_i2c.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_i2c.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_i2c.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_i2c.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_idac.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_idac.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_idac.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_idac.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_ldma.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_ldma.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_ldma.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_ldma.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_ldma_ch.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_ldma_ch.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_ldma_ch.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_ldma_ch.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_letimer.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_letimer.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_letimer.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_letimer.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_leuart.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_leuart.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_leuart.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_leuart.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_msc.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_msc.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_msc.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_msc.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_pcnt.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_pcnt.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_pcnt.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_pcnt.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_prs.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_prs.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_prs.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_prs.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_prs_ch.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_prs_ch.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_prs_ch.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_prs_ch.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_prs_signals.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_prs_signals.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_prs_signals.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_prs_signals.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_rmu.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_rmu.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_rmu.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_rmu.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_romtable.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_romtable.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_romtable.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_romtable.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_rtcc.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_rtcc.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_rtcc.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_rtcc.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_rtcc_cc.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_rtcc_cc.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_rtcc_cc.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_rtcc_cc.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_rtcc_ret.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_rtcc_ret.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_rtcc_ret.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_rtcc_ret.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_timer.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_timer.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_timer.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_timer.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_timer_cc.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_timer_cc.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_timer_cc.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_timer_cc.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_usart.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_usart.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_usart.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_usart.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_wdog.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_wdog.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_wdog.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_wdog.h diff --git a/cpu/efr32mg1p/include/vendor/efr32mg1p_wdog_pch.h b/cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_wdog_pch.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/efr32mg1p_wdog_pch.h rename to cpu/efm32/families/efr32mg1p/include/vendor/efr32mg1p_wdog_pch.h diff --git a/cpu/efr32mg1p/include/vendor/em_device.h b/cpu/efm32/families/efr32mg1p/include/vendor/em_device.h similarity index 65% rename from cpu/efr32mg1p/include/vendor/em_device.h rename to cpu/efm32/families/efr32mg1p/include/vendor/em_device.h index 10546dfa58..ab163292cb 100644 --- a/cpu/efr32mg1p/include/vendor/em_device.h +++ b/cpu/efm32/families/efr32mg1p/include/vendor/em_device.h @@ -49,12 +49,63 @@ extern "C" { #ifndef EM_DEVICE_H #define EM_DEVICE_H -#if defined(EFR32MG1P132F256GM48) -#include "efr32mg1p132f256gm48.h" +#if defined(EFR32MG1P131F256GM48) +#include "efr32mg1p131f256gm48.h" + +#elif defined(EFR32MG1P132F256GJ43) +#include "efr32mg1p132f256gj43.h" #elif defined(EFR32MG1P132F256GM32) #include "efr32mg1p132f256gm32.h" +#elif defined(EFR32MG1P132F256GM48) +#include "efr32mg1p132f256gm48.h" + +#elif defined(EFR32MG1P132F256IM32) +#include "efr32mg1p132f256im32.h" + +#elif defined(EFR32MG1P132F256IM48) +#include "efr32mg1p132f256im48.h" + +#elif defined(EFR32MG1P133F256GM48) +#include "efr32mg1p133f256gm48.h" + +#elif defined(EFR32MG1P231F256GM48) +#include "efr32mg1p231f256gm48.h" + +#elif defined(EFR32MG1P232F256GJ43) +#include "efr32mg1p232f256gj43.h" + +#elif defined(EFR32MG1P232F256GM32) +#include "efr32mg1p232f256gm32.h" + +#elif defined(EFR32MG1P232F256GM48) +#include "efr32mg1p232f256gm48.h" + +#elif defined(EFR32MG1P232F256IM32) +#include "efr32mg1p232f256im32.h" + +#elif defined(EFR32MG1P232F256IM48) +#include "efr32mg1p232f256im48.h" + +#elif defined(EFR32MG1P233F256GM48) +#include "efr32mg1p233f256gm48.h" + +#elif defined(EFR32MG1P233F256IM48) +#include "efr32mg1p233f256im48.h" + +#elif defined(EFR32MG1P632F256GM32) +#include "efr32mg1p632f256gm32.h" + +#elif defined(EFR32MG1P632F256IM32) +#include "efr32mg1p632f256im32.h" + +#elif defined(EFR32MG1P732F256GM32) +#include "efr32mg1p732f256gm32.h" + +#elif defined(EFR32MG1P732F256IM32) +#include "efr32mg1p732f256im32.h" + #else #error "em_device.h: PART NUMBER undefined" #endif @@ -62,3 +113,4 @@ extern "C" { #ifdef __cplusplus } #endif + diff --git a/cpu/efr32mg1p/include/vendor/system_efr32mg1p.h b/cpu/efm32/families/efr32mg1p/include/vendor/system_efr32mg1p.h similarity index 100% rename from cpu/efr32mg1p/include/vendor/system_efr32mg1p.h rename to cpu/efm32/families/efr32mg1p/include/vendor/system_efr32mg1p.h diff --git a/cpu/efr32mg1p/system_efr32mg1p.c b/cpu/efm32/families/efr32mg1p/system.c similarity index 100% rename from cpu/efr32mg1p/system_efr32mg1p.c rename to cpu/efm32/families/efr32mg1p/system.c diff --git a/cpu/efr32mg1p/vectors.c b/cpu/efm32/families/efr32mg1p/vectors.c similarity index 77% rename from cpu/efr32mg1p/vectors.c rename to cpu/efm32/families/efr32mg1p/vectors.c index 79643a95b5..4389a2fcb7 100644 --- a/cpu/efr32mg1p/vectors.c +++ b/cpu/efm32/families/efr32mg1p/vectors.c @@ -19,7 +19,6 @@ * @} */ -#include <stdint.h> #include "vectors_cortexm.h" /* define a local dummy handler as it needs to be in the same compilation unit @@ -31,7 +30,13 @@ void dummy_handler(void) /* Silicon Labs specific interrupt vector */ WEAK_DEFAULT void isr_emu(void); +WEAK_DEFAULT void isr_frc_pri(void); WEAK_DEFAULT void isr_wdog0(void); +WEAK_DEFAULT void isr_frc(void); +WEAK_DEFAULT void isr_modem(void); +WEAK_DEFAULT void isr_rac_seq(void); +WEAK_DEFAULT void isr_rac_rsm(void); +WEAK_DEFAULT void isr_bufc(void); WEAK_DEFAULT void isr_ldma(void); WEAK_DEFAULT void isr_gpio_even(void); WEAK_DEFAULT void isr_timer0(void); @@ -51,14 +56,24 @@ WEAK_DEFAULT void isr_cmu(void); WEAK_DEFAULT void isr_msc(void); WEAK_DEFAULT void isr_crypto(void); WEAK_DEFAULT void isr_letimer0(void); +WEAK_DEFAULT void isr_agc(void); +WEAK_DEFAULT void isr_protimer(void); WEAK_DEFAULT void isr_rtcc(void); +WEAK_DEFAULT void isr_synth(void); WEAK_DEFAULT void isr_cryotimer(void); +WEAK_DEFAULT void isr_rfsense(void); WEAK_DEFAULT void isr_fpueh(void); /* interrupt vector table */ ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { [ 0] = isr_emu, /* EMU */ + [ 1] = isr_frc_pri, /* FRC_PRI */ [ 2] = isr_wdog0, /* WDOG0 */ + [ 3] = isr_frc, /* FRC */ + [ 4] = isr_modem, /* MODEM */ + [ 5] = isr_rac_seq, /* RAC_SEQ */ + [ 6] = isr_rac_rsm, /* RAC_RSM */ + [ 7] = isr_bufc, /* BUFC */ [ 8] = isr_ldma, /* LDMA */ [ 9] = isr_gpio_even, /* GPIO_EVEN */ [10] = isr_timer0, /* TIMER0 */ @@ -78,7 +93,11 @@ ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { [24] = isr_msc, /* MSC */ [25] = isr_crypto, /* CRYPTO */ [26] = isr_letimer0, /* LETIMER0 */ + [27] = isr_agc, /* AGC */ + [28] = isr_protimer, /* PROTIMER */ [29] = isr_rtcc, /* RTCC */ + [30] = isr_synth, /* SYNTH */ [31] = isr_cryotimer, /* CRYOTIMER */ + [32] = isr_rfsense, /* RFSENSE */ [33] = isr_fpueh, /* FPUEH */ }; diff --git a/cpu/efr32mg1p/include/cpu_conf.h b/cpu/efm32/include/cpu_conf.h similarity index 76% rename from cpu/efr32mg1p/include/cpu_conf.h rename to cpu/efm32/include/cpu_conf.h index c289916169..1c8d4748e9 100644 --- a/cpu/efr32mg1p/include/cpu_conf.h +++ b/cpu/efm32/include/cpu_conf.h @@ -7,9 +7,9 @@ */ /** - * @defgroup cpu_efr32mg1p Silicon Labs EFR32MG1P + * @defgroup cpu_efm32 Silicon Labs EFM32/EFR32/EZR32 * @ingroup cpu - * @brief Support for the Silicon Labs EFR32MG1P CPU + * @brief Support for Silicon Labs EFM32/EFR32/EZR32 CPUs * @{ * * @file @@ -31,12 +31,12 @@ extern "C" { #endif /** - * @brief ARM Cortex-M4 specific CPU configuration + * @brief ARM Cortex-M specific CPU configuration * @{ */ #define CPU_DEFAULT_IRQ_PRIO (1U) -#define CPU_IRQ_NUMOF (FPUEH_IRQn + 1) -#define CPU_FLASH_BASE FLASH_BASE +#define CPU_IRQ_NUMOF (EXT_IRQ_COUNT + 1) +#define CPU_FLASH_BASE (FLASH_BASE) /** @} */ /** diff --git a/cpu/efm32_common/include/periph_cpu.h b/cpu/efm32/include/periph_cpu.h similarity index 99% rename from cpu/efm32_common/include/periph_cpu.h rename to cpu/efm32/include/periph_cpu.h index dbfed9e58d..18c9d25b48 100644 --- a/cpu/efm32_common/include/periph_cpu.h +++ b/cpu/efm32/include/periph_cpu.h @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @{ * * @file diff --git a/cpu/efr32mg1p/periph/Makefile b/cpu/efm32/periph/Makefile similarity index 100% rename from cpu/efr32mg1p/periph/Makefile rename to cpu/efm32/periph/Makefile diff --git a/cpu/efm32_common/periph/adc.c b/cpu/efm32/periph/adc.c similarity index 98% rename from cpu/efm32_common/periph/adc.c rename to cpu/efm32/periph/adc.c index b8cf8280f5..f98ffac661 100644 --- a/cpu/efm32_common/periph/adc.c +++ b/cpu/efm32/periph/adc.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_adc * @{ * diff --git a/cpu/efm32_common/periph/cpuid.c b/cpu/efm32/periph/cpuid.c similarity index 94% rename from cpu/efm32_common/periph/cpuid.c rename to cpu/efm32/periph/cpuid.c index 8a9c81fcfb..05861a7410 100644 --- a/cpu/efm32_common/periph/cpuid.c +++ b/cpu/efm32/periph/cpuid.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_cpuid * @{ * diff --git a/cpu/efm32_common/periph/dac.c b/cpu/efm32/periph/dac.c similarity index 98% rename from cpu/efm32_common/periph/dac.c rename to cpu/efm32/periph/dac.c index ba7da549fe..cd7c7b7301 100644 --- a/cpu/efm32_common/periph/dac.c +++ b/cpu/efm32/periph/dac.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_dac * @{ * diff --git a/cpu/efm32_common/periph/flashpage.c b/cpu/efm32/periph/flashpage.c similarity index 96% rename from cpu/efm32_common/periph/flashpage.c rename to cpu/efm32/periph/flashpage.c index 58ced472b9..3209537f67 100644 --- a/cpu/efm32_common/periph/flashpage.c +++ b/cpu/efm32/periph/flashpage.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_flashpage * @{ * diff --git a/cpu/efm32_common/periph/gpio.c b/cpu/efm32/periph/gpio.c similarity index 99% rename from cpu/efm32_common/periph/gpio.c rename to cpu/efm32/periph/gpio.c index db8eb86fec..0746bbb522 100644 --- a/cpu/efm32_common/periph/gpio.c +++ b/cpu/efm32/periph/gpio.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_gpio * @{ * diff --git a/cpu/efm32_common/periph/hwrng.c b/cpu/efm32/periph/hwrng.c similarity index 97% rename from cpu/efm32_common/periph/hwrng.c rename to cpu/efm32/periph/hwrng.c index 1d34109642..aeb450d2bd 100644 --- a/cpu/efm32_common/periph/hwrng.c +++ b/cpu/efm32/periph/hwrng.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_hwrng * @{ * diff --git a/cpu/efm32_common/periph/i2c.c b/cpu/efm32/periph/i2c.c similarity index 99% rename from cpu/efm32_common/periph/i2c.c rename to cpu/efm32/periph/i2c.c index d3a085b662..b1a5970fd6 100644 --- a/cpu/efm32_common/periph/i2c.c +++ b/cpu/efm32/periph/i2c.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_i2c * @{ * diff --git a/cpu/efm32_common/periph/pm.c b/cpu/efm32/periph/pm.c similarity index 96% rename from cpu/efm32_common/periph/pm.c rename to cpu/efm32/periph/pm.c index 2cdac1f9a8..f88c3ffd97 100644 --- a/cpu/efm32_common/periph/pm.c +++ b/cpu/efm32/periph/pm.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_pm * @{ * diff --git a/cpu/efm32_common/periph/pwm.c b/cpu/efm32/periph/pwm.c similarity index 98% rename from cpu/efm32_common/periph/pwm.c rename to cpu/efm32/periph/pwm.c index 8b5ad350f3..80679e755e 100644 --- a/cpu/efm32_common/periph/pwm.c +++ b/cpu/efm32/periph/pwm.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_pwm * @{ * diff --git a/cpu/efm32_common/periph/rtc_series0.c b/cpu/efm32/periph/rtc_series0.c similarity index 99% rename from cpu/efm32_common/periph/rtc_series0.c rename to cpu/efm32/periph/rtc_series0.c index 5edf2dd147..ef75a7e675 100644 --- a/cpu/efm32_common/periph/rtc_series0.c +++ b/cpu/efm32/periph/rtc_series0.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_rtc * @{ * diff --git a/cpu/efm32_common/periph/rtc_series1.c b/cpu/efm32/periph/rtc_series1.c similarity index 99% rename from cpu/efm32_common/periph/rtc_series1.c rename to cpu/efm32/periph/rtc_series1.c index 7bb817d1ab..d4938283ac 100644 --- a/cpu/efm32_common/periph/rtc_series1.c +++ b/cpu/efm32/periph/rtc_series1.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_rtc * @{ * diff --git a/cpu/efm32_common/periph/rtt_series0.c b/cpu/efm32/periph/rtt_series0.c similarity index 98% rename from cpu/efm32_common/periph/rtt_series0.c rename to cpu/efm32/periph/rtt_series0.c index c75951e315..86b8846169 100644 --- a/cpu/efm32_common/periph/rtt_series0.c +++ b/cpu/efm32/periph/rtt_series0.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_rtt * @{ * diff --git a/cpu/efm32_common/periph/rtt_series1.c b/cpu/efm32/periph/rtt_series1.c similarity index 99% rename from cpu/efm32_common/periph/rtt_series1.c rename to cpu/efm32/periph/rtt_series1.c index f8fce5eddc..c67e60b2cf 100644 --- a/cpu/efm32_common/periph/rtt_series1.c +++ b/cpu/efm32/periph/rtt_series1.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_rtt * @{ * diff --git a/cpu/efm32_common/periph/spi.c b/cpu/efm32/periph/spi.c similarity index 98% rename from cpu/efm32_common/periph/spi.c rename to cpu/efm32/periph/spi.c index d593566bd0..f0b75f9a17 100644 --- a/cpu/efm32_common/periph/spi.c +++ b/cpu/efm32/periph/spi.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_spi * @{ * diff --git a/cpu/efm32_common/periph/timer.c b/cpu/efm32/periph/timer.c similarity index 99% rename from cpu/efm32_common/periph/timer.c rename to cpu/efm32/periph/timer.c index 2891ce5567..2305eb5c3e 100644 --- a/cpu/efm32_common/periph/timer.c +++ b/cpu/efm32/periph/timer.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_timer * @{ * diff --git a/cpu/efm32_common/periph/uart.c b/cpu/efm32/periph/uart.c similarity index 99% rename from cpu/efm32_common/periph/uart.c rename to cpu/efm32/periph/uart.c index f7ae6d6155..adaadf2142 100644 --- a/cpu/efm32_common/periph/uart.c +++ b/cpu/efm32/periph/uart.c @@ -7,7 +7,7 @@ */ /** - * @ingroup cpu_efm32_common + * @ingroup cpu_efm32 * @ingroup drivers_periph_uart * @{ * diff --git a/cpu/efm32_common/Makefile.include b/cpu/efm32_common/Makefile.include deleted file mode 100644 index 5b233183a5..0000000000 --- a/cpu/efm32_common/Makefile.include +++ /dev/null @@ -1,20 +0,0 @@ -# the em_device.h header requires a global define with the cpu model -export CFLAGS += -D$(shell echo $(CPU_MODEL) | tr 'a-z' 'A-Z') - -# include emlib package -USEPKG += emlib - -# include efm32 common -USEMODULE += efm32_common - -# include common periph module -USEMODULE += periph_common - -# include efm32 common periph drivers -USEMODULE += efm32_common_periph - -# include layered power management -USEMODULE += pm_layered - -# export the common include directory -export INCLUDES += -I$(RIOTCPU)/efm32_common/include diff --git a/cpu/efm32_common/doc.txt b/cpu/efm32_common/doc.txt deleted file mode 100644 index ac02dada51..0000000000 --- a/cpu/efm32_common/doc.txt +++ /dev/null @@ -1,5 +0,0 @@ -/** - * @defgroup cpu_efm32_common Silicon Labs Exx32 MCU - * @ingroup cpu - * @brief Common implementations for the Exx32 family of CPUs - */ diff --git a/cpu/efm32_common/periph/Makefile b/cpu/efm32_common/periph/Makefile deleted file mode 100644 index eb60ec07db..0000000000 --- a/cpu/efm32_common/periph/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -MODULE = efm32_common_periph - -include $(RIOTMAKE)/periph.mk diff --git a/cpu/efr32mg1p/Makefile b/cpu/efr32mg1p/Makefile deleted file mode 100644 index 22730f62e1..0000000000 --- a/cpu/efr32mg1p/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# define the module that is build -MODULE = cpu - -# add a list of subdirectories, that should also be build -DIRS = periph $(RIOTCPU)/cortexm_common $(RIOTCPU)/efm32_common - -# (file triggers compiler bug. see #5775) -SRC_NOLTO += vectors.c - -include $(RIOTBASE)/Makefile.base diff --git a/cpu/efr32mg1p/Makefile.dep b/cpu/efr32mg1p/Makefile.dep deleted file mode 100644 index 1515a5eab1..0000000000 --- a/cpu/efr32mg1p/Makefile.dep +++ /dev/null @@ -1 +0,0 @@ -include $(RIOTCPU)/efm32_common/Makefile.dep diff --git a/cpu/efr32mg1p/Makefile.features b/cpu/efr32mg1p/Makefile.features deleted file mode 100644 index 389068b881..0000000000 --- a/cpu/efr32mg1p/Makefile.features +++ /dev/null @@ -1,2 +0,0 @@ - -include $(RIOTCPU)/efm32_common/Makefile.features diff --git a/cpu/efr32mg1p/Makefile.include b/cpu/efr32mg1p/Makefile.include deleted file mode 100644 index d2d38383ca..0000000000 --- a/cpu/efr32mg1p/Makefile.include +++ /dev/null @@ -1,12 +0,0 @@ -export CPU_ARCH = cortex-m4 -export CPU_FAM = efr32mg1p -export CPU_SERIES = 1 - -# include vendor device headers -export INCLUDES += -I$(RIOTCPU)/efr32mg1p/include/vendor - -# include cortexm_common -include $(RIOTMAKE)/arch/cortexm.inc.mk - -# include efm32_common -include $(RIOTCPU)/efm32_common/Makefile.include diff --git a/cpu/efr32mg1p/doc.txt b/cpu/efr32mg1p/doc.txt deleted file mode 100644 index fcae1dfbfb..0000000000 --- a/cpu/efr32mg1p/doc.txt +++ /dev/null @@ -1,10 +0,0 @@ -/** - * @defgroup cpu_efr32mg1p Silicon Labs EFR32MG1P - * @ingroup cpu - * @brief Implementation of Silicon Labs's EFR32MG1P MCU - */ - -/** - * @defgroup cpu_efr32mg1p_definitions Silicon Labs EFR32MG1P definitions - * @ingroup cpu_efr32mg1p - */ diff --git a/cpu/efr32mg1p/ldscripts/efr32mg1p132f256gm32.ld b/cpu/efr32mg1p/ldscripts/efr32mg1p132f256gm32.ld deleted file mode 100644 index 944d3a9618..0000000000 --- a/cpu/efr32mg1p/ldscripts/efr32mg1p132f256gm32.ld +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2015-2017 Freie Universität Berlin - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @addtogroup cpu_efr32mg1p - * @{ - * - * @file - * @brief Memory definitions for the EFR32MG1P132F256GM32 CPU - * - * @author Hauke Petersen <hauke.petersen@fu-berlin.de> - * @author Bas Stottelaar <basstottelaar@gmail.com> - * - * @} - */ - -MEMORY -{ - rom (rx) : ORIGIN = 0x00000000, LENGTH = 262144 - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 31744 -} - -INCLUDE cortexm_base.ld diff --git a/cpu/efr32mg1p/ldscripts/efr32mg1p132f256gm48.ld b/cpu/efr32mg1p/ldscripts/efr32mg1p132f256gm48.ld deleted file mode 100644 index 99b6ee64d8..0000000000 --- a/cpu/efr32mg1p/ldscripts/efr32mg1p132f256gm48.ld +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2015-2017 Freie Universität Berlin - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @addtogroup cpu_efr32mg1p - * @{ - * - * @file - * @brief Memory definitions for the EFR32MG1P132F256GM48 CPU - * - * @author Hauke Petersen <hauke.petersen@fu-berlin.de> - * @author Bas Stottelaar <basstottelaar@gmail.com> - * - * @} - */ - -MEMORY -{ - rom (rx) : ORIGIN = 0x00000000, LENGTH = 262144 - ram (rwx) : ORIGIN = 0x20000000, LENGTH = 31744 -} - -INCLUDE cortexm_base.ld -- GitLab