# Kinetis KV5x series configuration options

# Copyright (c) 2019 SEAL AG
# SPDX-License-Identifier: Apache-2.0

if SOC_SERIES_KINETIS_KV5X

config SOC_SERIES
	default "kv5x"

config NUM_IRQS
	# must be >= the highest interrupt number used
	default 121

config ADC_MCUX_ADC16
	default y
	depends on ADC

config CLOCK_CONTROL_MCUX_SIM
	default y
	depends on CLOCK_CONTROL

config SOC_FLASH_MCUX
	default y
	depends on FLASH

config GPIO
	default y

config GPIO_MCUX
	default y
	depends on GPIO

config I2C_MCUX
	default y
	depends on I2C

config PINMUX_MCUX
	default y
	depends on PINMUX

config PWM_MCUX_FTM
	default y
	depends on PWM

config UART_MCUX
	default y
	depends on SERIAL

config SPI_MCUX_DSPI
	default y
	depends on SPI

source "soc/arm/nxp_kinetis/kv5x/Kconfig.defconfig.mkv*"

endif # SOC_SERIES_KINETIS_KV5X
