# Kconfig - Kinetis KWx SoC configuration options
#
# Copyright (c) 2017, NXP
#
# SPDX-License-Identifier: Apache-2.0
#

if SOC_MKW40Z4

config SOC
	string
	default mkw40z4

config NUM_IRQS
	int
	default 32

if PINMUX

config PINMUX_MCUX
	def_bool y

endif # PINMUX

if GPIO

config GPIO_MCUX
	def_bool y

endif # GPIO

if SERIAL

config UART_MCUX_LPUART
	def_bool y

endif # SERIAL

if I2C

config I2C_MCUX
	def_bool y

endif # I2C

if RANDOM_GENERATOR

config RANDOM_MCUX_TRNG
	def_bool y

endif # RANDOM_GENERATOR

if FLASH

config SOC_FLASH_MCUX
	def_bool y

endif # FLASH

endif # SOC_MKW40Z4
