Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions boards/silabs/dev_kits/sltb010a/sltb010a_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,4 @@ CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_GPIO=y
CONFIG_SOC_GECKO_EMU_DCDC=y
CONFIG_SOC_GECKO_EMU_DCDC_MODE_ON=y
CONFIG_HW_STACK_PROTECTION=y
2 changes: 0 additions & 2 deletions boards/silabs/dev_kits/xg24_dk2601b/xg24_dk2601b_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,3 @@ CONFIG_SERIAL=y
CONFIG_GPIO=y
CONFIG_HW_STACK_PROTECTION=y
CONFIG_REGULATOR=y
CONFIG_SOC_GECKO_EMU_DCDC=y
CONFIG_SOC_GECKO_EMU_DCDC_MODE_ON=y
2 changes: 0 additions & 2 deletions boards/silabs/dev_kits/xg24_ek2703a/xg24_ek2703a_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,3 @@ CONFIG_SERIAL=y
CONFIG_GPIO=y
CONFIG_HW_STACK_PROTECTION=y
CONFIG_REGULATOR=y
CONFIG_SOC_GECKO_EMU_DCDC=y
CONFIG_SOC_GECKO_EMU_DCDC_MODE_ON=y
2 changes: 0 additions & 2 deletions boards/silabs/dev_kits/xg27_dk2602a/xg27_dk2602a_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,4 @@ CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_GPIO=y
CONFIG_SOC_GECKO_EMU_DCDC=y
CONFIG_SOC_GECKO_EMU_DCDC_MODE_ON=y
CONFIG_HW_STACK_PROTECTION=y
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,3 @@ CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_GPIO=y
CONFIG_SOC_GECKO_EMU_DCDC=y
CONFIG_SOC_GECKO_EMU_DCDC_MODE_ON=y
1 change: 0 additions & 1 deletion drivers/bluetooth/hci/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,6 @@ config BT_SILABS_EFR32
default y
depends on DT_HAS_SILABS_BT_HCI_EFR32_ENABLED
depends on ZEPHYR_HAL_SILABS_MODULE_BLOBS || BUILD_ONLY_NO_BLOBS
depends on !PM || SOC_GECKO_PM_BACKEND_PMGR
depends on SOC_GECKO_HAS_RADIO
select SOC_GECKO_USE_RAIL
select PSA_CRYPTO
Expand Down
1 change: 1 addition & 0 deletions drivers/clock_control/Kconfig.silabs
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ config CLOCK_CONTROL_SILABS_SERIES
bool "Silicon Labs Series 2+ clock control driver"
default y
depends on DT_HAS_SILABS_SERIES_CLOCK_ENABLED
select SILABS_SISDK_CLOCK_MANAGER
help
Enable Silicon Labs Series 2+ Clock Management Unit clock control driver.
2 changes: 1 addition & 1 deletion drivers/comparator/Kconfig.silabs_acmp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ config COMPARATOR_SILABS_ACMP
default y
depends on DT_HAS_SILABS_ACMP_ENABLED
select PINCTRL
select SOC_SILABS_ACMP
select SILABS_SISDK_ACMP
help
Enable the comparator driver for the Analog Comparator hardware block
present on Silicon Labs devices. This block is commonly used to
Expand Down
2 changes: 1 addition & 1 deletion drivers/counter/Kconfig.gecko
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ config COUNTER_GECKO_STIMER
bool "Silicon Labs Gecko Counter Sleep Timer driver"
default y
depends on DT_HAS_SILABS_GECKO_STIMER_ENABLED
select SOC_SILABS_SLEEPTIMER
select SILABS_SISDK_SLEEPTIMER
help
Enable the counter driver for Sleep Timer module for Silicon Labs
Gecko chips.
2 changes: 1 addition & 1 deletion drivers/dma/Kconfig.silabs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ config DMA_SILABS_LDMA
bool "Silabs DMA driver"
default y
select SYS_MEM_BLOCKS
select SOC_GECKO_LDMA
select SILABS_SISDK_LDMA
depends on DT_HAS_SILABS_LDMA_ENABLED
help
Driver for Silabs DMA.
Expand Down
1 change: 1 addition & 0 deletions drivers/entropy/Kconfig.gecko
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ config ENTROPY_GECKO_SE
default y
depends on DT_HAS_SILABS_GECKO_SEMAILBOX_ENABLED
select ENTROPY_HAS_DRIVER
select SILABS_SISDK_SE
help
This option enables the true random number generator
driver based on the Secure Element (SE) module.
2 changes: 1 addition & 1 deletion drivers/flash/Kconfig.silabs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ config SOC_FLASH_SILABS_S2
depends on DT_HAS_SILABS_SERIES2_FLASH_CONTROLLER_ENABLED
select FLASH_HAS_DRIVER_ENABLED
select FLASH_HAS_PAGE_LAYOUT
select SOC_GECKO_MSC
select SILABS_SISDK_MSC
select FLASH_HAS_EXPLICIT_ERASE
select MPU_ALLOW_FLASH_WRITE if ARM_MPU
help
Expand Down
6 changes: 0 additions & 6 deletions drivers/gpio/gpio_gecko.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@
#include <zephyr/sys/util.h>
#include <soc.h>
#include <em_gpio.h>
#ifdef CONFIG_SOC_GECKO_DEV_INIT
#include <em_cmu.h>
#endif

#include <zephyr/drivers/gpio/gpio_utils.h>

Expand Down Expand Up @@ -391,9 +388,6 @@ DEVICE_DT_DEFINE(DT_INST(0, silabs_gecko_gpio),

static int gpio_gecko_common_init(const struct device *dev)
{
#ifdef CONFIG_SOC_GECKO_DEV_INIT
CMU_ClockEnable(cmuClock_GPIO, true);
#endif
gpio_gecko_common_data.count = 0;
IRQ_CONNECT(GPIO_EVEN_IRQn,
DT_IRQ_BY_NAME(DT_INST(0, silabs_gecko_gpio), gpio_even, priority),
Expand Down
2 changes: 1 addition & 1 deletion drivers/hwinfo/Kconfig.silabs_series2
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ config HWINFO_SILABS_S2
default y
depends on SOC_FAMILY_SILABS_S2
select HWINFO_HAS_DRIVER
select SOC_GECKO_RMU
select SILABS_SISDK_RMU
help
Enable Silabs Series 2 hwinfo driver.
2 changes: 1 addition & 1 deletion drivers/serial/Kconfig.silabs_eusart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ config UART_SILABS_EUSART
depends on DT_HAS_SILABS_EUSART_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
select SOC_GECKO_EUSART
select SILABS_SISDK_EUSART
select SERIAL_SUPPORT_ASYNC \
if DT_HAS_SILABS_LDMA_ENABLED
select DMA if UART_ASYNC_API
Expand Down
2 changes: 1 addition & 1 deletion drivers/serial/Kconfig.silabs_usart
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ config UART_SILABS_USART
depends on DT_HAS_SILABS_USART_UART_ENABLED
select SERIAL_HAS_DRIVER
select SERIAL_SUPPORT_INTERRUPT
select SOC_GECKO_USART
select SILABS_SISDK_USART
select SERIAL_SUPPORT_ASYNC \
if DT_HAS_SILABS_LDMA_ENABLED
select DMA if UART_ASYNC_API
Expand Down
2 changes: 1 addition & 1 deletion drivers/spi/Kconfig.silabs_eusart
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ config SPI_SILABS_EUSART
default y
depends on DT_HAS_SILABS_EUSART_SPI_ENABLED
depends on GPIO
select SOC_GECKO_EUSART
select SILABS_SISDK_EUSART
select PINCTRL if SOC_FAMILY_SILABS_S2
help
Enable the EUSART SPI driver
Expand Down
3 changes: 2 additions & 1 deletion drivers/spi/Kconfig.silabs_usart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ config SPI_SILABS_USART
default y
depends on DT_HAS_SILABS_USART_SPI_ENABLED
depends on GPIO
select SOC_GECKO_USART
select SOC_GECKO_USART if SOC_FAMILY_SILABS_S0 || SOC_FAMILY_SILABS_S1
select SILABS_SISDK_USART if SOC_FAMILY_SILABS_S2
select CLOCK_CONTROL_SILABS_SERIES if SOC_FAMILY_SILABS_S2
select PINCTRL if SOC_FAMILY_SILABS_S2
help
Expand Down
2 changes: 1 addition & 1 deletion drivers/timer/Kconfig.gecko
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ config GECKO_BURTC_TIMER
bool "SiLabs Gecko BURTC system clock driver"
depends on SOC_FAMILY_SILABS_S2
depends on DT_HAS_SILABS_GECKO_BURTC_ENABLED
select SOC_GECKO_BURTC
select SILABS_SISDK_BURTC
select TICKLESS_CAPABLE
select TIMER_READS_ITS_FREQUENCY_AT_RUNTIME
help
Expand Down
2 changes: 1 addition & 1 deletion drivers/timer/Kconfig.silabs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ config SILABS_SLEEPTIMER_TIMER
bool "Silabs Sleeptimer system clock driver"
depends on SOC_FAMILY_SILABS_S2 || SOC_FAMILY_SILABS_SIWX91X
depends on DT_HAS_SILABS_GECKO_STIMER_ENABLED
select SOC_SILABS_SLEEPTIMER
select SILABS_SISDK_SLEEPTIMER
select TICKLESS_CAPABLE
select TIMER_READS_ITS_FREQUENCY_AT_RUNTIME
help
Expand Down
3 changes: 2 additions & 1 deletion drivers/watchdog/Kconfig.gecko
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ config WDT_GECKO
default y
depends on DT_HAS_SILABS_GECKO_WDOG_ENABLED
select HAS_WDT_DISABLE_AT_BOOT
select SOC_GECKO_WDOG
select SOC_GECKO_WDOG if SOC_FAMILY_SILABS_S0 || SOC_FAMILY_SILABS_S1
select SILABS_SISDK_WDOG if SOC_FAMILY_SILABS_S2
help
Enable WDOG driver for Silicon Labs Gecko MCUs.
104 changes: 104 additions & 0 deletions modules/hal_silabs/gecko/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,108 @@ config SILABS_GECKO_RAIL_MULTIPROTOCOL
coexistence and arbitration between multiple wireless protocols (for
example, Bluetooth LE and a proprietary 2.4 GHz stack) on Gecko SoCs.

config SOC_GECKO_CMU
bool
help
Set if the clock management unit (CMU) HAL module is used.

config SOC_GECKO_BURTC
bool
help
Set if the Back-Up Real Time Counter (BURTC) HAL module is used.

config SOC_GECKO_CORE
bool
default y
help
Set if the Core interrupt handling (CORE) HAL module is used.

config SOC_GECKO_ADC
bool
help
Set if the Analog to Digital Converter (ADC) HAL module is used.

config SOC_GECKO_CRYOTIMER
bool
help
Set if the Ultra Low Energy Timer/Counter (CRYOTIMER) HAL module is used.

config SOC_GECKO_EMU
bool
help
Set if the Energy Management Unit (EMU) HAL module is used.

config SOC_GECKO_GPIO
bool
help
Set if the General Purpose Input/Output (GPIO) HAL module is used.

config SOC_GECKO_I2C
bool
help
Set if the Inter-Integrated Circuit Interface (I2C) HAL module is used.

config SOC_GECKO_LETIMER
bool
help
Set if the Low Energy Timer (LETIMER) HAL module is used.

config SOC_GECKO_LEUART
bool
help
Set if the Low Energy Universal Asynchronous Receiver/Transmitter (LEUART)
HAL module is used.

config SOC_GECKO_MSC
bool
help
Set if the Memory System Controller (MSC) HAL module is used.

config SOC_GECKO_PRS
bool
help
Set if the Peripheral Reflex System (PRS) HAL module is used.

config SOC_GECKO_RMU
bool
help
Set if the Reset Management Unit (RMU) HAL module is used.

config SOC_GECKO_RTC
bool
help
Set if the Real Time Counter (RTC) HAL module is used.

config SOC_GECKO_RTCC
bool
help
Set if the Real Time Counter and Calendar (RTCC) HAL module is used.

config SOC_GECKO_TIMER
bool
help
Set if the Timer/Counter (TIMER) HAL module is used.

config SOC_GECKO_USART
bool
help
Set if the Universal Synchronous Asynchronous Receiver/Transmitter (USART)
HAL module is used.

config SOC_GECKO_EUSART
bool
help
Set if the Extended Universal Synchronous Asynchronous Receiver/Transmitter (EUSART)
HAL module is used.

config SOC_GECKO_WDOG
bool
help
Set if the Watchdog Timer (WDOG) HAL module is used.

config SOC_GECKO_TRNG
bool
help
Set if the SoC has a True Random Number Generator (TRNG) module.

endmenu
Loading