# Kinetis KE1xF series MCU

# Copyright (c) 2019 Vestas Wind Systems A/S
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_KINETIS_KE1XF
	bool "Kinetis KE1xF Series MCU"
	select ARM
	select CPU_CORTEX_M4
	select CPU_CORTEX_M_HAS_DWT
	select SOC_FAMILY_KINETIS
	select CPU_HAS_NXP_MPU
	select CPU_HAS_FPU
	select CLOCK_CONTROL
	select HAS_MCUX
	select HAS_MCUX_CACHE
	select HAS_MCUX_FTFX
	select HAS_MCUX_LPI2C
	select HAS_MCUX_LPSPI
	select HAS_MCUX_LPUART
	select HAS_MCUX_PCC
	select HAS_MCUX_RTC
	select HAS_MCUX_SIM
	select HAS_MCUX_ADC12
	select HAS_MCUX_SCG
	select HAS_MCUX_WDOG32
	select HAS_MCUX_FTM
	select HAS_MCUX_LPTMR
	select HAS_MCUX_DAC32
	select HAS_MCUX_EDMA
	select HAS_MCUX_ACMP
	select HAS_MCUX_PWT
	select HAS_MCUX_RCM
	help
	  Enable support for Kinetis KE1xF MCU series
