diff --git a/cpu/kinetis/Kconfig b/cpu/kinetis/Kconfig new file mode 100644 index 0000000000..e7a6f9c042 --- /dev/null +++ b/cpu/kinetis/Kconfig @@ -0,0 +1,131 @@ +# Copyright (c) 2020 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. + +config CPU_COMMON_KINETIS + bool + select HAS_CPU_KINETIS + select HAS_PERIPH_CPUID + select HAS_PERIPH_PM + select HAS_PERIPH_GPIO + select HAS_PERIPH_GPIO_IRQ + +config CPU_FAM_EA + bool + select CPU_COMMON_KINETIS + select HAS_PERIPH_ICS + +config CPU_FAM_K + bool + select CPU_COMMON_KINETIS + select HAS_PERIPH_FLASHPAGE + select HAS_PERIPH_FLASHPAGE_RAW + select HAS_PERIPH_MCG + +config CPU_FAM_W + bool + select CPU_COMMON_KINETIS + select HAS_PERIPH_FLASHPAGE + select HAS_PERIPH_FLASHPAGE_RAW + select HAS_PERIPH_MCG + +## CPU Models +config CPU_MODEL_MK20DX256VLH7 + bool + select CPU_CORE_CORTEX_M4 + select CPU_FAM_K + +config CPU_MODEL_MK22FN512VLH12 + bool +# This is actually M4F; TODO: Add floating point support + select CPU_CORE_CORTEX_M4 + select CPU_FAM_K + select HAS_PERIPH_HWRNG + +config CPU_MODEL_MK60DN512VLL10 + bool + select CPU_CORE_CORTEX_M4 + select CPU_FAM_K + select HAS_PERIPH_HWRNG + +config CPU_MODEL_MK64FN1M0VLL12 + bool +# This is actually M4F; TODO: Add floating point support + select CPU_CORE_CORTEX_M4 + select CPU_FAM_K + select HAS_PERIPH_HWRNG + +config CPU_MODEL_MKW21D256VHA5 + bool + select CPU_CORE_CORTEX_M4 + select CPU_FAM_W + select HAS_PERIPH_HWRNG + +config CPU_MODEL_MKW21D512VHA5 + bool + select CPU_CORE_CORTEX_M4 + select CPU_FAM_W + select HAS_PERIPH_HWRNG + +config CPU_MODEL_MKW22D512VHA5 + bool + select CPU_CORE_CORTEX_M4 + select CPU_FAM_W + select HAS_PERIPH_HWRNG + +config CPU_MODEL_MKW41Z256VHT4 + bool + select CPU_CORE_CORTEX_M0PLUS + select CPU_FAM_W + +config CPU_MODEL_MKW41Z512VHT4 + bool + select CPU_CORE_CORTEX_M0PLUS + select CPU_FAM_W + +config CPU_MODEL_S9KEAZ128ACLH + bool + select CPU_CORE_CORTEX_M4 + select CPU_FAM_EA + +## Definition of specific features +config HAS_CPU_KINETIS + bool + help + Indicates that a 'kinetis' cpu is being used. + +config HAS_PERIPH_MCG + bool + help + Indicates that the cpu uses the Kinetis Multipurpose Clock Generator. + +config HAS_PERIPH_ICS + bool + help + Indicates that the cpu uses the Kinetis Internal Clock Source + controller. + +## Common CPU symbols +config CPU_FAM + default "ea" if CPU_FAM_EA + default "k" if CPU_FAM_K + default "w" if CPU_FAM_W + +config CPU_MODEL + default "mk20dx256vlh7" if CPU_MODEL_MK20DX256VLH7 + default "mk22fn512vlh12" if CPU_MODEL_MK22FN512VLH12 + default "mk60dn512vll10" if CPU_MODEL_MK60DN512VLL10 + default "mk64fn1m0vll12" if CPU_MODEL_MK64FN1M0VLL12 + default "mkw21d256vha5" if CPU_MODEL_MKW21D256VHA5 + default "mkw21d512vha5" if CPU_MODEL_MKW21D512VHA5 + default "mkw22d512vha5" if CPU_MODEL_MKW22D512VHA5 + default "mkw41z256vht4" if CPU_MODEL_MKW41Z256VHT4 + default "mkw41z512vht4" if CPU_MODEL_MKW41Z512VHT4 + default "s9keaz128aclh" if CPU_MODEL_S9KEAZ128ACLH + +config CPU + default "kinetis" if CPU_COMMON_KINETIS + +source "$(RIOTCPU)/cortexm_common/Kconfig"