diff --git a/cpu/kinetis/Kconfig b/cpu/kinetis/Kconfig index 85cfac3622..0a867907fc 100644 --- a/cpu/kinetis/Kconfig +++ b/cpu/kinetis/Kconfig @@ -12,6 +12,15 @@ config CPU_COMMON_KINETIS select HAS_PERIPH_GPIO_IRQ select HAS_PERIPH_PM + # enable kinetis periph drivers if available + imply MODULE_PERIPH_ICS + imply MODULE_PERIPH_MCG + imply MODULE_PERIPH_MCG_LITE + imply MODULE_PERIPH_WDOG + + select MODULE_CORE_THREAD_FLAGS if MODULE_PERIPH_I2C + select MODULE_PERIPH_TIMER if MODULE_PERIPH_RTT && HAS_PERIPH_TIMER + config CPU_FAM_EA bool select CPU_COMMON_KINETIS @@ -162,3 +171,5 @@ config CPU default "kinetis" if CPU_COMMON_KINETIS source "$(RIOTCPU)/cortexm_common/Kconfig" + +rsource "periph/Kconfig" diff --git a/cpu/kinetis/Makefile.features b/cpu/kinetis/Makefile.features index 33484b682f..c8735849a5 100644 --- a/cpu/kinetis/Makefile.features +++ b/cpu/kinetis/Makefile.features @@ -33,3 +33,9 @@ else endif include $(RIOTCPU)/cortexm_common/Makefile.features + +# This configuration enables modules that are only available when using Kconfig +# module modelling +ifeq (1, $(TEST_KCONFIG)) + KCONFIG_ADD_CONFIG += $(RIOTCPU)/kinetis/kinetis.config +endif diff --git a/cpu/kinetis/kinetis.config b/cpu/kinetis/kinetis.config new file mode 100644 index 0000000000..811b1f3712 --- /dev/null +++ b/cpu/kinetis/kinetis.config @@ -0,0 +1 @@ +CONFIG_MODULE_PM_LAYERED=y diff --git a/cpu/kinetis/periph/Kconfig b/cpu/kinetis/periph/Kconfig new file mode 100644 index 0000000000..cc80e1f9b1 --- /dev/null +++ b/cpu/kinetis/periph/Kconfig @@ -0,0 +1,33 @@ +# Copyright (c) 2021 HAW Hamburg +# +# This file is subject to the terms and conditions of the GNU Lesser +# General Public License v2.1. See the file LICENSE in the top level +# directory for more details. +# + +if TEST_KCONFIG + +config MODULE_PERIPH_WDOG + bool + help + Low-level WDOG driver. + +config MODULE_PERIPH_ICS + bool + depends on HAS_PERIPH_ICS + help + Kinetis internal clock source controller. + +config MODULE_PERIPH_MCG + bool + depends on HAS_PERIPH_MCG + help + Kinetis Multipurpose Clock Generator. + +config MODULE_PERIPH_MCG_LITE + bool + depends on HAS_PERIPH_MCG_LITE + help + Kinetis Multipurpose Clock Generator (Lite version). + +endif # TEST_KCONFIG