217 lines
5.5 KiB
Plaintext
217 lines
5.5 KiB
Plaintext
# Copyright (c) 2017 Christian Taedcke
|
|
# Copyright (c) 2018 Gil Benkoe
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config SOC_FAMILY_EXX32
|
|
bool
|
|
select HAS_SEGGER_RTT
|
|
select BUILD_OUTPUT_HEX
|
|
|
|
if SOC_FAMILY_EXX32
|
|
config SOC_FAMILY
|
|
string
|
|
default "silabs_exx32"
|
|
|
|
source "soc/arm/silabs_exx32/*/Kconfig.soc"
|
|
|
|
config SOC_PART_NUMBER
|
|
string
|
|
help
|
|
This string holds the full part number of the SoC. It is a hidden option
|
|
that you should not set directly. The part number selection choice defines
|
|
the default value for this string.
|
|
|
|
config SOC_GECKO_CORE
|
|
bool
|
|
default y
|
|
help
|
|
Set if the Core interrupt handling (CORE) 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_SE
|
|
bool
|
|
help
|
|
Set if the Secure Element (SE) 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_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.
|
|
|
|
config SOC_GECKO_EMU_DCDC
|
|
bool "Enable SoC DC/DC regulator"
|
|
select SOC_GECKO_EMU
|
|
help
|
|
Enable the on chip DC/DC regulator
|
|
|
|
choice SOC_GECKO_EMU_DCDC_MODE
|
|
prompt "DC/DC mode"
|
|
depends on SOC_GECKO_EMU_DCDC
|
|
help
|
|
Select power configuration mode of the on chip DC/DC converter.
|
|
|
|
config SOC_GECKO_EMU_DCDC_MODE_UNCONFIGURED
|
|
bool "Initial / Unconfigured"
|
|
|
|
config SOC_GECKO_EMU_DCDC_MODE_ON
|
|
bool "DC/DC On"
|
|
|
|
config SOC_GECKO_EMU_DCDC_MODE_OFF
|
|
bool "DC/DC Off"
|
|
|
|
config SOC_GECKO_EMU_DCDC_MODE_BYPASS
|
|
bool "Bypass"
|
|
endchoice
|
|
|
|
config SOC_GECKO_CMU
|
|
bool
|
|
help
|
|
Set if the clock management unit (CMU) is present in the SoC.
|
|
|
|
if SOC_GECKO_CMU
|
|
|
|
choice
|
|
prompt "High Frequency Clock Selection"
|
|
default CMU_HFCLK_HFXO
|
|
|
|
config CMU_HFCLK_HFXO
|
|
bool "External high frequency crystal oscillator"
|
|
help
|
|
Set this option to use the external high frequency crystal oscillator
|
|
as high frequency clock.
|
|
|
|
config CMU_HFCLK_LFXO
|
|
bool "External low frequency crystal oscillator"
|
|
help
|
|
Set this option to use the external low frequency crystal oscillator
|
|
as high frequency clock.
|
|
|
|
config CMU_HFCLK_HFRCO
|
|
bool "Internal high frequency RC oscillator"
|
|
help
|
|
Set this option to use the internal high frequency RC oscillator as high frequency clock.
|
|
|
|
endchoice
|
|
|
|
config CMU_HFXO_FREQ
|
|
int "External high frequency oscillator frequency"
|
|
help
|
|
Set the external high frequency oscillator frequency in Hz. This should be set by the
|
|
board's defconfig.
|
|
|
|
config CMU_LFXO_FREQ
|
|
int "External low frequency oscillator frequency"
|
|
help
|
|
Set the external low frequency oscillator frequency in Hz. This should be set by the
|
|
board's defconfig.
|
|
|
|
config CMU_HFRCO_FREQ
|
|
int "Internal high frequency RC oscillator frequency"
|
|
default 0
|
|
depends on SOC_GECKO_HAS_HFRCO_FREQRANGE
|
|
help
|
|
Set the internal high frequency RC oscillator frequency in Hz. This should be set by the
|
|
board's defconfig. Only supported values may be used here. Setting this to 0, skips the
|
|
configuration of the high frequency RC oscillator completely. This may be desired, if
|
|
the bootloader already configured it properly or the device's default clock source should
|
|
be used with it's default configuration.
|
|
|
|
endif # SOC_GECKO_CMU
|
|
|
|
config SOC_GECKO_HAS_INDIVIDUAL_PIN_LOCATION
|
|
bool
|
|
help
|
|
If enabled, indicates that SoC allows to configure individual pin
|
|
locations. This is supported by e.g. efr32fg1p, efr32mg12p series.
|
|
If disabled, indicates that pin locations are configured in groups.
|
|
This is supported by e.g. efm32hg, efm32wg series.
|
|
|
|
config SOC_GECKO_HAS_ERRATA_RTCC_E201
|
|
bool
|
|
help
|
|
Set if the SoC is affected by errata RTCC_E201:
|
|
"When the RTCC is configured with a prescaler, the CCV1 top value enable
|
|
feature enabled by setting CCV1TOP in RTCC_CTRL fails to wrap the counter
|
|
when RTCC_CNT is equal to RTCC_CC1_CCV, as intended."
|
|
|
|
config SOC_GECKO_HAS_HFRCO_FREQRANGE
|
|
bool
|
|
help
|
|
If enabled, indicates that configuration of HFRCO frequency for this SOC is supported
|
|
via FREQRANGE field. This is supported for e.g. efr32fg1p, efr32mg12p series.
|
|
If disabled, indicates that configuration of HFRCO frequency for corresponding SOC
|
|
is not supported via this field. This is the case for e.g. efm32hg, efm32wg series.
|
|
|
|
endif # SOC_FAMILY_EXX32
|