diff --git a/boards/silabs/efr32_radio/Kconfig.defconfig b/boards/silabs/efr32_radio/Kconfig.defconfig index 00f6486b2569..ce20c2ef360b 100644 --- a/boards/silabs/efr32_radio/Kconfig.defconfig +++ b/boards/silabs/efr32_radio/Kconfig.defconfig @@ -25,7 +25,7 @@ config LOG_BACKEND_SWO_FREQ_HZ if SOC_GECKO_USE_RAIL config FPU - default n if SOC_GECKO_SERIES1 + default n if SOC_FAMILY_SILABS_S1 default y endif # SOC_GECKO_USE_RAIL diff --git a/drivers/hwinfo/Kconfig b/drivers/hwinfo/Kconfig index 266bae4afd71..0070c50ff054 100644 --- a/drivers/hwinfo/Kconfig +++ b/drivers/hwinfo/Kconfig @@ -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. diff --git a/drivers/pinctrl/pinctrl_gecko.c b/drivers/pinctrl/pinctrl_gecko.c index cdb1118768f3..0573ef3a40ca 100644 --- a/drivers/pinctrl/pinctrl_gecko.c +++ b/drivers/pinctrl/pinctrl_gecko.c @@ -12,7 +12,7 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp { USART_TypeDef *base = (USART_TypeDef *)reg; uint8_t loc; -#ifdef CONFIG_SOC_GECKO_SERIES1 +#ifdef CONFIG_SOC_FAMILY_SILABS_S1 LEUART_TypeDef *lebase = (LEUART_TypeDef *)reg; #else int usart_num = USART_NUM(base); @@ -50,7 +50,7 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp txpin.out); break; -#ifdef CONFIG_SOC_GECKO_SERIES1 +#ifdef CONFIG_SOC_FAMILY_SILABS_S1 case GECKO_FUN_UART_RTS: pin_config.mode = gpioModePushPull; pin_config.out = 1; @@ -100,7 +100,7 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp lebase->ROUTELOC0 &= ~_LEUART_ROUTELOC0_TXLOC_MASK; lebase->ROUTELOC0 |= (loc << _LEUART_ROUTELOC0_TXLOC_SHIFT); break; -#else /* CONFIG_SOC_GECKO_SERIES1 */ +#else /* CONFIG_SOC_FAMILY_SILABS_S1 */ case GECKO_FUN_UART_LOC: #ifdef CONFIG_SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION /* For SOCs with configurable pin_cfg locations (set in SOC Kconfig) */ @@ -156,11 +156,11 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp } #endif /* UART_GECKO_HW_FLOW_CONTROL */ break; -#endif /* CONFIG_SOC_GECKO_SERIES1 */ +#endif /* CONFIG_SOC_FAMILY_SILABS_S1 */ #endif /* CONFIG_UART_GECKO */ #ifdef CONFIG_SPI_GECKO -#ifdef CONFIG_SOC_GECKO_SERIES1 +#ifdef CONFIG_SOC_FAMILY_SILABS_S1 case GECKO_FUN_SPIM_SCK: pin_config.mode = gpioModePushPull; pin_config.out = 1; @@ -241,7 +241,7 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp base->ROUTELOC0 |= (loc << _USART_ROUTELOC0_CSLOC_SHIFT); break; -#else /* CONFIG_SOC_GECKO_SERIES1 */ +#else /* CONFIG_SOC_FAMILY_SILABS_S1 */ case GECKO_FUN_SPI_SCK: pin_config.mode = gpioModePushPull; pin_config.out = 1; @@ -274,7 +274,7 @@ int pinctrl_configure_pins(const pinctrl_soc_pin_t *pins, uint8_t pin_cnt, uintp GPIO_PinModeSet(pin_config.port, pin_config.pin, pin_config.mode, pin_config.out); break; -#endif /* CONFIG_SOC_GECKO_SERIES1 */ +#endif /* CONFIG_SOC_FAMILY_SILABS_S1 */ #endif /* CONFIG_SPI_GECKO */ default: diff --git a/drivers/serial/Kconfig.gecko b/drivers/serial/Kconfig.gecko index 2330fd401c74..8bc311cd5232 100644 --- a/drivers/serial/Kconfig.gecko +++ b/drivers/serial/Kconfig.gecko @@ -10,6 +10,6 @@ config UART_GECKO select SERIAL_HAS_DRIVER select SERIAL_SUPPORT_INTERRUPT select SOC_GECKO_USART - select PINCTRL if SOC_GECKO_SERIES1 + select PINCTRL if SOC_FAMILY_SILABS_S1 help Enable the Gecko uart driver. diff --git a/drivers/timer/Kconfig.gecko b/drivers/timer/Kconfig.gecko index 7a14af67e6ad..cd53f9977b5c 100644 --- a/drivers/timer/Kconfig.gecko +++ b/drivers/timer/Kconfig.gecko @@ -3,7 +3,7 @@ config GECKO_BURTC_TIMER bool "SiLabs Gecko BURTC system clock driver" - depends on SOC_GECKO_SERIES2 + depends on SOC_FAMILY_SILABS_S2 depends on DT_HAS_SILABS_GECKO_BURTC_ENABLED select SOC_GECKO_BURTC select TICKLESS_CAPABLE diff --git a/modules/Kconfig.silabs b/modules/Kconfig.silabs index 2c658206212c..0078bfc0b987 100644 --- a/modules/Kconfig.silabs +++ b/modules/Kconfig.silabs @@ -6,4 +6,4 @@ config HAS_SILABS_GECKO bool select HAS_CMSIS_CORE - depends on SOC_FAMILY_SILABS_EXX32 + depends on SOC_VENDOR_SILABS diff --git a/soc/silabs/exx32/CMakeLists.txt b/soc/silabs/CMakeLists.txt similarity index 53% rename from soc/silabs/exx32/CMakeLists.txt rename to soc/silabs/CMakeLists.txt index 6bd69b6ee7cf..198cbbd84072 100644 --- a/soc/silabs/exx32/CMakeLists.txt +++ b/soc/silabs/CMakeLists.txt @@ -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}) diff --git a/soc/silabs/exx32/Kconfig b/soc/silabs/Kconfig similarity index 92% rename from soc/silabs/exx32/Kconfig rename to soc/silabs/Kconfig index 6d5b6e2ec7b2..4e86a6e2b74f 100644 --- a/soc/silabs/exx32/Kconfig +++ b/soc/silabs/Kconfig @@ -2,34 +2,19 @@ # 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 - help - Set if we're building for Gecko Series 0 SoC. - This is equivalent of _SILICON_LABS_32B_SERIES_0 definition in HAL - code. - -config SOC_GECKO_SERIES1 - bool - help - Set if we're building for Gecko Series 1 SoC. - This is equivalent of _SILICON_LABS_32B_SERIES_1 definition in HAL - code. - -config SOC_GECKO_SERIES2 - bool +config SOC_GECKO_SDID + int help - Set if we're building for Gecko Series 2 SoC. - This is equivalent of _SILICON_LABS_32B_SERIES_2 definition in HAL - code. + Gecko SDK sometime refere to the chipset using the internal ID. This + entry reflects this ID. config SOC_GECKO_BURTC bool @@ -139,7 +124,7 @@ if PM config SOC_GECKO_PM_BACKEND_PMGR bool depends on SOC_GECKO_DEV_INIT - default y if SOC_GECKO_SERIES2 + default y if SOC_FAMILY_SILABS_S2 help Implement PM using sl_power_manager service from Gecko SDK @@ -190,7 +175,7 @@ config SOC_GECKO_DEV_INIT configures DPLLs and manages the Energy Management Unit. Disabling these services may negatively impact counter and timer - routines in EXX32 series SoCs. + routines in Silabs SoCs. config COUNTER_GECKO_STIMER bool @@ -337,4 +322,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 diff --git a/soc/silabs/exx32/Kconfig.defconfig b/soc/silabs/Kconfig.defconfig similarity index 88% rename from soc/silabs/exx32/Kconfig.defconfig rename to soc/silabs/Kconfig.defconfig index 372a2271ceba..f948aed54205 100644 --- a/soc/silabs/exx32/Kconfig.defconfig +++ b/soc/silabs/Kconfig.defconfig @@ -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 diff --git a/soc/silabs/Kconfig.soc b/soc/silabs/Kconfig.soc new file mode 100644 index 000000000000..bea030078b79 --- /dev/null +++ b/soc/silabs/Kconfig.soc @@ -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" diff --git a/soc/silabs/exx32/common/CMakeLists.txt b/soc/silabs/common/CMakeLists.txt similarity index 100% rename from soc/silabs/exx32/common/CMakeLists.txt rename to soc/silabs/common/CMakeLists.txt diff --git a/soc/silabs/exx32/common/pinctrl_soc.h b/soc/silabs/common/pinctrl_soc.h similarity index 98% rename from soc/silabs/exx32/common/pinctrl_soc.h rename to soc/silabs/common/pinctrl_soc.h index 8cfad9d46883..967b7c024555 100644 --- a/soc/silabs/exx32/common/pinctrl_soc.h +++ b/soc/silabs/common/pinctrl_soc.h @@ -15,7 +15,7 @@ #include #include -#if CONFIG_SOC_GECKO_SERIES1 +#if CONFIG_SOC_FAMILY_SILABS_S1 #include #else #include diff --git a/soc/silabs/exx32/common/sl_device_init_hfxo_config.h b/soc/silabs/common/sl_device_init_hfxo_config.h similarity index 100% rename from soc/silabs/exx32/common/sl_device_init_hfxo_config.h rename to soc/silabs/common/sl_device_init_hfxo_config.h diff --git a/soc/silabs/exx32/common/soc.c b/soc/silabs/common/soc.c similarity index 97% rename from soc/silabs/exx32/common/soc.c rename to soc/silabs/common/soc.c index 0aab80ea06b4..1136a1fedfd4 100644 --- a/soc/silabs/exx32/common/soc.c +++ b/soc/silabs/common/soc.c @@ -6,7 +6,7 @@ /** * @file - * @brief Common SoC initialization for the EXX32 + * @brief Common SoC initialization for the Silabs products */ #include @@ -206,7 +206,7 @@ static void swo_init(void) * * @return 0 */ -static int silabs_exx32_init(void) +static int silabs_init(void) { /* handle chip errata */ CHIP_Init(); @@ -244,4 +244,4 @@ static int silabs_exx32_init(void) return 0; } -SYS_INIT(silabs_exx32_init, PRE_KERNEL_1, 0); +SYS_INIT(silabs_init, PRE_KERNEL_1, 0); diff --git a/soc/silabs/exx32/common/soc_gpio.h b/soc/silabs/common/soc_gpio.h similarity index 72% rename from soc/silabs/exx32/common/soc_gpio.h rename to soc/silabs/common/soc_gpio.h index e030c3bc32eb..3d3faeac8b76 100644 --- a/soc/silabs/exx32/common/soc_gpio.h +++ b/soc/silabs/common/soc_gpio.h @@ -4,12 +4,12 @@ */ /** @file - * @brief Silabs EXX32 MCU family General Purpose Input Output (GPIO) + * @brief Silabs MCU family General Purpose Input Output (GPIO) * module HAL driver. */ -#ifndef _SILABS_EXX32_SOC_GPIO_H_ -#define _SILABS_EXX32_SOC_GPIO_H_ +#ifndef _SILABS_COMMON_SOC_GPIO_H_ +#define _SILABS_COMMON_SOC_GPIO_H_ #include #include @@ -29,4 +29,4 @@ struct soc_gpio_pin { } #endif -#endif /* _SILABS_EXX32_SOC_GPIO_H_ */ +#endif /* _SILABS_COMMON_SOC_GPIO_H_ */ diff --git a/soc/silabs/exx32/common/soc_power.c b/soc/silabs/common/soc_power.c similarity index 100% rename from soc/silabs/exx32/common/soc_power.c rename to soc/silabs/common/soc_power.c diff --git a/soc/silabs/exx32/common/soc_power_pmgr.c b/soc/silabs/common/soc_power_pmgr.c similarity index 100% rename from soc/silabs/exx32/common/soc_power_pmgr.c rename to soc/silabs/common/soc_power_pmgr.c diff --git a/soc/silabs/exx32/efm32gg11b/Kconfig.defconfig.efm32gg11b b/soc/silabs/exx32/efm32gg11b/Kconfig.defconfig.efm32gg11b deleted file mode 100644 index da0d6b66b910..000000000000 --- a/soc/silabs/exx32/efm32gg11b/Kconfig.defconfig.efm32gg11b +++ /dev/null @@ -1,8 +0,0 @@ -# Silicon Labs EFM32GG-STK3701A platform configuration options -# Copyright (c) 2019 Interay Solutions B.V. -# Copyright (c) 2019 Oane Kingma -# SPDX-License-Identifier: Apache-2.0 - -config GPIO_GECKO - default y - depends on GPIO || LOG_BACKEND_SWO diff --git a/soc/silabs/exx32/efm32gg12b/Kconfig.defconfig.efm32gg12b b/soc/silabs/exx32/efm32gg12b/Kconfig.defconfig.efm32gg12b deleted file mode 100644 index ce234528a584..000000000000 --- a/soc/silabs/exx32/efm32gg12b/Kconfig.defconfig.efm32gg12b +++ /dev/null @@ -1,7 +0,0 @@ -# Silicon Labs EFM32GG12B (Giant Gecko) platform configuration options -# Copyright (c) 2023 Antmicro -# SPDX-License-Identifier: Apache-2.0 - -config GPIO_GECKO - default y - depends on GPIO || LOG_BACKEND_SWO diff --git a/soc/silabs/exx32/efr32bg22/Kconfig.defconfig.efr32bg22 b/soc/silabs/exx32/efr32bg22/Kconfig.defconfig.efr32bg22 deleted file mode 100644 index 7600ace022b8..000000000000 --- a/soc/silabs/exx32/efr32bg22/Kconfig.defconfig.efr32bg22 +++ /dev/null @@ -1,7 +0,0 @@ -# Silicon Labs EFR32BG22 (Blue Gecko) MCU configuration options - -# Copyright (c) 2021 Sateesh Kotapati -# SPDX-License-Identifier: Apache-2.0 - -config GPIO_GECKO - default y diff --git a/soc/silabs/exx32/efr32bg27/Kconfig.defconfig.efr32bg27 b/soc/silabs/exx32/efr32bg27/Kconfig.defconfig.efr32bg27 deleted file mode 100644 index 6b33d3ea25e0..000000000000 --- a/soc/silabs/exx32/efr32bg27/Kconfig.defconfig.efr32bg27 +++ /dev/null @@ -1,7 +0,0 @@ -# Silicon Labs EFR32BG27 (Blue Gecko) MCU configuration options - -# Copyright (c) 2023 Antmicro -# SPDX-License-Identifier: Apache-2.0 - -config GPIO_GECKO - default y diff --git a/soc/silabs/exx32/efr32mg21/Kconfig.defconfig.efr32mg21 b/soc/silabs/exx32/efr32mg21/Kconfig.defconfig.efr32mg21 deleted file mode 100644 index 1844935f0155..000000000000 --- a/soc/silabs/exx32/efr32mg21/Kconfig.defconfig.efr32mg21 +++ /dev/null @@ -1,8 +0,0 @@ -# Silicon Labs EFR32MG21 (Mighty Gecko) MCU configuration options - -# Copyright (c) 2020 TriaGnoSys GmbH -# SPDX-License-Identifier: Apache-2.0 - -config GPIO_GECKO - default y - depends on GPIO || LOG_BACKEND_SWO diff --git a/soc/silabs/exx32/Kconfig.soc b/soc/silabs/silabs_s0/Kconfig.soc similarity index 51% rename from soc/silabs/exx32/Kconfig.soc rename to soc/silabs/silabs_s0/Kconfig.soc index ee35ab8a52a8..870fecc2a4a4 100644 --- a/soc/silabs/exx32/Kconfig.soc +++ b/soc/silabs/silabs_s0/Kconfig.soc @@ -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" diff --git a/soc/silabs/exx32/efm32hg/Kconfig b/soc/silabs/silabs_s0/efm32hg/Kconfig similarity index 85% rename from soc/silabs/exx32/efm32hg/Kconfig rename to soc/silabs/silabs_s0/efm32hg/Kconfig index dd5ce6644eb2..8470c4816349 100644 --- a/soc/silabs/exx32/efm32hg/Kconfig +++ b/soc/silabs/silabs_s0/efm32hg/Kconfig @@ -12,4 +12,6 @@ config SOC_SERIES_EFM32HG select SOC_GECKO_CMU select SOC_GECKO_GPIO select HAS_PM - select SOC_GECKO_SERIES0 + +config SOC_GECKO_SDID + default 77 if SOC_SERIES_EFM32HG diff --git a/soc/silabs/exx32/efm32hg/Kconfig.defconfig b/soc/silabs/silabs_s0/efm32hg/Kconfig.defconfig similarity index 100% rename from soc/silabs/exx32/efm32hg/Kconfig.defconfig rename to soc/silabs/silabs_s0/efm32hg/Kconfig.defconfig diff --git a/soc/silabs/exx32/efm32hg/Kconfig.soc b/soc/silabs/silabs_s0/efm32hg/Kconfig.soc similarity index 93% rename from soc/silabs/exx32/efm32hg/Kconfig.soc rename to soc/silabs/silabs_s0/efm32hg/Kconfig.soc index fb419fdeb178..c5dbfa03cf5a 100644 --- a/soc/silabs/exx32/efm32hg/Kconfig.soc +++ b/soc/silabs/silabs_s0/efm32hg/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFM32HG bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S0 help EFM32HG Series MCU diff --git a/soc/silabs/exx32/efm32hg/soc.h b/soc/silabs/silabs_s0/efm32hg/soc.h similarity index 100% rename from soc/silabs/exx32/efm32hg/soc.h rename to soc/silabs/silabs_s0/efm32hg/soc.h diff --git a/soc/silabs/exx32/efm32hg/soc_pinmap.h b/soc/silabs/silabs_s0/efm32hg/soc_pinmap.h similarity index 100% rename from soc/silabs/exx32/efm32hg/soc_pinmap.h rename to soc/silabs/silabs_s0/efm32hg/soc_pinmap.h diff --git a/soc/silabs/exx32/efm32wg/Kconfig b/soc/silabs/silabs_s0/efm32wg/Kconfig similarity index 85% rename from soc/silabs/exx32/efm32wg/Kconfig rename to soc/silabs/silabs_s0/efm32wg/Kconfig index c7fcdf13ef2c..9afdfa8846e8 100644 --- a/soc/silabs/exx32/efm32wg/Kconfig +++ b/soc/silabs/silabs_s0/efm32wg/Kconfig @@ -13,4 +13,6 @@ config SOC_SERIES_EFM32WG select SOC_GECKO_CMU select SOC_GECKO_GPIO select HAS_PM - select SOC_GECKO_SERIES0 + +config SOC_GECKO_SDID + default 74 if SOC_SERIES_EFM32WG diff --git a/soc/silabs/exx32/efm32wg/Kconfig.defconfig b/soc/silabs/silabs_s0/efm32wg/Kconfig.defconfig similarity index 100% rename from soc/silabs/exx32/efm32wg/Kconfig.defconfig rename to soc/silabs/silabs_s0/efm32wg/Kconfig.defconfig diff --git a/soc/silabs/exx32/efm32wg/Kconfig.soc b/soc/silabs/silabs_s0/efm32wg/Kconfig.soc similarity index 93% rename from soc/silabs/exx32/efm32wg/Kconfig.soc rename to soc/silabs/silabs_s0/efm32wg/Kconfig.soc index 2a13c4334bf8..bdf6bac595a3 100644 --- a/soc/silabs/exx32/efm32wg/Kconfig.soc +++ b/soc/silabs/silabs_s0/efm32wg/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFM32WG bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S0 help EFM32WG Series MCU diff --git a/soc/silabs/exx32/efm32wg/soc.h b/soc/silabs/silabs_s0/efm32wg/soc.h similarity index 100% rename from soc/silabs/exx32/efm32wg/soc.h rename to soc/silabs/silabs_s0/efm32wg/soc.h diff --git a/soc/silabs/exx32/efm32wg/soc_pinmap.h b/soc/silabs/silabs_s0/efm32wg/soc_pinmap.h similarity index 100% rename from soc/silabs/exx32/efm32wg/soc_pinmap.h rename to soc/silabs/silabs_s0/efm32wg/soc_pinmap.h diff --git a/soc/silabs/silabs_s1/Kconfig.soc b/soc/silabs/silabs_s1/Kconfig.soc new file mode 100644 index 000000000000..d2771e803ec8 --- /dev/null +++ b/soc/silabs/silabs_s1/Kconfig.soc @@ -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" diff --git a/soc/silabs/exx32/efm32gg11b/Kconfig b/soc/silabs/silabs_s1/efm32gg11b/Kconfig similarity index 88% rename from soc/silabs/exx32/efm32gg11b/Kconfig rename to soc/silabs/silabs_s1/efm32gg11b/Kconfig index 41e6697062cc..8dcc746fb6ea 100644 --- a/soc/silabs/exx32/efm32gg11b/Kconfig +++ b/soc/silabs/silabs_s1/efm32gg11b/Kconfig @@ -16,4 +16,6 @@ config SOC_SERIES_EFM32GG11B select SOC_GECKO_EMU select SOC_GECKO_GPIO select SOC_GECKO_TRNG - select SOC_GECKO_SERIES1 + +config SOC_GECKO_SDID + default 100 if SOC_SERIES_EFM32GG11B diff --git a/soc/silabs/exx32/efm32gg11b/Kconfig.defconfig b/soc/silabs/silabs_s1/efm32gg11b/Kconfig.defconfig similarity index 82% rename from soc/silabs/exx32/efm32gg11b/Kconfig.defconfig rename to soc/silabs/silabs_s1/efm32gg11b/Kconfig.defconfig index bcee41ada436..07a92c66b825 100644 --- a/soc/silabs/exx32/efm32gg11b/Kconfig.defconfig +++ b/soc/silabs/silabs_s1/efm32gg11b/Kconfig.defconfig @@ -10,6 +10,8 @@ config NUM_IRQS # must be >= the highest interrupt number used default 68 -rsource "Kconfig.defconfig.efm32gg11b" +config GPIO_GECKO + default y + depends on GPIO || LOG_BACKEND_SWO endif # SOC_SERIES_EFM32GG11B diff --git a/soc/silabs/exx32/efm32gg11b/Kconfig.soc b/soc/silabs/silabs_s1/efm32gg11b/Kconfig.soc similarity index 96% rename from soc/silabs/exx32/efm32gg11b/Kconfig.soc rename to soc/silabs/silabs_s1/efm32gg11b/Kconfig.soc index cac05db35307..0d136b520c79 100644 --- a/soc/silabs/exx32/efm32gg11b/Kconfig.soc +++ b/soc/silabs/silabs_s1/efm32gg11b/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFM32GG11B bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S1 help EFM32GG11B Series MCU diff --git a/soc/silabs/exx32/efm32gg11b/soc.h b/soc/silabs/silabs_s1/efm32gg11b/soc.h similarity index 100% rename from soc/silabs/exx32/efm32gg11b/soc.h rename to soc/silabs/silabs_s1/efm32gg11b/soc.h diff --git a/soc/silabs/exx32/efm32gg11b/soc_pinmap.h b/soc/silabs/silabs_s1/efm32gg11b/soc_pinmap.h similarity index 100% rename from soc/silabs/exx32/efm32gg11b/soc_pinmap.h rename to soc/silabs/silabs_s1/efm32gg11b/soc_pinmap.h diff --git a/soc/silabs/exx32/efm32gg12b/Kconfig b/soc/silabs/silabs_s1/efm32gg12b/Kconfig similarity index 87% rename from soc/silabs/exx32/efm32gg12b/Kconfig rename to soc/silabs/silabs_s1/efm32gg12b/Kconfig index 66c0add96fa6..f8be8f8b9939 100644 --- a/soc/silabs/exx32/efm32gg12b/Kconfig +++ b/soc/silabs/silabs_s1/efm32gg12b/Kconfig @@ -15,4 +15,6 @@ config SOC_SERIES_EFM32GG12B select SOC_GECKO_EMU select SOC_GECKO_GPIO select SOC_GECKO_TRNG - select SOC_GECKO_SERIES1 + +config SOC_GECKO_SDID + default 106 if SOC_SERIES_EFM32GG12B diff --git a/soc/silabs/exx32/efm32gg12b/Kconfig.defconfig b/soc/silabs/silabs_s1/efm32gg12b/Kconfig.defconfig similarity index 80% rename from soc/silabs/exx32/efm32gg12b/Kconfig.defconfig rename to soc/silabs/silabs_s1/efm32gg12b/Kconfig.defconfig index 49afd39d31d9..7bcb50e8ef72 100644 --- a/soc/silabs/exx32/efm32gg12b/Kconfig.defconfig +++ b/soc/silabs/silabs_s1/efm32gg12b/Kconfig.defconfig @@ -9,6 +9,8 @@ config NUM_IRQS # must be >= the highest interrupt number used default 68 -rsource "Kconfig.defconfig.efm32gg12b" +config GPIO_GECKO + default y + depends on GPIO || LOG_BACKEND_SWO endif # SOC_SERIES_EFM32GG12B diff --git a/soc/silabs/exx32/efm32gg12b/Kconfig.soc b/soc/silabs/silabs_s1/efm32gg12b/Kconfig.soc similarity index 94% rename from soc/silabs/exx32/efm32gg12b/Kconfig.soc rename to soc/silabs/silabs_s1/efm32gg12b/Kconfig.soc index bee875cb67c1..8367ffcd9086 100644 --- a/soc/silabs/exx32/efm32gg12b/Kconfig.soc +++ b/soc/silabs/silabs_s1/efm32gg12b/Kconfig.soc @@ -4,7 +4,7 @@ config SOC_SERIES_EFM32GG12B bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S1 help EFM32GG12B Series MCU diff --git a/soc/silabs/exx32/efm32gg12b/soc.h b/soc/silabs/silabs_s1/efm32gg12b/soc.h similarity index 100% rename from soc/silabs/exx32/efm32gg12b/soc.h rename to soc/silabs/silabs_s1/efm32gg12b/soc.h diff --git a/soc/silabs/exx32/efm32gg12b/soc_pinmap.h b/soc/silabs/silabs_s1/efm32gg12b/soc_pinmap.h similarity index 100% rename from soc/silabs/exx32/efm32gg12b/soc_pinmap.h rename to soc/silabs/silabs_s1/efm32gg12b/soc_pinmap.h diff --git a/soc/silabs/exx32/efm32jg12b/Kconfig b/soc/silabs/silabs_s1/efm32jg12b/Kconfig similarity index 87% rename from soc/silabs/exx32/efm32jg12b/Kconfig rename to soc/silabs/silabs_s1/efm32jg12b/Kconfig index 4757e1873fc1..adb3d67c04c2 100644 --- a/soc/silabs/exx32/efm32jg12b/Kconfig +++ b/soc/silabs/silabs_s1/efm32jg12b/Kconfig @@ -11,9 +11,11 @@ config SOC_SERIES_EFM32JG12B select CPU_HAS_ARM_MPU select SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION select SOC_GECKO_HAS_HFRCO_FREQRANGE - select SOC_GECKO_SERIES1 select SOC_GECKO_CMU select SOC_GECKO_EMU select SOC_GECKO_GPIO select SOC_GECKO_TRNG select HAS_PM + +config SOC_GECKO_SDID + default 84 if SOC_SERIES_EFM32JG12B diff --git a/soc/silabs/exx32/efm32jg12b/Kconfig.defconfig b/soc/silabs/silabs_s1/efm32jg12b/Kconfig.defconfig similarity index 100% rename from soc/silabs/exx32/efm32jg12b/Kconfig.defconfig rename to soc/silabs/silabs_s1/efm32jg12b/Kconfig.defconfig diff --git a/soc/silabs/exx32/efm32jg12b/Kconfig.soc b/soc/silabs/silabs_s1/efm32jg12b/Kconfig.soc similarity index 94% rename from soc/silabs/exx32/efm32jg12b/Kconfig.soc rename to soc/silabs/silabs_s1/efm32jg12b/Kconfig.soc index 905f2b3e5bfe..1142c09a25a9 100644 --- a/soc/silabs/exx32/efm32jg12b/Kconfig.soc +++ b/soc/silabs/silabs_s1/efm32jg12b/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFM32JG12B bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S1 help EFM32JG12B Series MCU diff --git a/soc/silabs/exx32/efm32jg12b/soc.h b/soc/silabs/silabs_s1/efm32jg12b/soc.h similarity index 100% rename from soc/silabs/exx32/efm32jg12b/soc.h rename to soc/silabs/silabs_s1/efm32jg12b/soc.h diff --git a/soc/silabs/exx32/efm32jg12b/soc_pinmap.h b/soc/silabs/silabs_s1/efm32jg12b/soc_pinmap.h similarity index 100% rename from soc/silabs/exx32/efm32jg12b/soc_pinmap.h rename to soc/silabs/silabs_s1/efm32jg12b/soc_pinmap.h diff --git a/soc/silabs/exx32/efm32pg12b/Kconfig b/soc/silabs/silabs_s1/efm32pg12b/Kconfig similarity index 89% rename from soc/silabs/exx32/efm32pg12b/Kconfig rename to soc/silabs/silabs_s1/efm32pg12b/Kconfig index 1d12213464fb..6919ee1e71b7 100644 --- a/soc/silabs/exx32/efm32pg12b/Kconfig +++ b/soc/silabs/silabs_s1/efm32pg12b/Kconfig @@ -11,7 +11,6 @@ config SOC_SERIES_EFM32PG12B select CPU_CORTEX_M_HAS_DWT select CPU_HAS_FPU select CPU_HAS_ARM_MPU - select SOC_GECKO_SERIES1 select SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION select SOC_GECKO_HAS_HFRCO_FREQRANGE select SOC_GECKO_CMU @@ -20,3 +19,6 @@ config SOC_SERIES_EFM32PG12B select SOC_GECKO_TRNG select SOC_GECKO_ADC select HAS_PM + +config SOC_GECKO_SDID + default 84 if SOC_SERIES_EFM32PG12B diff --git a/soc/silabs/exx32/efm32pg12b/Kconfig.defconfig b/soc/silabs/silabs_s1/efm32pg12b/Kconfig.defconfig similarity index 100% rename from soc/silabs/exx32/efm32pg12b/Kconfig.defconfig rename to soc/silabs/silabs_s1/efm32pg12b/Kconfig.defconfig diff --git a/soc/silabs/exx32/efm32pg12b/Kconfig.soc b/soc/silabs/silabs_s1/efm32pg12b/Kconfig.soc similarity index 94% rename from soc/silabs/exx32/efm32pg12b/Kconfig.soc rename to soc/silabs/silabs_s1/efm32pg12b/Kconfig.soc index 718ca4c2db98..1a8a70060451 100644 --- a/soc/silabs/exx32/efm32pg12b/Kconfig.soc +++ b/soc/silabs/silabs_s1/efm32pg12b/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFM32PG12B bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S1 help EFM32PG12B Series MCU diff --git a/soc/silabs/exx32/efm32pg12b/soc.h b/soc/silabs/silabs_s1/efm32pg12b/soc.h similarity index 100% rename from soc/silabs/exx32/efm32pg12b/soc.h rename to soc/silabs/silabs_s1/efm32pg12b/soc.h diff --git a/soc/silabs/exx32/efm32pg12b/soc_pinmap.h b/soc/silabs/silabs_s1/efm32pg12b/soc_pinmap.h similarity index 100% rename from soc/silabs/exx32/efm32pg12b/soc_pinmap.h rename to soc/silabs/silabs_s1/efm32pg12b/soc_pinmap.h diff --git a/soc/silabs/exx32/efm32pg1b/Kconfig b/soc/silabs/silabs_s1/efm32pg1b/Kconfig similarity index 88% rename from soc/silabs/exx32/efm32pg1b/Kconfig rename to soc/silabs/silabs_s1/efm32pg1b/Kconfig index 1b72d8d599ad..44596bb5d3c3 100644 --- a/soc/silabs/exx32/efm32pg1b/Kconfig +++ b/soc/silabs/silabs_s1/efm32pg1b/Kconfig @@ -17,4 +17,6 @@ config SOC_SERIES_EFM32PG1B select SOC_GECKO_EMU select SOC_GECKO_GPIO select HAS_PM - select SOC_GECKO_SERIES1 + +config SOC_GECKO_SDID + default 80 if SOC_SERIES_EFM32PG1B diff --git a/soc/silabs/exx32/efm32pg1b/Kconfig.defconfig b/soc/silabs/silabs_s1/efm32pg1b/Kconfig.defconfig similarity index 100% rename from soc/silabs/exx32/efm32pg1b/Kconfig.defconfig rename to soc/silabs/silabs_s1/efm32pg1b/Kconfig.defconfig diff --git a/soc/silabs/exx32/efm32pg1b/Kconfig.soc b/soc/silabs/silabs_s1/efm32pg1b/Kconfig.soc similarity index 94% rename from soc/silabs/exx32/efm32pg1b/Kconfig.soc rename to soc/silabs/silabs_s1/efm32pg1b/Kconfig.soc index e409ee0905a8..428c49847bdd 100644 --- a/soc/silabs/exx32/efm32pg1b/Kconfig.soc +++ b/soc/silabs/silabs_s1/efm32pg1b/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFM32PG1B bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S1 help EFM32PG1B Series MCU diff --git a/soc/silabs/exx32/efm32pg1b/soc.h b/soc/silabs/silabs_s1/efm32pg1b/soc.h similarity index 100% rename from soc/silabs/exx32/efm32pg1b/soc.h rename to soc/silabs/silabs_s1/efm32pg1b/soc.h diff --git a/soc/silabs/exx32/efm32pg1b/soc_pinmap.h b/soc/silabs/silabs_s1/efm32pg1b/soc_pinmap.h similarity index 100% rename from soc/silabs/exx32/efm32pg1b/soc_pinmap.h rename to soc/silabs/silabs_s1/efm32pg1b/soc_pinmap.h diff --git a/soc/silabs/exx32/efr32bg13p/Kconfig b/soc/silabs/silabs_s1/efr32bg13p/Kconfig similarity index 88% rename from soc/silabs/exx32/efr32bg13p/Kconfig rename to soc/silabs/silabs_s1/efr32bg13p/Kconfig index 72ecdc7a4496..041615668780 100644 --- a/soc/silabs/exx32/efr32bg13p/Kconfig +++ b/soc/silabs/silabs_s1/efr32bg13p/Kconfig @@ -17,4 +17,6 @@ config SOC_SERIES_EFR32BG13P select SOC_GECKO_EMU select SOC_GECKO_GPIO select HAS_PM - select SOC_GECKO_SERIES1 + +config SOC_GECKO_SDID + default 89 if SOC_SERIES_EFR32BG13P diff --git a/soc/silabs/exx32/efr32bg13p/Kconfig.defconfig b/soc/silabs/silabs_s1/efr32bg13p/Kconfig.defconfig similarity index 100% rename from soc/silabs/exx32/efr32bg13p/Kconfig.defconfig rename to soc/silabs/silabs_s1/efr32bg13p/Kconfig.defconfig diff --git a/soc/silabs/exx32/efr32bg13p/Kconfig.soc b/soc/silabs/silabs_s1/efr32bg13p/Kconfig.soc similarity index 94% rename from soc/silabs/exx32/efr32bg13p/Kconfig.soc rename to soc/silabs/silabs_s1/efr32bg13p/Kconfig.soc index 75b834093e7f..971e7932b95e 100644 --- a/soc/silabs/exx32/efr32bg13p/Kconfig.soc +++ b/soc/silabs/silabs_s1/efr32bg13p/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFR32BG13P bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S1 help EFR32BG13P Series MCU diff --git a/soc/silabs/exx32/efr32bg13p/soc.h b/soc/silabs/silabs_s1/efr32bg13p/soc.h similarity index 100% rename from soc/silabs/exx32/efr32bg13p/soc.h rename to soc/silabs/silabs_s1/efr32bg13p/soc.h diff --git a/soc/silabs/exx32/efr32bg13p/soc_pinmap.h b/soc/silabs/silabs_s1/efr32bg13p/soc_pinmap.h similarity index 100% rename from soc/silabs/exx32/efr32bg13p/soc_pinmap.h rename to soc/silabs/silabs_s1/efr32bg13p/soc_pinmap.h diff --git a/soc/silabs/exx32/efr32fg13p/Kconfig b/soc/silabs/silabs_s1/efr32fg13p/Kconfig similarity index 89% rename from soc/silabs/exx32/efr32fg13p/Kconfig rename to soc/silabs/silabs_s1/efr32fg13p/Kconfig index eb8c0b42bbab..9b68eb580660 100644 --- a/soc/silabs/exx32/efr32fg13p/Kconfig +++ b/soc/silabs/silabs_s1/efr32fg13p/Kconfig @@ -18,4 +18,6 @@ config SOC_SERIES_EFR32FG13P select SOC_GECKO_GPIO select SOC_GECKO_HAS_ERRATA_RTCC_E201 select HAS_PM - select SOC_GECKO_SERIES1 + +config SOC_GECKO_SDID + default 89 if SOC_SERIES_EFR32FG13P diff --git a/soc/silabs/exx32/efr32fg13p/Kconfig.defconfig b/soc/silabs/silabs_s1/efr32fg13p/Kconfig.defconfig similarity index 100% rename from soc/silabs/exx32/efr32fg13p/Kconfig.defconfig rename to soc/silabs/silabs_s1/efr32fg13p/Kconfig.defconfig diff --git a/soc/silabs/exx32/efr32fg13p/Kconfig.soc b/soc/silabs/silabs_s1/efr32fg13p/Kconfig.soc similarity index 94% rename from soc/silabs/exx32/efr32fg13p/Kconfig.soc rename to soc/silabs/silabs_s1/efr32fg13p/Kconfig.soc index 5c50513c5327..e65132a49e69 100644 --- a/soc/silabs/exx32/efr32fg13p/Kconfig.soc +++ b/soc/silabs/silabs_s1/efr32fg13p/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFR32FG13P bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S1 help EFR32FG13P Series MCU diff --git a/soc/silabs/exx32/efr32fg13p/soc.h b/soc/silabs/silabs_s1/efr32fg13p/soc.h similarity index 100% rename from soc/silabs/exx32/efr32fg13p/soc.h rename to soc/silabs/silabs_s1/efr32fg13p/soc.h diff --git a/soc/silabs/exx32/efr32fg13p/soc_pinmap.h b/soc/silabs/silabs_s1/efr32fg13p/soc_pinmap.h similarity index 100% rename from soc/silabs/exx32/efr32fg13p/soc_pinmap.h rename to soc/silabs/silabs_s1/efr32fg13p/soc_pinmap.h diff --git a/soc/silabs/exx32/efr32fg1p/Kconfig b/soc/silabs/silabs_s1/efr32fg1p/Kconfig similarity index 89% rename from soc/silabs/exx32/efr32fg1p/Kconfig rename to soc/silabs/silabs_s1/efr32fg1p/Kconfig index 16abcd502d20..19c8ef7af987 100644 --- a/soc/silabs/exx32/efr32fg1p/Kconfig +++ b/soc/silabs/silabs_s1/efr32fg1p/Kconfig @@ -18,4 +18,6 @@ config SOC_SERIES_EFR32FG1P select SOC_GECKO_GPIO select SOC_GECKO_HAS_ERRATA_RTCC_E201 select HAS_PM - select SOC_GECKO_SERIES1 + +config SOC_GECKO_SDID + default 80 if SOC_SERIES_EFR32FG1P diff --git a/soc/silabs/exx32/efr32fg1p/Kconfig.defconfig b/soc/silabs/silabs_s1/efr32fg1p/Kconfig.defconfig similarity index 100% rename from soc/silabs/exx32/efr32fg1p/Kconfig.defconfig rename to soc/silabs/silabs_s1/efr32fg1p/Kconfig.defconfig diff --git a/soc/silabs/exx32/efr32fg1p/Kconfig.soc b/soc/silabs/silabs_s1/efr32fg1p/Kconfig.soc similarity index 93% rename from soc/silabs/exx32/efr32fg1p/Kconfig.soc rename to soc/silabs/silabs_s1/efr32fg1p/Kconfig.soc index 7ef2a051dfdd..ed0f05860f79 100644 --- a/soc/silabs/exx32/efr32fg1p/Kconfig.soc +++ b/soc/silabs/silabs_s1/efr32fg1p/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFR32FG1P bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S1 help EFR32FG1P Series MCU diff --git a/soc/silabs/exx32/efr32fg1p/soc.h b/soc/silabs/silabs_s1/efr32fg1p/soc.h similarity index 100% rename from soc/silabs/exx32/efr32fg1p/soc.h rename to soc/silabs/silabs_s1/efr32fg1p/soc.h diff --git a/soc/silabs/exx32/efr32fg1p/soc_pinmap.h b/soc/silabs/silabs_s1/efr32fg1p/soc_pinmap.h similarity index 100% rename from soc/silabs/exx32/efr32fg1p/soc_pinmap.h rename to soc/silabs/silabs_s1/efr32fg1p/soc_pinmap.h diff --git a/soc/silabs/exx32/efr32mg12p/Kconfig b/soc/silabs/silabs_s1/efr32mg12p/Kconfig similarity index 89% rename from soc/silabs/exx32/efr32mg12p/Kconfig rename to soc/silabs/silabs_s1/efr32mg12p/Kconfig index 9ab997061dcd..cba1530dbf8a 100644 --- a/soc/silabs/exx32/efr32mg12p/Kconfig +++ b/soc/silabs/silabs_s1/efr32mg12p/Kconfig @@ -19,4 +19,6 @@ config SOC_SERIES_EFR32MG12P select SOC_GECKO_GPIO select SOC_GECKO_TRNG select HAS_PM - select SOC_GECKO_SERIES1 + +config SOC_GECKO_SDID + default 84 if SOC_SERIES_EFR32MG12P diff --git a/soc/silabs/exx32/efr32mg12p/Kconfig.defconfig b/soc/silabs/silabs_s1/efr32mg12p/Kconfig.defconfig similarity index 100% rename from soc/silabs/exx32/efr32mg12p/Kconfig.defconfig rename to soc/silabs/silabs_s1/efr32mg12p/Kconfig.defconfig diff --git a/soc/silabs/exx32/efr32mg12p/Kconfig.soc b/soc/silabs/silabs_s1/efr32mg12p/Kconfig.soc similarity index 96% rename from soc/silabs/exx32/efr32mg12p/Kconfig.soc rename to soc/silabs/silabs_s1/efr32mg12p/Kconfig.soc index c5d244c504c6..61890df2ccf3 100644 --- a/soc/silabs/exx32/efr32mg12p/Kconfig.soc +++ b/soc/silabs/silabs_s1/efr32mg12p/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFR32MG12P bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S1 help EFR32MG12P Series MCU diff --git a/soc/silabs/exx32/efr32mg12p/soc.h b/soc/silabs/silabs_s1/efr32mg12p/soc.h similarity index 100% rename from soc/silabs/exx32/efr32mg12p/soc.h rename to soc/silabs/silabs_s1/efr32mg12p/soc.h diff --git a/soc/silabs/exx32/efr32mg12p/soc_pinmap.h b/soc/silabs/silabs_s1/efr32mg12p/soc_pinmap.h similarity index 100% rename from soc/silabs/exx32/efr32mg12p/soc_pinmap.h rename to soc/silabs/silabs_s1/efr32mg12p/soc_pinmap.h diff --git a/soc/silabs/silabs_s2/Kconfig.soc b/soc/silabs/silabs_s2/Kconfig.soc new file mode 100644 index 000000000000..c8926b83e6ee --- /dev/null +++ b/soc/silabs/silabs_s2/Kconfig.soc @@ -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" diff --git a/soc/silabs/exx32/efr32bg22/Kconfig b/soc/silabs/silabs_s2/efr32bg22/Kconfig similarity index 89% rename from soc/silabs/exx32/efr32bg22/Kconfig rename to soc/silabs/silabs_s2/efr32bg22/Kconfig index 80ff509334f4..75747fd76aa2 100644 --- a/soc/silabs/exx32/efr32bg22/Kconfig +++ b/soc/silabs/silabs_s2/efr32bg22/Kconfig @@ -14,10 +14,12 @@ config SOC_SERIES_EFR32BG22 select HAS_SILABS_GECKO select HAS_SWO select SOC_GECKO_HAS_RADIO - select SOC_GECKO_SERIES2 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_GECKO_SDID + default 205 if SOC_SERIES_EFR32BG22 diff --git a/soc/silabs/exx32/efr32bg22/Kconfig.defconfig b/soc/silabs/silabs_s2/efr32bg22/Kconfig.defconfig similarity index 89% rename from soc/silabs/exx32/efr32bg22/Kconfig.defconfig rename to soc/silabs/silabs_s2/efr32bg22/Kconfig.defconfig index 0e04ecf6ff56..d0cdff43ea65 100644 --- a/soc/silabs/exx32/efr32bg22/Kconfig.defconfig +++ b/soc/silabs/silabs_s2/efr32bg22/Kconfig.defconfig @@ -13,6 +13,7 @@ config PM select COUNTER select UART_INTERRUPT_DRIVEN -rsource "Kconfig.defconfig.efr32bg22" +config GPIO_GECKO + default y endif # SOC_SERIES_EFR32BG22 diff --git a/soc/silabs/exx32/efr32bg22/Kconfig.soc b/soc/silabs/silabs_s2/efr32bg22/Kconfig.soc similarity index 94% rename from soc/silabs/exx32/efr32bg22/Kconfig.soc rename to soc/silabs/silabs_s2/efr32bg22/Kconfig.soc index 7f60c3c07953..5625510eccbc 100644 --- a/soc/silabs/exx32/efr32bg22/Kconfig.soc +++ b/soc/silabs/silabs_s2/efr32bg22/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFR32BG22 bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S2 help EFR32BG22P Series MCU diff --git a/soc/silabs/exx32/efr32bg22/soc.h b/soc/silabs/silabs_s2/efr32bg22/soc.h similarity index 100% rename from soc/silabs/exx32/efr32bg22/soc.h rename to soc/silabs/silabs_s2/efr32bg22/soc.h diff --git a/soc/silabs/exx32/efr32bg27/Kconfig b/soc/silabs/silabs_s2/efr32bg27/Kconfig similarity index 89% rename from soc/silabs/exx32/efr32bg27/Kconfig rename to soc/silabs/silabs_s2/efr32bg27/Kconfig index 2ce12d8e94d1..69825f9b5392 100644 --- a/soc/silabs/exx32/efr32bg27/Kconfig +++ b/soc/silabs/silabs_s2/efr32bg27/Kconfig @@ -14,9 +14,11 @@ config SOC_SERIES_EFR32BG27 select HAS_SILABS_GECKO select HAS_SWO select SOC_GECKO_HAS_RADIO - select SOC_GECKO_SERIES2 select SOC_GECKO_CMU select SOC_GECKO_CORE select SOC_GECKO_DEV_INIT select SOC_GECKO_SE select HAS_PM + +config SOC_GECKO_SDID + default 230 if SOC_SERIES_EFR32BG27 diff --git a/soc/silabs/exx32/efr32bg27/Kconfig.defconfig b/soc/silabs/silabs_s2/efr32bg27/Kconfig.defconfig similarity index 89% rename from soc/silabs/exx32/efr32bg27/Kconfig.defconfig rename to soc/silabs/silabs_s2/efr32bg27/Kconfig.defconfig index a8fe4e41aaf6..a997408c74e5 100644 --- a/soc/silabs/exx32/efr32bg27/Kconfig.defconfig +++ b/soc/silabs/silabs_s2/efr32bg27/Kconfig.defconfig @@ -12,6 +12,7 @@ config NUM_IRQS config PM select COUNTER -rsource "Kconfig.defconfig.efr32bg27" +config GPIO_GECKO + default y endif # SOC_SERIES_EFR32BG27 diff --git a/soc/silabs/exx32/efr32bg27/Kconfig.soc b/soc/silabs/silabs_s2/efr32bg27/Kconfig.soc similarity index 94% rename from soc/silabs/exx32/efr32bg27/Kconfig.soc rename to soc/silabs/silabs_s2/efr32bg27/Kconfig.soc index 30be63328811..33998241d5ae 100644 --- a/soc/silabs/exx32/efr32bg27/Kconfig.soc +++ b/soc/silabs/silabs_s2/efr32bg27/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFR32BG27 bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S2 help EFR32BG27 Series MCU diff --git a/soc/silabs/exx32/efr32bg27/soc.h b/soc/silabs/silabs_s2/efr32bg27/soc.h similarity index 100% rename from soc/silabs/exx32/efr32bg27/soc.h rename to soc/silabs/silabs_s2/efr32bg27/soc.h diff --git a/soc/silabs/exx32/efr32mg21/Kconfig b/soc/silabs/silabs_s2/efr32mg21/Kconfig similarity index 88% rename from soc/silabs/exx32/efr32mg21/Kconfig rename to soc/silabs/silabs_s2/efr32mg21/Kconfig index 5147d1e8ede5..e63182b6efa1 100644 --- a/soc/silabs/exx32/efr32mg21/Kconfig +++ b/soc/silabs/silabs_s2/efr32mg21/Kconfig @@ -12,7 +12,6 @@ config SOC_SERIES_EFR32MG21 select CPU_HAS_ARM_MPU select CPU_HAS_ARM_SAU select SOC_GECKO_HAS_RADIO - select SOC_GECKO_SERIES2 select HAS_SILABS_GECKO select HAS_SWO select SOC_GECKO_CMU @@ -20,3 +19,6 @@ config SOC_SERIES_EFR32MG21 select SOC_GECKO_GPIO select SOC_GECKO_SE select HAS_PM + +config SOC_GECKO_SDID + default 200 if SOC_SERIES_EFR32MG21 diff --git a/soc/silabs/exx32/efr32mg21/Kconfig.defconfig b/soc/silabs/silabs_s2/efr32mg21/Kconfig.defconfig similarity index 81% rename from soc/silabs/exx32/efr32mg21/Kconfig.defconfig rename to soc/silabs/silabs_s2/efr32mg21/Kconfig.defconfig index 139e883238ad..76555bbaa1c9 100644 --- a/soc/silabs/exx32/efr32mg21/Kconfig.defconfig +++ b/soc/silabs/silabs_s2/efr32mg21/Kconfig.defconfig @@ -10,6 +10,8 @@ config NUM_IRQS # must be >= the highest interrupt number used default 61 -rsource "Kconfig.defconfig.efr32mg21" +config GPIO_GECKO + default y + depends on GPIO || LOG_BACKEND_SWO endif # SOC_SERIES_EFR32MG21 diff --git a/soc/silabs/exx32/efr32mg21/Kconfig.soc b/soc/silabs/silabs_s2/efr32mg21/Kconfig.soc similarity index 94% rename from soc/silabs/exx32/efr32mg21/Kconfig.soc rename to soc/silabs/silabs_s2/efr32mg21/Kconfig.soc index 98198f1994dc..abdfaf796259 100644 --- a/soc/silabs/exx32/efr32mg21/Kconfig.soc +++ b/soc/silabs/silabs_s2/efr32mg21/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFR32MG21 bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S2 help EFR32MG21 Series MCU diff --git a/soc/silabs/exx32/efr32mg21/soc.h b/soc/silabs/silabs_s2/efr32mg21/soc.h similarity index 67% rename from soc/silabs/exx32/efr32mg21/soc.h rename to soc/silabs/silabs_s2/efr32mg21/soc.h index 16117e9e62eb..90b93a0acd14 100644 --- a/soc/silabs/exx32/efr32mg21/soc.h +++ b/soc/silabs/silabs_s2/efr32mg21/soc.h @@ -10,8 +10,8 @@ * */ -#ifndef ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG21_SOC_H -#define ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG21_SOC_H +#ifndef _SILABS_EFR32MG21_SOC_H +#define _SILABS_EFR32MG21_SOC_H #include @@ -25,4 +25,4 @@ #endif /* !_ASMLANGUAGE */ -#endif /* ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG21_SOC_H */ +#endif /* _SILABS_EFR32MG21_SOC_H */ diff --git a/soc/silabs/exx32/efr32mg21/soc_pinmap.h b/soc/silabs/silabs_s2/efr32mg21/soc_pinmap.h similarity index 69% rename from soc/silabs/exx32/efr32mg21/soc_pinmap.h rename to soc/silabs/silabs_s2/efr32mg21/soc_pinmap.h index 3ebef365a324..1f38208d0d34 100644 --- a/soc/silabs/exx32/efr32mg21/soc_pinmap.h +++ b/soc/silabs/silabs_s2/efr32mg21/soc_pinmap.h @@ -10,8 +10,8 @@ * modules to correctly configure GPIO controller. */ -#ifndef ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG21_SOC_PINMAP_H_ -#define ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG21_SOC_PINMAP_H_ +#ifndef _SILABS_EFR32MG21_SOC_PINMAP_H_ +#define _SILABS_EFR32MG21_SOC_PINMAP_H_ #include @@ -19,4 +19,4 @@ #define PIN_SWO { gpioPortA, 3, gpioModePushPull, 1 } #endif /* CONFIG_LOG_BACKEND_SWO */ -#endif /* ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG21_SOC_PINMAP_H_ */ +#endif /* _SILABS_EFR32MG21_SOC_PINMAP_H_ */ diff --git a/soc/silabs/exx32/efr32mg24/Kconfig b/soc/silabs/silabs_s2/efr32mg24/Kconfig similarity index 89% rename from soc/silabs/exx32/efr32mg24/Kconfig rename to soc/silabs/silabs_s2/efr32mg24/Kconfig index b5d0853458ab..eb8c1ea66736 100644 --- a/soc/silabs/exx32/efr32mg24/Kconfig +++ b/soc/silabs/silabs_s2/efr32mg24/Kconfig @@ -13,7 +13,6 @@ config SOC_SERIES_EFR32MG24 select ARMV8_M_DSP select ARM_TRUSTZONE_M select SOC_GECKO_HAS_RADIO - select SOC_GECKO_SERIES2 select HAS_SILABS_GECKO select HAS_SWO select SOC_GECKO_CMU @@ -22,3 +21,6 @@ config SOC_SERIES_EFR32MG24 select SOC_GECKO_DEV_INIT select SOC_GECKO_SE select HAS_PM + +config SOC_GECKO_SDID + default 215 if SOC_SERIES_EFR32MG24 diff --git a/soc/silabs/exx32/efr32mg24/Kconfig.defconfig b/soc/silabs/silabs_s2/efr32mg24/Kconfig.defconfig similarity index 100% rename from soc/silabs/exx32/efr32mg24/Kconfig.defconfig rename to soc/silabs/silabs_s2/efr32mg24/Kconfig.defconfig diff --git a/soc/silabs/exx32/efr32mg24/Kconfig.soc b/soc/silabs/silabs_s2/efr32mg24/Kconfig.soc similarity index 95% rename from soc/silabs/exx32/efr32mg24/Kconfig.soc rename to soc/silabs/silabs_s2/efr32mg24/Kconfig.soc index 3a6bc7b62ac4..ae2cd2f26fbf 100644 --- a/soc/silabs/exx32/efr32mg24/Kconfig.soc +++ b/soc/silabs/silabs_s2/efr32mg24/Kconfig.soc @@ -5,7 +5,7 @@ config SOC_SERIES_EFR32MG24 bool - select SOC_FAMILY_SILABS_EXX32 + select SOC_FAMILY_SILABS_S2 help EFR32MG24 Series MCU diff --git a/soc/silabs/exx32/efr32mg24/soc.h b/soc/silabs/silabs_s2/efr32mg24/soc.h similarity index 71% rename from soc/silabs/exx32/efr32mg24/soc.h rename to soc/silabs/silabs_s2/efr32mg24/soc.h index a2fd5478c274..210526c11099 100644 --- a/soc/silabs/exx32/efr32mg24/soc.h +++ b/soc/silabs/silabs_s2/efr32mg24/soc.h @@ -10,8 +10,8 @@ * */ -#ifndef ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG24_SOC_H -#define ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG24_SOC_H +#ifndef _SILABS_EFR32MG24_SOC_H +#define _SILABS_EFR32MG24_SOC_H #include @@ -27,4 +27,4 @@ #endif /* !_ASMLANGUAGE */ -#endif /* ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG24_SOC_H */ +#endif /* _SILABS_EFR32MG24_SOC_H */ diff --git a/soc/silabs/exx32/efr32mg24/soc_pinmap.h b/soc/silabs/silabs_s2/efr32mg24/soc_pinmap.h similarity index 69% rename from soc/silabs/exx32/efr32mg24/soc_pinmap.h rename to soc/silabs/silabs_s2/efr32mg24/soc_pinmap.h index 6961aeba60da..37c1924599fa 100644 --- a/soc/silabs/exx32/efr32mg24/soc_pinmap.h +++ b/soc/silabs/silabs_s2/efr32mg24/soc_pinmap.h @@ -10,8 +10,8 @@ * modules to correctly configure GPIO controller. */ -#ifndef ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG24_SOC_PINMAP_H_ -#define ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG24_SOC_PINMAP_H_ +#ifndef _SILABS_EFR32MG24_SOC_PINMAP_H_ +#define _SILABS_EFR32MG24_SOC_PINMAP_H_ #include @@ -19,4 +19,4 @@ #define PIN_SWO { gpioPortA, 3, gpioModePushPull, 1 } #endif /* CONFIG_LOG_BACKEND_SWO */ -#endif /* ZEPHYR_SOC_ARM_SILABS_EXX32_EFR32MG24_SOC_PINMAP_H_ */ +#endif /* _SILABS_EFR32MG24_SOC_PINMAP_H_ */ diff --git a/soc/silabs/exx32/soc.yml b/soc/silabs/soc.yml similarity index 94% rename from soc/silabs/exx32/soc.yml rename to soc/silabs/soc.yml index 6875c1c96123..d6b2cc7866ae 100644 --- a/soc/silabs/exx32/soc.yml +++ b/soc/silabs/soc.yml @@ -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 + - name: efm32jg12b socs: - - name: efr32mg21a020f1024im32 - - name: efm32hg + - name: efm32jg12b500f1024gl125 + - name: efr32mg12p socs: - - name: efm32hg322f64 - - name: efm32pg1b + - name: efr32mg12p332f1024gl125 + - name: efr32mg12p432f1024gl125 + - name: efr32mg12p433f1024gm68 + - name: efm32gg11b socs: - - name: efm32pg1b200f256gm48 + - name: efm32gg11b820f2048gl192 + - name: efm32gg11b820f2048gm64 + - name: efm32gg12b + socs: + - name: efm32gg12b810f1024gm64 + - name: silabs_s2 + series: + - name: efr32mg21 + socs: + - name: efr32mg21a020f1024im32 - 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 diff --git a/west.yml b/west.yml index d0b872f121cc..6546ddc4579e 100644 --- a/west.yml +++ b/west.yml @@ -223,7 +223,7 @@ manifest: groups: - hal - name: hal_silabs - revision: pull/58/head + revision: pull/59/head path: modules/hal/silabs groups: - hal