# Kinetis K2X MCU line

# Copyright (c) 2018 Prevas A/S
# Copyright (c) 2019 Thomas Burdick <thomas.burdick@gmail.com>
# Copyright 2024 NXP

#
# SPDX-License-Identifier: Apache-2.0
#

config SOC_SERIES_KINETIS_K2X
	select ARM
	select CPU_CORTEX_M4
	select CPU_CORTEX_M_HAS_DWT
	select CLOCK_CONTROL
	select PLATFORM_SPECIFIC_INIT

config SOC_MK22F51212
	select HAS_MCUX
	select HAS_MCUX_SMC
	select HAS_MCUX_ADC16
	select HAS_MCUX_FTFX
	select HAS_MCUX_FTM
	select HAS_MCUX_RNGA
	select HAS_MCUX_SIM
	select HAS_OSC
	select HAS_MCG
	select CPU_HAS_FPU
	select HAS_MCUX_DAC
	select HAS_MCUX_RCM

# Note- the MK22F12 SKU is a legacy SOC, no longer officially supported by
# NXP's MCUX SDK, and not recommended for new designs.
config SOC_MK22F12
	select HAS_MCUX
	select HAS_MCUX_SMC
	select HAS_MCUX_ADC16
	select HAS_MCUX_FTFX
	select HAS_MCUX_FTM
	select HAS_MCUX_RNGA
	select HAS_MCUX_SIM
	select HAS_OSC
	select HAS_MCG
	select CPU_HAS_FPU
	select HAS_MCUX_DAC
	select HAS_MCUX_RCM
	select CPU_HAS_NXP_MPU
