soc: silabs: split in families

EXX32 does not really makes sense. Silabs tends to talk about "series
0", "series 1" and "series 2".

Note all Silabs chipsets (whatever their family) tend to share
components. So this PR introduces SOC_VENDOR_SILABS to match these
common parts.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
This commit is contained in:
Jérôme Pouiller
2024-02-23 11:59:27 +01:00
committed by Carles Cufi
parent 5bd38f47a9
commit 66d425f571
95 changed files with 90 additions and 60 deletions

View File

@@ -180,7 +180,7 @@ config HWINFO_PSOC6
config HWINFO_GECKO
bool "GECKO hwinfo"
default y
depends on SOC_FAMILY_SILABS_EXX32 && !SOC_SERIES_EFR32MG21 && !SOC_SERIES_EFR32BG22
depends on SOC_VENDOR_SILABS && !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_SILABS_EXX32
depends on SOC_VENDOR_SILABS

View File

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

View File

@@ -2,13 +2,13 @@
# Copyright (c) 2018 Gil Benkoe
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_SILABS_EXX32
config SOC_VENDOR_SILABS
select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
select BUILD_OUTPUT_HEX
if SOC_FAMILY_SILABS_EXX32
if SOC_VENDOR_SILABS
rsource "*/Kconfig"
rsource "*/*/Kconfig"
config SOC_GECKO_SERIES0
bool
@@ -337,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_SILABS_EXX32
endif # SOC_VENDOR_SILABS

View File

@@ -1,8 +1,8 @@
# SPDX-License-Identifier: Apache-2.0
if SOC_FAMILY_SILABS_EXX32
if SOC_VENDOR_SILABS
rsource "*/Kconfig.defconfig"
rsource "*/*/Kconfig.defconfig"
config SOC_GECKO_EMU
default y

12
soc/silabs/Kconfig.soc Normal file
View File

@@ -0,0 +1,12 @@
# Copyright (c) 2017 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_VENDOR_SILABS
bool
config SOC_FAMILY
default "silabs_s0" if SOC_FAMILY_SILABS_S0
default "silabs_s1" if SOC_FAMILY_SILABS_S1
default "silabs_s2" if SOC_FAMILY_SILABS_S2
rsource "*/Kconfig.soc"

View File

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

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFM32HG
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S0
help
EFM32HG Series MCU

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFM32WG
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S0
help
EFM32WG Series MCU

View File

@@ -0,0 +1,8 @@
# Copyright (c) 2017 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_SILABS_S1
bool
select SOC_VENDOR_SILABS
rsource "*/Kconfig.soc"

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFM32GG11B
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S1
help
EFM32GG11B Series MCU

View File

@@ -4,7 +4,7 @@
config SOC_SERIES_EFM32GG12B
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S1
help
EFM32GG12B Series MCU

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFM32JG12B
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S1
help
EFM32JG12B Series MCU

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFM32PG12B
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S1
help
EFM32PG12B Series MCU

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFM32PG1B
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S1
help
EFM32PG1B Series MCU

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFR32BG13P
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S1
help
EFR32BG13P Series MCU

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFR32FG13P
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S1
help
EFR32FG13P Series MCU

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFR32FG1P
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S1
help
EFR32FG1P Series MCU

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFR32MG12P
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S1
help
EFR32MG12P Series MCU

View File

@@ -0,0 +1,8 @@
# Copyright (c) 2017 Christian Taedcke
# SPDX-License-Identifier: Apache-2.0
config SOC_FAMILY_SILABS_S2
bool
select SOC_VENDOR_SILABS
rsource "*/Kconfig.soc"

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFR32BG22
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S2
help
EFR32BG22P Series MCU

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFR32BG27
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S2
help
EFR32BG27 Series MCU

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFR32MG21
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S2
help
EFR32MG21 Series MCU

View File

@@ -5,7 +5,7 @@
config SOC_SERIES_EFR32MG24
bool
select SOC_FAMILY_SILABS_EXX32
select SOC_FAMILY_SILABS_S2
help
EFR32MG24 Series MCU

View File

@@ -1,9 +1,20 @@
family:
- name: silabs_exx32
- name: silabs_s0
series:
- name: efm32gg12b
- name: efm32wg
socs:
- name: efm32gg12b810f1024gm64
- name: efm32wg990f256
- name: efm32hg
socs:
- name: efm32hg322f64
- name: silabs_s1
series:
- name: efm32pg1b
socs:
- name: efm32pg1b200f256gm48
- name: efr32fg1p
socs:
- name: efr32fg1p133f256gm48
- name: efm32pg12b
socs:
- name: efm32pg12b500f1024gl125
@@ -13,40 +24,33 @@ family:
- 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
- name: efm32gg11b
socs:
- name: efm32gg11b820f2048gl192
- name: efm32gg11b820f2048gm64
- name: efm32gg12b
socs:
- name: efm32gg12b810f1024gm64
- name: silabs_s2
series:
- name: efr32mg21
socs:
- name: efr32mg21a020f1024im32
- name: efr32bg22
socs:
- name: efr32bg22c224f512im40
- name: efr32mg24
socs:
- name: efr32mg24b220f1536im48
- name: efr32mg24b310f1536im48
- name: efr32bg27
socs:
- name: efr32bg27c140f768im40