diff --git a/include/zephyr/drivers/clock_control/clock_control_silabs.h b/include/zephyr/drivers/clock_control/clock_control_silabs.h index 8c45b376d5b9a..7dfcee8e33206 100644 --- a/include/zephyr/drivers/clock_control/clock_control_silabs.h +++ b/include/zephyr/drivers/clock_control/clock_control_silabs.h @@ -9,17 +9,17 @@ #include -#if defined(CONFIG_SOC_SERIES_EFR32MG21) +#if defined(CONFIG_SOC_SILABS_XG21) #include -#elif defined(CONFIG_SOC_SERIES_EFR32BG22) +#elif defined(CONFIG_SOC_SILABS_XG22) #include -#elif defined(CONFIG_SOC_SERIES_EFR32ZG23) +#elif defined(CONFIG_SOC_SILABS_XG23) #include -#elif defined(CONFIG_SOC_SERIES_XG24) +#elif defined(CONFIG_SOC_SILABS_XG24) #include -#elif defined(CONFIG_SOC_SERIES_EFR32BG27) +#elif defined(CONFIG_SOC_SILABS_XG27) #include -#elif defined(CONFIG_SOC_SERIES_EFR32BG29) || defined(CONFIG_SOC_SERIES_EFR32MG29) +#elif defined(CONFIG_SOC_SILABS_XG29) #include #endif diff --git a/soc/silabs/silabs_s2/Kconfig b/soc/silabs/silabs_s2/Kconfig index ddcf78c9ecafe..afaada703c38c 100644 --- a/soc/silabs/silabs_s2/Kconfig +++ b/soc/silabs/silabs_s2/Kconfig @@ -8,6 +8,7 @@ config SOC_FAMILY_SILABS_S2 select BUILD_OUTPUT_HEX select SOC_PREP_HOOK select SOC_EARLY_INIT_HOOK + select HAS_SILABS_SISDK rsource "*/Kconfig" diff --git a/soc/silabs/silabs_s2/efr32mg21/Kconfig b/soc/silabs/silabs_s2/xg21/Kconfig similarity index 94% rename from soc/silabs/silabs_s2/efr32mg21/Kconfig rename to soc/silabs/silabs_s2/xg21/Kconfig index 437454fac8096..eb393c3c7d1b9 100644 --- a/soc/silabs/silabs_s2/efr32mg21/Kconfig +++ b/soc/silabs/silabs_s2/xg21/Kconfig @@ -1,7 +1,7 @@ # Copyright (c) 2020 TriaGnoSys GmbH # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_EFR32MG21 +config SOC_SILABS_XG21 select ARM select CPU_CORTEX_M33 select CPU_CORTEX_M_HAS_DWT @@ -10,8 +10,6 @@ config SOC_SERIES_EFR32MG21 select CPU_HAS_FPU select CPU_HAS_ARM_MPU select CPU_HAS_ARM_SAU - select SOC_GECKO_HAS_RADIO - select HAS_SILABS_SISDK select HAS_SWO select SOC_GECKO_CMU select SOC_GECKO_EMU @@ -19,3 +17,6 @@ config SOC_SERIES_EFR32MG21 select SOC_GECKO_DEV_INIT select SOC_GECKO_SE select HAS_PM + +config SOC_SERIES_EFR32MG21 + select SOC_GECKO_HAS_RADIO diff --git a/soc/silabs/silabs_s2/efr32mg21/Kconfig.defconfig b/soc/silabs/silabs_s2/xg21/Kconfig.defconfig similarity index 92% rename from soc/silabs/silabs_s2/efr32mg21/Kconfig.defconfig rename to soc/silabs/silabs_s2/xg21/Kconfig.defconfig index 1bfda561e4ae4..06304e1c25bff 100644 --- a/soc/silabs/silabs_s2/efr32mg21/Kconfig.defconfig +++ b/soc/silabs/silabs_s2/xg21/Kconfig.defconfig @@ -1,7 +1,7 @@ # Copyright (c) 2020 TriaGnoSys GmbH # SPDX-License-Identifier: Apache-2.0 -if SOC_SERIES_EFR32MG21 +if SOC_SILABS_XG21 config NUM_IRQS # must be >= the highest interrupt number used diff --git a/soc/silabs/silabs_s2/efr32mg21/Kconfig.soc b/soc/silabs/silabs_s2/xg21/Kconfig.soc similarity index 79% rename from soc/silabs/silabs_s2/efr32mg21/Kconfig.soc rename to soc/silabs/silabs_s2/xg21/Kconfig.soc index 504b53aae2934..9e43f0d7b5396 100644 --- a/soc/silabs/silabs_s2/efr32mg21/Kconfig.soc +++ b/soc/silabs/silabs_s2/xg21/Kconfig.soc @@ -1,9 +1,15 @@ # Copyright (c) 2020 TriaGnoSys GmbH # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_EFR32MG21 +config SOC_SILABS_XG21 bool select SOC_FAMILY_SILABS_S2 + help + Silicon Labs XG21 Generic Family SoC and modules + +config SOC_SERIES_EFR32MG21 + bool + select SOC_SILABS_XG21 help Silicon Labs EFR32MG21 (Mighty Gecko) Series MCU diff --git a/soc/silabs/silabs_s2/efr32mg21/soc_pinmap.h b/soc/silabs/silabs_s2/xg21/soc_pinmap.h similarity index 100% rename from soc/silabs/silabs_s2/efr32mg21/soc_pinmap.h rename to soc/silabs/silabs_s2/xg21/soc_pinmap.h diff --git a/soc/silabs/silabs_s2/efr32bg22/Kconfig b/soc/silabs/silabs_s2/xg22/Kconfig similarity index 94% rename from soc/silabs/silabs_s2/efr32bg22/Kconfig rename to soc/silabs/silabs_s2/xg22/Kconfig index d85c71e62f6cd..ab07fba0be2c4 100644 --- a/soc/silabs/silabs_s2/efr32bg22/Kconfig +++ b/soc/silabs/silabs_s2/xg22/Kconfig @@ -1,7 +1,7 @@ # Copyright (c) 2021 Sateesh Kotapati # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_EFR32BG22 +config SOC_SILABS_XG22 select ARM select ARMV8_M_DSP select ARM_TRUSTZONE_M @@ -9,12 +9,13 @@ config SOC_SERIES_EFR32BG22 select CPU_HAS_ARM_MPU select CPU_HAS_ARM_SAU select CPU_HAS_FPU - select HAS_SILABS_SISDK select HAS_SWO - select SOC_GECKO_HAS_RADIO select SOC_GECKO_GPIO select SOC_GECKO_CMU select SOC_GECKO_CORE select SOC_GECKO_DEV_INIT select SOC_GECKO_SE select HAS_PM + +config SOC_SERIES_EFR32BG22 + select SOC_GECKO_HAS_RADIO diff --git a/soc/silabs/silabs_s2/efr32bg22/Kconfig.defconfig b/soc/silabs/silabs_s2/xg22/Kconfig.defconfig similarity index 90% rename from soc/silabs/silabs_s2/efr32bg22/Kconfig.defconfig rename to soc/silabs/silabs_s2/xg22/Kconfig.defconfig index 2423ae5dedd1c..3690a957c36c8 100644 --- a/soc/silabs/silabs_s2/efr32bg22/Kconfig.defconfig +++ b/soc/silabs/silabs_s2/xg22/Kconfig.defconfig @@ -1,7 +1,7 @@ # Copyright (c) 2021 Sateesh Kotapati # SPDX-License-Identifier: Apache-2.0 -if SOC_SERIES_EFR32BG22 +if SOC_SILABS_XG22 config NUM_IRQS # must be >= the highest interrupt number used diff --git a/soc/silabs/silabs_s2/efr32bg22/Kconfig.soc b/soc/silabs/silabs_s2/xg22/Kconfig.soc similarity index 80% rename from soc/silabs/silabs_s2/efr32bg22/Kconfig.soc rename to soc/silabs/silabs_s2/xg22/Kconfig.soc index 022aa3816c93a..eb663234957fa 100644 --- a/soc/silabs/silabs_s2/efr32bg22/Kconfig.soc +++ b/soc/silabs/silabs_s2/xg22/Kconfig.soc @@ -1,9 +1,15 @@ # Copyright (c) 2021 Sateesh Kotapati # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_EFR32BG22 +config SOC_SILABS_XG22 bool select SOC_FAMILY_SILABS_S2 + help + Silicon Labs XG22 Series SoC and modules + +config SOC_SERIES_EFR32BG22 + bool + select SOC_SILABS_XG22 help Silicon Labs EFR32BG22 (Blue Gecko) Series MCU diff --git a/soc/silabs/silabs_s2/efr32zg23/Kconfig b/soc/silabs/silabs_s2/xg23/Kconfig similarity index 94% rename from soc/silabs/silabs_s2/efr32zg23/Kconfig rename to soc/silabs/silabs_s2/xg23/Kconfig index 2b732e55be5ca..d52bff007194c 100644 --- a/soc/silabs/silabs_s2/efr32zg23/Kconfig +++ b/soc/silabs/silabs_s2/xg23/Kconfig @@ -1,7 +1,7 @@ # Copyright (c) 2024 Yishai Jaffe # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_EFR32ZG23 +config SOC_SILABS_XG23 select ARM select ARMV8_M_DSP select ARM_TRUSTZONE_M @@ -11,12 +11,13 @@ config SOC_SERIES_EFR32ZG23 select CPU_HAS_ARM_SAU select CPU_HAS_FPU select HAS_PM - select HAS_SILABS_SISDK select HAS_SWO select SOC_GECKO_CMU select SOC_GECKO_CORE select SOC_GECKO_DEV_INIT select SOC_GECKO_EMU select SOC_GECKO_GPIO - select SOC_GECKO_HAS_RADIO select SOC_GECKO_SE + +config SOC_SERIES_EFR32ZG23 + select SOC_GECKO_HAS_RADIO diff --git a/soc/silabs/silabs_s2/efr32zg23/Kconfig.defconfig b/soc/silabs/silabs_s2/xg23/Kconfig.defconfig similarity index 90% rename from soc/silabs/silabs_s2/efr32zg23/Kconfig.defconfig rename to soc/silabs/silabs_s2/xg23/Kconfig.defconfig index 26eaef2f4f5f9..8c695729f9ae5 100644 --- a/soc/silabs/silabs_s2/efr32zg23/Kconfig.defconfig +++ b/soc/silabs/silabs_s2/xg23/Kconfig.defconfig @@ -1,7 +1,7 @@ # Copyright (c) 2024 Yishai Jaffe # SPDX-License-Identifier: Apache-2.0 -if SOC_SERIES_EFR32ZG23 +if SOC_SILABS_XG23 config NUM_IRQS # must be >= the highest interrupt number used diff --git a/soc/silabs/silabs_s2/efr32zg23/Kconfig.soc b/soc/silabs/silabs_s2/xg23/Kconfig.soc similarity index 79% rename from soc/silabs/silabs_s2/efr32zg23/Kconfig.soc rename to soc/silabs/silabs_s2/xg23/Kconfig.soc index c774e67ba29a7..f2c356953cee8 100644 --- a/soc/silabs/silabs_s2/efr32zg23/Kconfig.soc +++ b/soc/silabs/silabs_s2/xg23/Kconfig.soc @@ -1,9 +1,15 @@ # Copyright (c) 2024 Yishai Jaffe # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_EFR32ZG23 +config SOC_SILABS_XG23 bool select SOC_FAMILY_SILABS_S2 + help + Silicon Labs XG23 Series SoC and modules + +config SOC_SERIES_EFR32ZG23 + bool + select SOC_SILABS_XG23 help Silicon Labs EFR32ZG23 Series MCU diff --git a/soc/silabs/silabs_s2/xg24/Kconfig b/soc/silabs/silabs_s2/xg24/Kconfig index b3f5d5185b5b0..4ad62fb3e61ab 100644 --- a/soc/silabs/silabs_s2/xg24/Kconfig +++ b/soc/silabs/silabs_s2/xg24/Kconfig @@ -2,7 +2,7 @@ # Copyright (c) 2025 Silicon Laboratories Inc. # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_EFR32MG24 +config SOC_SILABS_XG24 select ARM select CPU_CORTEX_M33 select CPU_HAS_FPU @@ -11,8 +11,6 @@ config SOC_SERIES_EFR32MG24 select CPU_CORTEX_M_HAS_DWT select ARMV8_M_DSP select ARM_TRUSTZONE_M - select SOC_GECKO_HAS_RADIO - select HAS_SILABS_SISDK select HAS_SWO select SOC_GECKO_CMU select SOC_GECKO_EMU @@ -21,22 +19,9 @@ config SOC_SERIES_EFR32MG24 select SOC_GECKO_SE select HAS_PM -config SOC_SERIES_MGM24 - 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 +config SOC_SERIES_EFR32MG24 select SOC_GECKO_HAS_RADIO - select HAS_SILABS_SISDK - 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_MGM24 select SILABS_DEVICE_IS_MODULE + select SOC_GECKO_HAS_RADIO diff --git a/soc/silabs/silabs_s2/xg24/Kconfig.defconfig b/soc/silabs/silabs_s2/xg24/Kconfig.defconfig index 5e4e797398b6a..d0c9086353cd7 100644 --- a/soc/silabs/silabs_s2/xg24/Kconfig.defconfig +++ b/soc/silabs/silabs_s2/xg24/Kconfig.defconfig @@ -2,7 +2,7 @@ # Copyright (c) 2025 Silicon Laboratories Inc. # SPDX-License-Identifier: Apache-2.0 -if SOC_SERIES_EFR32MG24 || SOC_SERIES_MGM24 +if SOC_SILABS_XG24 config NUM_IRQS # must be >= the highest interrupt number used diff --git a/soc/silabs/silabs_s2/xg24/Kconfig.soc b/soc/silabs/silabs_s2/xg24/Kconfig.soc index 79007042be1a4..26d029c7c183d 100644 --- a/soc/silabs/silabs_s2/xg24/Kconfig.soc +++ b/soc/silabs/silabs_s2/xg24/Kconfig.soc @@ -2,22 +2,21 @@ # Copyright (c) 2025 Silicon Laboratories Inc. # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_XG24 +config SOC_SILABS_XG24 bool + select SOC_FAMILY_SILABS_S2 help - Silicon Labs EFR32 24 Series SoC and modules + Silicon Labs XG24 Series SoC and modules config SOC_SERIES_EFR32MG24 bool - select SOC_FAMILY_SILABS_S2 - select SOC_SERIES_XG24 + select SOC_SILABS_XG24 help Silicon Labs EFR32MG24 (Mighty Gecko) Series MCU config SOC_SERIES_MGM24 bool - select SOC_FAMILY_SILABS_S2 - select SOC_SERIES_XG24 + select SOC_SILABS_XG24 help Silicon Labs MGM240 (Mighty Gecko) Series MCU modules diff --git a/soc/silabs/silabs_s2/efr32bg27/Kconfig b/soc/silabs/silabs_s2/xg27/Kconfig similarity index 94% rename from soc/silabs/silabs_s2/efr32bg27/Kconfig rename to soc/silabs/silabs_s2/xg27/Kconfig index deaa0d57d46b3..fb825b991c595 100644 --- a/soc/silabs/silabs_s2/efr32bg27/Kconfig +++ b/soc/silabs/silabs_s2/xg27/Kconfig @@ -1,7 +1,7 @@ # Copyright (c) 2023 Antmicro # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_EFR32BG27 +config SOC_SILABS_XG27 select ARM select ARMV8_M_DSP select ARM_TRUSTZONE_M @@ -9,11 +9,12 @@ config SOC_SERIES_EFR32BG27 select CPU_HAS_ARM_MPU select CPU_HAS_ARM_SAU select CPU_HAS_FPU - select HAS_SILABS_SISDK select HAS_SWO - select SOC_GECKO_HAS_RADIO select SOC_GECKO_CMU select SOC_GECKO_CORE select SOC_GECKO_DEV_INIT select SOC_GECKO_SE select HAS_PM + +config SOC_SERIES_EFR32BG27 + select SOC_GECKO_HAS_RADIO diff --git a/soc/silabs/silabs_s2/efr32bg27/Kconfig.defconfig b/soc/silabs/silabs_s2/xg27/Kconfig.defconfig similarity index 89% rename from soc/silabs/silabs_s2/efr32bg27/Kconfig.defconfig rename to soc/silabs/silabs_s2/xg27/Kconfig.defconfig index 37b57c2fef4dd..b6542d0ab29c1 100644 --- a/soc/silabs/silabs_s2/efr32bg27/Kconfig.defconfig +++ b/soc/silabs/silabs_s2/xg27/Kconfig.defconfig @@ -1,7 +1,7 @@ # Copyright (c) 2023 Antmicro # SPDX-License-Identifier: Apache-2.0 -if SOC_SERIES_EFR32BG27 +if SOC_SILABS_XG27 config NUM_IRQS # must be >= the highest interrupt number used diff --git a/soc/silabs/silabs_s2/efr32bg27/Kconfig.soc b/soc/silabs/silabs_s2/xg27/Kconfig.soc similarity index 80% rename from soc/silabs/silabs_s2/efr32bg27/Kconfig.soc rename to soc/silabs/silabs_s2/xg27/Kconfig.soc index 8a435591729f5..e20e5597b56c0 100644 --- a/soc/silabs/silabs_s2/efr32bg27/Kconfig.soc +++ b/soc/silabs/silabs_s2/xg27/Kconfig.soc @@ -1,9 +1,15 @@ # Copyright (c) 2023 Antmicro # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_EFR32BG27 +config SOC_SILABS_XG27 bool select SOC_FAMILY_SILABS_S2 + help + Silicon Labs XG27 Series SoC and modules + +config SOC_SERIES_EFR32BG27 + bool + select SOC_SILABS_XG27 help Silicon Labs EFR32BG27 (Blue Gecko) Series MCU diff --git a/soc/silabs/silabs_s2/xg29/Kconfig b/soc/silabs/silabs_s2/xg29/Kconfig index f360ae011d043..58fe9f42a7de3 100644 --- a/soc/silabs/silabs_s2/xg29/Kconfig +++ b/soc/silabs/silabs_s2/xg29/Kconfig @@ -1,7 +1,7 @@ # Copyright (c) 2025 Silicon Laboratories Inc. # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_EFR32BG29 +config SOC_SILABS_XG29 select ARM select CPU_CORTEX_M33 select CPU_HAS_FPU @@ -10,8 +10,6 @@ config SOC_SERIES_EFR32BG29 select CPU_CORTEX_M_HAS_DWT select ARMV8_M_DSP select ARM_TRUSTZONE_M - select SOC_GECKO_HAS_RADIO - select HAS_SILABS_SISDK select HAS_SWO select SOC_GECKO_CMU select SOC_GECKO_EMU @@ -20,21 +18,8 @@ config SOC_SERIES_EFR32BG29 select SOC_GECKO_SE select HAS_PM +config SOC_SERIES_EFR32BG29 + select SOC_GECKO_HAS_RADIO + 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_SISDK - 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 diff --git a/soc/silabs/silabs_s2/xg29/Kconfig.defconfig b/soc/silabs/silabs_s2/xg29/Kconfig.defconfig index 84949e8912c47..914196679fe24 100644 --- a/soc/silabs/silabs_s2/xg29/Kconfig.defconfig +++ b/soc/silabs/silabs_s2/xg29/Kconfig.defconfig @@ -1,7 +1,7 @@ # Copyright (c) 2025 Silicon Laboratories Inc. # SPDX-License-Identifier: Apache-2.0 -if SOC_SERIES_EFR32BG29 || SOC_SERIES_EFR32MG29 +if SOC_SILABS_XG29 config NUM_IRQS # must be >= the highest interrupt number used diff --git a/soc/silabs/silabs_s2/xg29/Kconfig.soc b/soc/silabs/silabs_s2/xg29/Kconfig.soc index cc49f743900eb..29362106820f4 100644 --- a/soc/silabs/silabs_s2/xg29/Kconfig.soc +++ b/soc/silabs/silabs_s2/xg29/Kconfig.soc @@ -1,15 +1,21 @@ # Copyright (c) 2025 Silicon Laboratories Inc. # SPDX-License-Identifier: Apache-2.0 -config SOC_SERIES_EFR32BG29 +config SOC_SILABS_XG29 bool select SOC_FAMILY_SILABS_S2 + help + Silicon Labs XG29 Series SoC and modules + +config SOC_SERIES_EFR32BG29 + bool + select SOC_SILABS_XG29 help Silicon Labs EFR32BG29 (Blue Gecko) Series MCU config SOC_SERIES_EFR32MG29 bool - select SOC_FAMILY_SILABS_S2 + select SOC_SILABS_XG29 help Silicon Labs EFR32MG29 (Mighty Gecko) Series MCU