soc: silabs: Add support for xG29 device family

Add EFR32MG29 and EFR32BG29 device families.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
This commit is contained in:
Aksel Skauge Mellbye 2025-01-16 13:10:44 +01:00 committed by Benjamin Cabé
commit 2d3539b19a
16 changed files with 2884 additions and 2 deletions

View file

@ -129,7 +129,7 @@ config SOC_GECKO_TRNG
config SOC_SILABS_SLEEPTIMER
bool
select SOC_GECKO_PRS
select SOC_GECKO_RTCC if SOC_SERIES_EFR32BG22 || SOC_SERIES_EFR32BG27 || SOC_SERIES_EFR32MG21
select SOC_GECKO_RTCC if SOC_FAMILY_SILABS_S2 && $(dt_nodelabel_enabled,rtcc0)
help
Set if the Sleeptimer HAL module is used.

View file

@ -0,0 +1,43 @@
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32BG29
select ARM
select CPU_CORTEX_M33
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select CPU_HAS_ARM_SAU
select CPU_CORTEX_M_HAS_DWT
select ARMV8_M_DSP
select ARM_TRUSTZONE_M
select SOC_GECKO_HAS_RADIO
select HAS_SILABS_GECKO
select HAS_SWO
select SOC_GECKO_CMU
select SOC_GECKO_EMU
select SOC_GECKO_GPIO
select SOC_GECKO_DEV_INIT
select SOC_GECKO_SE
select HAS_PM
config SOC_SERIES_EFR32MG29
select ARM
select CPU_CORTEX_M33
select CPU_HAS_FPU
select CPU_HAS_ARM_MPU
select CPU_HAS_ARM_SAU
select CPU_CORTEX_M_HAS_DWT
select ARMV8_M_DSP
select ARM_TRUSTZONE_M
select SOC_GECKO_HAS_RADIO
select HAS_SILABS_GECKO
select HAS_SWO
select SOC_GECKO_CMU
select SOC_GECKO_EMU
select SOC_GECKO_GPIO
select SOC_GECKO_DEV_INIT
select SOC_GECKO_SE
select HAS_PM
config SOC_GECKO_SDID
default 240 if SOC_SERIES_EFR32BG29 || SOC_SERIES_EFR32MG29

View file

@ -0,0 +1,19 @@
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0
if SOC_SERIES_EFR32BG29 || SOC_SERIES_EFR32MG29
config NUM_IRQS
# must be >= the highest interrupt number used
default 70
config PM
default n
select UART_INTERRUPT_DRIVEN if SERIAL_SUPPORT_INTERRUPT
choice PM_POLICY
default PM_POLICY_DEFAULT
depends on PM
endchoice
endif

View file

@ -0,0 +1,58 @@
# Copyright (c) 2025 Silicon Laboratories Inc.
# SPDX-License-Identifier: Apache-2.0
config SOC_SERIES_EFR32BG29
bool
select SOC_FAMILY_SILABS_S2
help
Silicon Labs EFR32BG29 (Blue Gecko) Series MCU
config SOC_SERIES_EFR32MG29
bool
select SOC_FAMILY_SILABS_S2
help
Silicon Labs EFR32MG29 (Mighty Gecko) Series MCU
config SOC_PART_NUMBER_EFR32BG29B140F1024IM40
bool
select SOC_SERIES_EFR32BG29
config SOC_PART_NUMBER_EFR32BG29B220F1024CJ45
bool
select SOC_SERIES_EFR32BG29
config SOC_PART_NUMBER_EFR32BG29B221F1024CJ45
bool
select SOC_SERIES_EFR32BG29
config SOC_PART_NUMBER_EFR32BG29B230F1024CM40
bool
select SOC_SERIES_EFR32BG29
config SOC_PART_NUMBER_EFR32MG29B140F1024IM40
bool
select SOC_SERIES_EFR32MG29
config SOC_PART_NUMBER_EFR32MG29B230F1024CM40
bool
select SOC_SERIES_EFR32MG29
config SOC_SERIES
default "efr32bg29" if SOC_SERIES_EFR32BG29
default "efr32mg29" if SOC_SERIES_EFR32MG29
config SOC
default "efr32bg29b140f1024im40" if SOC_PART_NUMBER_EFR32BG29B140F1024IM40
default "efr32bg29b220f1024cj45" if SOC_PART_NUMBER_EFR32BG29B220F1024CJ45
default "efr32bg29b221f1024cj45" if SOC_PART_NUMBER_EFR32BG29B221F1024CJ45
default "efr32bg29b230f1024cm40" if SOC_PART_NUMBER_EFR32BG29B230F1024CM40
default "efr32mg29b140f1024im40" if SOC_PART_NUMBER_EFR32MG29B140F1024IM40
default "efr32mg29b230f1024cm40" if SOC_PART_NUMBER_EFR32MG29B230F1024CM40
config SOC_PART_NUMBER
default "EFR32BG29B140F1024IM40" if SOC_PART_NUMBER_EFR32BG29B140F1024IM40
default "EFR32BG29B220F1024CJ45" if SOC_PART_NUMBER_EFR32BG29B220F1024CJ45
default "EFR32BG29B221F1024CJ45" if SOC_PART_NUMBER_EFR32BG29B221F1024CJ45
default "EFR32BG29B230F1024CM40" if SOC_PART_NUMBER_EFR32BG29B230F1024CM40
default "EFR32MG29B140F1024IM40" if SOC_PART_NUMBER_EFR32MG29B140F1024IM40
default "EFR32MG29B230F1024CM40" if SOC_PART_NUMBER_EFR32MG29B230F1024CM40

View file

@ -59,6 +59,16 @@ family:
- name: efr32zg23
socs:
- name: efr32zg23b020f512im48
- name: efr32bg29
socs:
- name: efr32bg29b140f1024im40
- name: efr32bg29b220f1024cj45
- name: efr32bg29b221f1024cj45
- name: efr32bg29b230f1024cm40
- name: efr32mg29
socs:
- name: efr32mg29b140f1024im40
- name: efr32mg29b230f1024cm40
- name: silabs_sim3
series:
- name: sim3u