| # 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 "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 |