soc: silabs_exx32: Port to HWMv2

Ports the SoC configuration to hardware model version 2

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
This commit is contained in:
Jamie McCrae
2024-02-20 10:39:58 +00:00
committed by Carles Cufi
parent 763571e878
commit 1dc9a8aa17
110 changed files with 487 additions and 364 deletions

View File

@@ -180,7 +180,7 @@ config HWINFO_PSOC6
config HWINFO_GECKO
bool "GECKO hwinfo"
default y
depends on SOC_FAMILY_EXX32 && !SOC_SERIES_EFR32MG21 && !SOC_SERIES_EFR32BG22
depends on SOC_FAMILY_SILABS_EXX32 && !SOC_SERIES_EFR32MG21 && !SOC_SERIES_EFR32BG22
select SOC_GECKO_RMU
help
Enable Silabs GECKO hwinfo driver.

View File

@@ -6,4 +6,4 @@
config HAS_SILABS_GECKO
bool
select HAS_CMSIS_CORE
depends on SOC_FAMILY_EXX32
depends on SOC_FAMILY_SILABS_EXX32

View File

@@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
add_subdirectory(common)
zephyr_include_directories(${SOC_SERIES})

View File

@@ -2,25 +2,13 @@
# Copyright (c) 2018 Gil Benkoe
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_EXX32
bool
config SOC_FAMILY_SILABS_EXX32
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
select BUILD_OUTPUT_HEX
if SOC_FAMILY_EXX32
if SOC_FAMILY_SILABS_EXX32
config SOC_FAMILY
string
default "silabs_exx32"
source "soc/soc_legacy/arm/silabs_exx32/*/Kconfig.soc"
config SOC_PART_NUMBER
string
help
This string holds the full part number of the SoC. It is a hidden option
that you should not set directly. The part number selection choice defines
the default value for this string.
rsource "*/Kconfig"
config SOC_GECKO_SERIES0
bool
@@ -349,4 +337,4 @@ config SOC_GECKO_CUSTOM_RADIO_PHY
management, sending and receiving packets on radio phy. User has
to provide the radio_config.c and radio_config.h files for the phy.
endif # SOC_FAMILY_EXX32
endif # SOC_FAMILY_SILABS_EXX32

View File

@@ -1,8 +1,8 @@
# SPDX-License-Identifier: Apache-2.0
if SOC_FAMILY_EXX32
if SOC_FAMILY_SILABS_EXX32
source "soc/soc_legacy/arm/silabs_exx32/*/Kconfig.defconfig.series"
rsource "*/Kconfig.defconfig"
config SOC_GECKO_EMU
default y

View File

@@ -0,0 +1,10 @@
# Copyright (c) 2017 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_SILABS_EXX32
bool
config SOC_FAMILY
default "silabs_exx32" if SOC_FAMILY_SILABS_EXX32
rsource "*/Kconfig.soc"

View File

@@ -1,17 +1,15 @@
# EFM32GG11B MCU line
# EFM32GG11B (Giant Gecko) MCU line
# Copyright (c) 2019 Interay Solutions B.V.
# Copyright (c) 2019 Oane Kingma
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32GG11B
bool "EFM32GG11B Series MCU"
select ARM
select HAS_SILABS_GECKO
select HAS_SWO
select CPU_CORTEX_M4
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION
select SOC_GECKO_HAS_HFRCO_FREQRANGE
select SOC_GECKO_CMU
@@ -19,5 +17,3 @@ config SOC_SERIES_EFM32GG11B
select SOC_GECKO_GPIO
select SOC_GECKO_TRNG
select SOC_GECKO_SERIES1
help
Enable support for EFM32 GiantGecko MCU series

View File

@@ -0,0 +1,15 @@
# EFM32GG11B series configuration options
# Copyright (c) 2019 Interay Solutions B.V.
# Copyright (c) 2019 Oane Kingma
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_EFM32GG11B
config NUM_IRQS
int
# must be >= the highest interrupt number used
default 68
rsource "Kconfig.defconfig.efm32gg11b"
endif # SOC_SERIES_EFM32GG11B

View File

@@ -0,0 +1,29 @@
# EFM32GG11B (Giant Gecko) MCU line
# Copyright (c) 2019 Interay Solutions B.V.
# Copyright (c) 2019 Oane Kingma
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32GG11B
bool
select SOC_FAMILY_SILABS_EXX32
help
EFM32GG11B Series MCU
config SOC_PART_NUMBER_EFM32GG11B820F2048GL192
bool
select SOC_SERIES_EFM32GG11B
config SOC_PART_NUMBER_EFM32GG11B820F2048GM64
bool
select SOC_SERIES_EFM32GG11B
config SOC_SERIES
default "efm32gg11b" if SOC_SERIES_EFM32GG11B
config SOC
default "efm32gg11b820f2048gl192" if SOC_PART_NUMBER_EFM32GG11B820F2048GL192
default "efm32gg11b820f2048gm64" if SOC_PART_NUMBER_EFM32GG11B820F2048GM64
config SOC_PART_NUMBER
default "EFM32GG11B820F2048GL192" if SOC_PART_NUMBER_EFM32GG11B820F2048GL192
default "EFM32GG11B820F2048GM64" if SOC_PART_NUMBER_EFM32GG11B820F2048GM64

View File

@@ -3,14 +3,12 @@
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32GG12B
bool "EFM32GG12B Series MCU"
select ARM
select HAS_SILABS_GECKO
select HAS_SWO
select CPU_CORTEX_M4
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION
select SOC_GECKO_HAS_HFRCO_FREQRANGE
select SOC_GECKO_CMU
@@ -18,5 +16,3 @@ config SOC_SERIES_EFM32GG12B
select SOC_GECKO_GPIO
select SOC_GECKO_TRNG
select SOC_GECKO_SERIES1
help
Enable support for EFM32 GiantGecko MCU series

View File

@@ -4,17 +4,11 @@
if SOC_SERIES_EFM32GG12B
config SOC_SERIES
default "efm32gg12b"
config SOC_PART_NUMBER
default "EFM32GG12B810F1024GM64" if SOC_PART_NUMBER_EFM32GG12B810F1024GM64
config NUM_IRQS
int
# must be >= the highest interrupt number used
default 68
source "soc/soc_legacy/arm/silabs_exx32/efm32gg12b/Kconfig.defconfig.efm32gg12b"
rsource "Kconfig.defconfig.efm32gg12b"
endif # SOC_SERIES_EFM32GG12B

View File

@@ -0,0 +1,22 @@
# EFM32GG12B (Giant Gecko) MCU line
# Copyright (c) 2023 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32GG12B
bool
select SOC_FAMILY_SILABS_EXX32
help
EFM32GG12B Series MCU
config SOC_PART_NUMBER_EFM32GG12B810F1024GM64
bool
select SOC_SERIES_EFM32GG12B
config SOC_SERIES
default "efm32gg12b" if SOC_SERIES_EFM32GG12B
config SOC
default "efm32gg12b810f1024gm64" if SOC_PART_NUMBER_EFM32GG12B810F1024GM64
config SOC_PART_NUMBER
default "EFM32GG12B810F1024GM64" if SOC_PART_NUMBER_EFM32GG12B810F1024GM64

View File

@@ -1,13 +1,11 @@
# EFM32HG MCU line
# EFM32HG (Happy Gecko) MCU line
# Copyright (c) 2018 Marcio Montenegro
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32HG
bool "EFM32HG Series MCU"
select ARM
select CPU_CORTEX_M0PLUS
select SOC_FAMILY_EXX32
select CPU_CORTEX_M_HAS_SYSTICK
select CPU_CORTEX_M_HAS_VTOR
select HAS_SILABS_GECKO
@@ -15,5 +13,3 @@ config SOC_SERIES_EFM32HG
select SOC_GECKO_GPIO
select HAS_PM
select SOC_GECKO_SERIES0
help
Enable support for EFM32 Happy Gecko MCU series

View File

@@ -6,12 +6,6 @@
if SOC_SERIES_EFM32HG
config SOC_SERIES
default "efm32hg"
config SOC_PART_NUMBER
default "EFM32HG322F64" if SOC_PART_NUMBER_EFM32HG322F64
config NUM_IRQS
# must be >= the highest interrupt number used
default 20

View File

@@ -0,0 +1,23 @@
# EFM32HG (Happy Gecko) MCU line
# Copyright (c) 2018 Marcio Montenegro
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32HG
bool
select SOC_FAMILY_SILABS_EXX32
help
EFM32HG Series MCU
config SOC_PART_NUMBER_EFM32HG322F64
bool
select SOC_SERIES_EFM32HG
config SOC_SERIES
default "efm32hg" if SOC_SERIES_EFM32HG
config SOC
default "efm32hg322f64" if SOC_PART_NUMBER_EFM32HG322F64
config SOC_PART_NUMBER
default "EFM32HG322F64" if SOC_PART_NUMBER_EFM32HG322F64

View File

@@ -1,16 +1,14 @@
# EFM32JG12B MCU line
# EFM32JG12B (Jade Gecko) MCU line
# Copyright (c) 2019 Lemonbeat GmbH
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32JG12B
bool "EFM32JG12B Series MCU"
select ARM
select HAS_SILABS_GECKO
select HAS_SWO
select CPU_CORTEX_M3
select CPU_HAS_ARM_MPU
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION
select SOC_GECKO_HAS_HFRCO_FREQRANGE
select SOC_GECKO_SERIES1
@@ -19,5 +17,3 @@ config SOC_SERIES_EFM32JG12B
select SOC_GECKO_GPIO
select SOC_GECKO_TRNG
select HAS_PM
help
Enable support for EFM32 JadeGecko MCU series

View File

@@ -5,12 +5,6 @@
if SOC_SERIES_EFM32JG12B
config SOC_SERIES
default "efm32jg12b"
config SOC_PART_NUMBER
default "EFM32JG12B500F1024GL125" if SOC_PART_NUMBER_EFM32JG12B500F1024GL125
config NUM_IRQS
# must be >= the highest interrupt number used
default 50

View File

@@ -0,0 +1,23 @@
# EFM32JG12B (Jade Gecko) MCU line
# Copyright (c) 2019 Lemonbeat GmbH
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32JG12B
bool
select SOC_FAMILY_SILABS_EXX32
help
EFM32JG12B Series MCU
config SOC_PART_NUMBER_EFM32JG12B500F1024GL125
bool
select SOC_SERIES_EFM32JG12B
config SOC_SERIES
default "efm32jg12b" if SOC_SERIES_EFM32JG12B
config SOC
default "efm32jg12b500f1024gl125" if SOC_PART_NUMBER_EFM32JG12B500F1024GL125
config SOC_PART_NUMBER
default "EFM32JG12B500F1024GL125" if SOC_PART_NUMBER_EFM32JG12B500F1024GL125

View File

@@ -1,10 +1,9 @@
# EFM32PG12B MCU line
# EFM32PG12B (Pearl Gecko) MCU line
# Copyright (c) 2018 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32PG12B
bool "EFM32PG12B Series MCU"
select ARM
select HAS_SILABS_GECKO
select HAS_SWO
@@ -12,7 +11,6 @@ config SOC_SERIES_EFM32PG12B
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_EXX32
select SOC_GECKO_SERIES1
select SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION
select SOC_GECKO_HAS_HFRCO_FREQRANGE
@@ -22,5 +20,3 @@ config SOC_SERIES_EFM32PG12B
select SOC_GECKO_TRNG
select SOC_GECKO_ADC
select HAS_PM
help
Enable support for EFM32 PearlGecko MCU series

View File

@@ -5,12 +5,6 @@
if SOC_SERIES_EFM32PG12B
config SOC_SERIES
default "efm32pg12b"
config SOC_PART_NUMBER
default "EFM32PG12B500F1024GL125" if SOC_PART_NUMBER_EFM32PG12B500F1024GL125
config NUM_IRQS
# must be >= the highest interrupt number used
default 50

View File

@@ -0,0 +1,23 @@
# EFM32PG12B (Pearl Gecko) MCU line
# Copyright (c) 2018 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32PG12B
bool
select SOC_FAMILY_SILABS_EXX32
help
EFM32PG12B Series MCU
config SOC_PART_NUMBER_EFM32PG12B500F1024GL125
bool
select SOC_SERIES_EFM32PG12B
config SOC_SERIES
default "efm32pg12b" if SOC_SERIES_EFM32PG12B
config SOC
default "efm32pg12b500f1024gl125" if SOC_PART_NUMBER_EFM32PG12B500F1024GL125
config SOC_PART_NUMBER
default "EFM32PG12B500F1024GL125" if SOC_PART_NUMBER_EFM32PG12B500F1024GL125

View File

@@ -1,10 +1,9 @@
# EFM32PG1B MCU line
# EFM32PG1B (Pearl Gecko) MCU line
# Copyright (c) 2020 Rafael Dias Menezes
# Copyright (c) 2018 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32PG1B
bool "EFM32PG1B Series MCU"
select ARM
select HAS_SILABS_GECKO
select HAS_SWO
@@ -12,7 +11,6 @@ config SOC_SERIES_EFM32PG1B
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION
select SOC_GECKO_HAS_HFRCO_FREQRANGE
select SOC_GECKO_CMU
@@ -20,5 +18,3 @@ config SOC_SERIES_EFM32PG1B
select SOC_GECKO_GPIO
select HAS_PM
select SOC_GECKO_SERIES1
help
Enable support for EFM32 PearlGecko MCU series

View File

@@ -5,12 +5,6 @@
if SOC_SERIES_EFM32PG1B
config SOC_SERIES
default "efm32pg1b"
config SOC_PART_NUMBER
default "EFM32PG1B200F256GM48" if SOC_PART_NUMBER_EFM32PG1B200F256GM48
config NUM_IRQS
# must be >= the highest interrupt number used
default 34

View File

@@ -0,0 +1,23 @@
# EFM32PG1B (Pearl Gecko) MCU line
# Copyright (c) 2018 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32PG1B
bool
select SOC_FAMILY_SILABS_EXX32
help
EFM32PG1B Series MCU
config SOC_PART_NUMBER_EFM32PG1B200F256GM48
bool
select SOC_SERIES_EFM32PG1B
config SOC_SERIES
default "efm32pg1b" if SOC_SERIES_EFM32PG1B
config SOC
default "efm32pg1b200f256gm48" if SOC_PART_NUMBER_EFM32PG1B200F256GM48
config SOC_PART_NUMBER
default "EFM32PG1B200F256GM48" if SOC_PART_NUMBER_EFM32PG1B200F256GM48

View File

@@ -1,20 +1,16 @@
# EFM32WG MCU line
# EFM32WG (Wonder Gecko) MCU line
# Copyright (c) 2017 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32WG
bool "EFM32WG Series MCU"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_EXX32
select HAS_SILABS_GECKO
select SOC_GECKO_CMU
select SOC_GECKO_GPIO
select HAS_PM
select SOC_GECKO_SERIES0
help
Enable support for EFM32 WonderGecko MCU series

View File

@@ -5,12 +5,6 @@
if SOC_SERIES_EFM32WG
config SOC_SERIES
default "efm32wg"
config SOC_PART_NUMBER
default "EFM32WG990F256" if SOC_PART_NUMBER_EFM32WG990F256
config NUM_IRQS
# must be >= the highest interrupt number used
default 39

View File

@@ -0,0 +1,23 @@
# EFM32WG (Wonder Gecko) MCU line
# Copyright (c) 2017 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFM32WG
bool
select SOC_FAMILY_SILABS_EXX32
help
EFM32WG Series MCU
config SOC_PART_NUMBER_EFM32WG990F256
bool
select SOC_SERIES_EFM32WG
config SOC_SERIES
default "efm32wg" if SOC_SERIES_EFM32WG
config SOC
default "efm32wg990f256" if SOC_PART_NUMBER_EFM32WG990F256
config SOC_PART_NUMBER
default "EFM32WG990F256" if SOC_PART_NUMBER_EFM32WG990F256

View File

@@ -1,16 +1,14 @@
# Silicon Labs EFR32BG13P (Blue Gecko) MCU
# Silicon Labs EFR32BG13P (Blue Gecko) MCU series
# Copyright (c) 2020 Piotr Mienkowski
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32BG13P
bool "EFR32BG13P Series MCU"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_RADIO
select HAS_SILABS_GECKO
select HAS_SWO
@@ -20,5 +18,3 @@ config SOC_SERIES_EFR32BG13P
select SOC_GECKO_GPIO
select HAS_PM
select SOC_GECKO_SERIES1
help
Enable support for EFR32BG13P Blue Gecko MCU series

View File

@@ -5,12 +5,6 @@
if SOC_SERIES_EFR32BG13P
config SOC_SERIES
default "efr32bg13p"
config SOC_PART_NUMBER
default "EFR32BG13P632F512GM48" if SOC_PART_NUMBER_EFR32BG13P632F512GM48
config NUM_IRQS
# must be >= the highest interrupt number used
default 47

View File

@@ -0,0 +1,23 @@
# Silicon Labs EFR32BG13P (Blue Gecko) MCU series
# Copyright (c) 2020 Piotr Mienkowski
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32BG13P
bool
select SOC_FAMILY_SILABS_EXX32
help
EFR32BG13P Series MCU
config SOC_PART_NUMBER_EFR32BG13P632F512GM48
bool
select SOC_SERIES_EFR32BG13P
config SOC_SERIES
default "efr32bg13p" if SOC_SERIES_EFR32BG13P
config SOC
default "efr32bg13p632f512gm48" if SOC_PART_NUMBER_EFR32BG13P632F512GM48
config SOC_PART_NUMBER
default "EFR32BG13P632F512GM48" if SOC_PART_NUMBER_EFR32BG13P632F512GM48

View File

@@ -1,10 +1,9 @@
# Silicon Labs EFR32BG22 (Blue Gecko) MCU
# Silicon Labs EFR32BG22 (Blue Gecko) MCU series
# Copyright (c) 2021 Sateesh Kotapati
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32BG22
bool "EFR32BG22P Series MCU"
select ARM
select ARMV8_M_DSP
select ARM_TRUSTZONE_M
@@ -14,7 +13,6 @@ config SOC_SERIES_EFR32BG22
select CPU_HAS_FPU
select HAS_SILABS_GECKO
select HAS_SWO
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_RADIO
select SOC_GECKO_SERIES2
select SOC_GECKO_GPIO
@@ -23,5 +21,3 @@ config SOC_SERIES_EFR32BG22
select SOC_GECKO_DEV_INIT
select SOC_GECKO_SE
select HAS_PM
help
Enable support for EFR32BG22 Blue Gecko MCU series

View File

@@ -5,12 +5,6 @@
if SOC_SERIES_EFR32BG22
config SOC_SERIES
default "efr32bg22"
config SOC_PART_NUMBER
default "EFR32BG22C224F512IM40" if SOC_PART_NUMBER_EFR32BG22C224F512IM40
config NUM_IRQS
# must be >= the highest interrupt number used
default 60
@@ -19,6 +13,6 @@ config PM
select COUNTER
select UART_INTERRUPT_DRIVEN
source "soc/soc_legacy/arm/silabs_exx32/efr32bg22/Kconfig.defconfig.efr32bg22"
rsource "Kconfig.defconfig.efr32bg22"
endif # SOC_SERIES_EFR32BG22

View File

@@ -0,0 +1,23 @@
# Silicon Labs EFR32BG22 (Blue Gecko) MCU series
# Copyright (c) 2021 Sateesh Kotapati
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32BG22
bool
select SOC_FAMILY_SILABS_EXX32
help
EFR32BG22P Series MCU
config SOC_PART_NUMBER_EFR32BG22C224F512IM40
bool
select SOC_SERIES_EFR32BG22
config SOC_SERIES
default "efr32bg22" if SOC_SERIES_EFR32BG22
config SOC
default "efr32bg22c224f512im40" if SOC_PART_NUMBER_EFR32BG22C224F512IM40
config SOC_PART_NUMBER
default "EFR32BG22C224F512IM40" if SOC_PART_NUMBER_EFR32BG22C224F512IM40

View File

@@ -1,10 +1,9 @@
# Silicon Labs EFR32BG27 (Blue Gecko) MCU
# Silicon Labs EFR32BG27 (Blue Gecko) MCU series
# Copyright (c) Antmicro 2023 <www.antmicro.com>
# Copyright (c) 2023 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32BG27
bool "EFR32BG27 Series MCU"
select ARM
select ARMV8_M_DSP
select ARM_TRUSTZONE_M
@@ -14,7 +13,6 @@ config SOC_SERIES_EFR32BG27
select CPU_HAS_FPU
select HAS_SILABS_GECKO
select HAS_SWO
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_RADIO
select SOC_GECKO_SERIES2
select SOC_GECKO_CMU
@@ -22,5 +20,3 @@ config SOC_SERIES_EFR32BG27
select SOC_GECKO_DEV_INIT
select SOC_GECKO_SE
select HAS_PM
help
Enable support for EFR32BG27 Blue Gecko MCU series

View File

@@ -5,12 +5,6 @@
if SOC_SERIES_EFR32BG27
config SOC_SERIES
default "efr32bg27"
config SOC_PART_NUMBER
default "EFR32BG27C140F768IM40" if SOC_PART_NUMBER_EFR32BG27C140F768IM40
config NUM_IRQS
# must be >= the highest interrupt number used
default 66
@@ -18,6 +12,6 @@ config NUM_IRQS
config PM
select COUNTER
source "soc/soc_legacy/arm/silabs_exx32/efr32bg27/Kconfig.defconfig.efr32bg27"
rsource "Kconfig.defconfig.efr32bg27"
endif # SOC_SERIES_EFR32BG27

View File

@@ -0,0 +1,23 @@
# Silicon Labs EFR32BG27 (Blue Gecko) MCU series
# Copyright (c) 2023 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32BG27
bool
select SOC_FAMILY_SILABS_EXX32
help
EFR32BG27 Series MCU
config SOC_PART_NUMBER_EFR32BG27C140F768IM40
bool
select SOC_SERIES_EFR32BG27
config SOC_SERIES
default "efr32bg27" if SOC_SERIES_EFR32BG27
config SOC
default "efr32bg27c140f768im40" if SOC_PART_NUMBER_EFR32BG27C140F768IM40
config SOC_PART_NUMBER
default "EFR32BG27C140F768IM40" if SOC_PART_NUMBER_EFR32BG27C140F768IM40

View File

@@ -1,10 +1,9 @@
# EFR32FG13P MCU line
# EFR32FG13P (Flex Gecko) MCU line
# Copyright (c) 2018 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32FG13P
bool "EFR32FG13P Series MCU"
select ARM
select HAS_SILABS_GECKO
select HAS_SWO
@@ -12,7 +11,6 @@ config SOC_SERIES_EFR32FG13P
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_RADIO
select SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION
select SOC_GECKO_HAS_HFRCO_FREQRANGE
@@ -21,5 +19,3 @@ config SOC_SERIES_EFR32FG13P
select SOC_GECKO_HAS_ERRATA_RTCC_E201
select HAS_PM
select SOC_GECKO_SERIES1
help
Enable support for EFR32 FlexGecko MCU series

View File

@@ -5,12 +5,6 @@
if SOC_SERIES_EFR32FG13P
config SOC_SERIES
default "efr32fg13p"
config SOC_PART_NUMBER
default "EFR32FG13P233F512GM48" if SOC_PART_NUMBER_EFR32FG13P233F512GM48
config NUM_IRQS
# must be >= the highest interrupt number used
default 45

View File

@@ -0,0 +1,23 @@
# EFR32FG13P (Flex Gecko) MCU line
# Copyright (c) 2018 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32FG13P
bool
select SOC_FAMILY_SILABS_EXX32
help
EFR32FG13P Series MCU
config SOC_PART_NUMBER_EFR32FG13P233F512GM48
bool
select SOC_SERIES_EFR32FG13P
config SOC_SERIES
default "efr32fg13p" if SOC_SERIES_EFR32FG13P
config SOC
default "efr32fg13p233f512gm48" if SOC_PART_NUMBER_EFR32FG13P233F512GM48
config SOC_PART_NUMBER
default "EFR32FG13P233F512GM48" if SOC_PART_NUMBER_EFR32FG13P233F512GM48

View File

@@ -1,10 +1,9 @@
# EFR32FG1P MCU line
# EFR32FG1P (Flex Gecko) MCU line
# Copyright (c) 2018 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32FG1P
bool "EFR32FG1P Series MCU"
select ARM
select HAS_SILABS_GECKO
select HAS_SWO
@@ -12,7 +11,6 @@ config SOC_SERIES_EFR32FG1P
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_RADIO
select SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION
select SOC_GECKO_HAS_HFRCO_FREQRANGE
@@ -21,5 +19,3 @@ config SOC_SERIES_EFR32FG1P
select SOC_GECKO_HAS_ERRATA_RTCC_E201
select HAS_PM
select SOC_GECKO_SERIES1
help
Enable support for EFR32 FlexGecko MCU series

View File

@@ -5,12 +5,6 @@
if SOC_SERIES_EFR32FG1P
config SOC_SERIES
default "efr32fg1p"
config SOC_PART_NUMBER
default "EFR32FG1P133F256GM48" if SOC_PART_NUMBER_EFR32FG1P133F256GM48
config NUM_IRQS
# must be >= the highest interrupt number used
default 33

View File

@@ -0,0 +1,23 @@
# EFR32FG1P (Flex Gecko) MCU line
# Copyright (c) 2018 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32FG1P
bool
select SOC_FAMILY_SILABS_EXX32
help
EFR32FG1P Series MCU
config SOC_PART_NUMBER_EFR32FG1P133F256GM48
bool
select SOC_SERIES_EFR32FG1P
config SOC_SERIES
default "efr32fg1p" if SOC_SERIES_EFR32FG1P
config SOC
default "efr32fg1p133f256gm48" if SOC_PART_NUMBER_EFR32FG1P133F256GM48
config SOC_PART_NUMBER
default "EFR32FG1P133F256GM48" if SOC_PART_NUMBER_EFR32FG1P133F256GM48

View File

@@ -1,16 +1,14 @@
# EFR32MG12P MCU line
# EFR32MG12P (Mighty Gecko) MCU line
# Copyright (c) 2018 Diego Sueiro
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32MG12P
bool "EFR32MG12P Series MCU"
select ARM
select CPU_CORTEX_M4
select CPU_CORTEX_M_HAS_DWT
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_RADIO
select HAS_SILABS_GECKO
select HAS_SWO
@@ -22,5 +20,3 @@ config SOC_SERIES_EFR32MG12P
select SOC_GECKO_TRNG
select HAS_PM
select SOC_GECKO_SERIES1
help
Enable support for EFR32 Mighty Gecko MCU series

View File

@@ -0,0 +1,12 @@
# EFM32WG series configuration options
# Copyright (c) 2018 Diego Sueiro
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_EFR32MG12P
config NUM_IRQS
# must be >= the highest interrupt number used
default 49
endif # SOC_SERIES_EFR32MG12P

View File

@@ -0,0 +1,35 @@
# EFR32MG12P (Mighty Gecko) MCU line
# Copyright (c) 2018 Diego Sueiro
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32MG12P
bool
select SOC_FAMILY_SILABS_EXX32
help
EFR32MG12P Series MCU
config SOC_PART_NUMBER_EFR32MG12P332F1024GL125
bool
select SOC_SERIES_EFR32MG12P
config SOC_PART_NUMBER_EFR32MG12P433F1024GM68
bool
select SOC_SERIES_EFR32MG12P
config SOC_PART_NUMBER_EFR32MG12P432F1024GL125
bool
select SOC_SERIES_EFR32MG12P
config SOC_SERIES
default "efr32mg12p" if SOC_SERIES_EFR32MG12P
config SOC
default "efr32mg12p332f1024gl125" if SOC_PART_NUMBER_EFR32MG12P332F1024GL125
default "efr32mg12p432f1024gl125" if SOC_PART_NUMBER_EFR32MG12P432F1024GL125
default "efr32mg12p433f1024gm68" if SOC_PART_NUMBER_EFR32MG12P433F1024GM68
config SOC_PART_NUMBER
default "EFR32MG12P332F1024GL125" if SOC_PART_NUMBER_EFR32MG12P332F1024GL125
default "EFR32MG12P432F1024GL125" if SOC_PART_NUMBER_EFR32MG12P432F1024GL125
default "EFR32MG12P433F1024GM68" if SOC_PART_NUMBER_EFR32MG12P433F1024GM68

View File

@@ -1,10 +1,9 @@
# Silicon Labs EFR32MG21 (Mighty Gecko) MCU
# Silicon Labs EFR32MG21 (Mighty Gecko) MCU line
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32MG21
bool "EFR32MG21 Series MCU"
select ARM
select CPU_CORTEX_M33
select CPU_CORTEX_M_HAS_DWT
@@ -12,7 +11,6 @@ config SOC_SERIES_EFR32MG21
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select CPU_HAS_ARM_SAU
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_RADIO
select SOC_GECKO_SERIES2
select HAS_SILABS_GECKO
@@ -22,5 +20,3 @@ config SOC_SERIES_EFR32MG21
select SOC_GECKO_GPIO
select SOC_GECKO_SE
select HAS_PM
help
Enable support for EFR32MG21 Mighty Gecko MCU series

View File

@@ -5,17 +5,11 @@
if SOC_SERIES_EFR32MG21
config SOC_SERIES
default "efr32mg21"
config SOC_PART_NUMBER
default "EFR32MG21A020F1024IM32" if SOC_PART_NUMBER_EFR32MG21A020F1024IM32
config NUM_IRQS
int
# must be >= the highest interrupt number used
default 61
source "soc/soc_legacy/arm/silabs_exx32/efr32mg21/Kconfig.defconfig.efr32mg21"
rsource "Kconfig.defconfig.efr32mg21"
endif # SOC_SERIES_EFR32MG21

View File

@@ -0,0 +1,23 @@
# Silicon Labs EFR32MG21 (Mighty Gecko) MCU line
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32MG21
bool
select SOC_FAMILY_SILABS_EXX32
help
EFR32MG21 Series MCU
config SOC_PART_NUMBER_EFR32MG21A020F1024IM32
bool
select SOC_SERIES_EFR32MG21
config SOC_SERIES
default "efr32mg21" if SOC_SERIES_EFR32MG21
config SOC
default "efr32mg21a020f1024im32" if SOC_PART_NUMBER_EFR32MG21A020F1024IM32
config SOC_PART_NUMBER
default "EFR32MG21A020F1024IM32" if SOC_PART_NUMBER_EFR32MG21A020F1024IM32

View File

@@ -1,10 +1,9 @@
# Silicon Labs EFR32MG24 (Mighty Gecko) MCU
# Silicon Labs EFR32MG24 (Mighty Gecko) MCU line
# Copyright (c) 2021 Sateesh Kotapati
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32MG24
bool "EFR32MG24 Series MCU"
select ARM
select CPU_CORTEX_M33
select CPU_HAS_FPU
@@ -13,7 +12,6 @@ config SOC_SERIES_EFR32MG24
select CPU_CORTEX_M_HAS_DWT
select ARMV8_M_DSP
select ARM_TRUSTZONE_M
select SOC_FAMILY_EXX32
select SOC_GECKO_HAS_RADIO
select SOC_GECKO_SERIES2
select HAS_SILABS_GECKO
@@ -24,5 +22,3 @@ config SOC_SERIES_EFR32MG24
select SOC_GECKO_DEV_INIT
select SOC_GECKO_SE
select HAS_PM
help
Enable support for EFR32MG24 Mighty Gecko MCU series

View File

@@ -5,13 +5,6 @@
if SOC_SERIES_EFR32MG24
config SOC_SERIES
default "efr32mg24"
config SOC_PART_NUMBER
default "EFR32MG24B220F1536IM48" if SOC_PART_NUMBER_EFR32MG24B220F1536IM48
default "EFR32MG24B310F1536IM48" if SOC_PART_NUMBER_EFR32MG24B310F1536IM48
config NUM_IRQS
# must be >= the highest interrupt number used
default 75

View File

@@ -0,0 +1,29 @@
# Silicon Labs EFR32MG24 (Mighty Gecko) MCU line
# Copyright (c) 2020 TriaGnoSys GmbH
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32MG24
bool
select SOC_FAMILY_SILABS_EXX32
help
EFR32MG24 Series MCU
config SOC_PART_NUMBER_EFR32MG24B220F1536IM48
bool
select SOC_SERIES_EFR32MG24
config SOC_PART_NUMBER_EFR32MG24B310F1536IM48
bool
select SOC_SERIES_EFR32MG24
config SOC_SERIES
default "efr32mg24" if SOC_SERIES_EFR32MG24
config SOC
default "efr32mg24b220f1536im48" if SOC_PART_NUMBER_EFR32MG24B220F1536IM48
default "efr32mg24b310f1536im48" if SOC_PART_NUMBER_EFR32MG24B310F1536IM48
config SOC_PART_NUMBER
default "EFR32MG24B220F1536IM48" if SOC_PART_NUMBER_EFR32MG24B220F1536IM48
default "EFR32MG24B310F1536IM48" if SOC_PART_NUMBER_EFR32MG24B310F1536IM48

52
soc/silabs/exx32/soc.yml Normal file
View File

@@ -0,0 +1,52 @@
family:
- name: silabs_exx32
series:
- name: efm32gg12b
socs:
- name: efm32gg12b810f1024gm64
- name: efm32pg12b
socs:
- name: efm32pg12b500f1024gl125
- name: efr32bg13p
socs:
- name: efr32bg13p632f512gm48
- name: efr32fg13p
socs:
- name: efr32fg13p233f512gm48
- name: efr32mg21
socs:
- name: efr32mg21a020f1024im32
- name: efm32hg
socs:
- name: efm32hg322f64
- name: efm32pg1b
socs:
- name: efm32pg1b200f256gm48
- name: efr32bg22
socs:
- name: efr32bg22c224f512im40
- name: efr32fg1p
socs:
- name: efr32fg1p133f256gm48
- name: efr32mg24
socs:
- name: efr32mg24b220f1536im48
- name: efr32mg24b310f1536im48
- name: efm32gg11b
socs:
- name: efm32gg11b820f2048gl192
- name: efm32gg11b820f2048gm64
- name: efm32jg12b
socs:
- name: efm32jg12b500f1024gl125
- name: efm32wg
socs:
- name: efm32wg990f256
- name: efr32bg27
socs:
- name: efr32bg27c140f768im40
- name: efr32mg12p
socs:
- name: efr32mg12p332f1024gl125
- name: efr32mg12p432f1024gl125
- name: efr32mg12p433f1024gm68

View File

@@ -1,4 +0,0 @@
# Copyright (c) 2017 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
source "soc/soc_legacy/arm/silabs_exx32/*/Kconfig.series"

View File

@@ -1,22 +0,0 @@
# EFM32GG11B series configuration options
# Copyright (c) 2019 Interay Solutions B.V.
# Copyright (c) 2019 Oane Kingma
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_EFM32GG11B
config SOC_SERIES
default "efm32gg11b"
config SOC_PART_NUMBER
default "EFM32GG11B820F2048GL192" if SOC_PART_NUMBER_EFM32GG11B820F2048GL192
default "EFM32GG11B820F2048GM64" if SOC_PART_NUMBER_EFM32GG11B820F2048GM64
config NUM_IRQS
int
# must be >= the highest interrupt number used
default 68
source "soc/soc_legacy/arm/silabs_exx32/efm32gg11b/Kconfig.defconfig.efm32gg11b"
endif # SOC_SERIES_EFM32GG11B

View File

@@ -1,12 +0,0 @@
# EFM32GG11B (Giant Gecko) MCU line
# Copyright (c) 2019 Interay Solutions B.V.
# Copyright (c) 2019 Oane Kingma
# SPDX-License-Identifier: Apache-2.0
config SOC_PART_NUMBER_EFM32GG11B820F2048GL192
bool
depends on SOC_SERIES_EFM32GG11B
config SOC_PART_NUMBER_EFM32GG11B820F2048GM64
bool
depends on SOC_SERIES_EFM32GG11B

View File

@@ -1,7 +0,0 @@
# EFM32GG12B (Giant Gecko) MCU line
# Copyright (c) 2023 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0
config SOC_PART_NUMBER_EFM32GG12B810F1024GM64
bool
depends on SOC_SERIES_EFM32GG12B

View File

@@ -1,8 +0,0 @@
# EFM32HG (Happy Gecko) MCU line
# Copyright (c) 2018 Marcio Montenegro
# SPDX-License-Identifier: Apache-2.0
config SOC_PART_NUMBER_EFM32HG322F64
bool
depends on SOC_SERIES_EFM32HG

View File

@@ -1,8 +0,0 @@
# EFM32JG12B (Jade Gecko) MCU line
# Copyright (c) 2019 Lemonbeat GmbH
# SPDX-License-Identifier: Apache-2.0
config SOC_PART_NUMBER_EFM32JG12B500F1024GL125
bool
depends on SOC_SERIES_EFM32JG12B

View File

@@ -1,8 +0,0 @@
# EFM32PG12B (Pearl Gecko) MCU line
# Copyright (c) 2018 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_PART_NUMBER_EFM32PG12B500F1024GL125
bool
depends on SOC_SERIES_EFM32PG12B

View File

@@ -1,8 +0,0 @@
# EFM32PG1B (Pearl Gecko) MCU line
# Copyright (c) 2018 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_PART_NUMBER_EFM32PG1B200F256GM48
bool
depends on SOC_SERIES_EFM32PG1B

Some files were not shown because too many files have changed in this diff Show More