# Kinetis KWx SoC configuration options

# SPDX-License-Identifier: Apache-2.0

if SOC_MKW40Z4

config SOC
	default "mkw40z4"

config NUM_IRQS
	default 32

config ADC_MCUX_ADC16
	default y
	depends on ADC

config CLOCK_CONTROL_MCUX_SIM
	default y
	depends on CLOCK_CONTROL

config GPIO_MCUX
	default y
	depends on GPIO

config UART_MCUX_LPUART
	default y
	depends on SERIAL

config I2C_MCUX
	default y
	depends on I2C

config SPI_MCUX_DSPI
	default y
	depends on SPI

config ENTROPY_MCUX_TRNG
	default y
	depends on ENTROPY_GENERATOR

choice CSPRNG_GENERATOR_CHOICE
	default CTR_DRBG_CSPRNG_GENERATOR
endchoice

choice RNG_GENERATOR_CHOICE
	default XOSHIRO_RANDOM_GENERATOR
endchoice

config TINYCRYPT
	default y

config SOC_FLASH_MCUX
	default y
	depends on FLASH

endif # SOC_MKW40Z4
