# FSL FRDM K64F platform configuration options

# Copyright (c) 2014-2016 Wind River Systems, Inc.
# SPDX-License-Identifier: Apache-2.0

if SOC_MK64F12

config SOC
	default "mk64f12"

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

config GPIO
	default y

config SPI
	default n

config ETH_MCUX
	default y
	depends on NET_L2_ETHERNET

config ENTROPY_MCUX_RNGA
	default y
	depends on ENTROPY_GENERATOR

config SOC_FLASH_MCUX
	default y
	depends on FLASH

config USB_KINETIS
	default y
	depends on USB_DEVICE_DRIVER

config COUNTER_MCUX_RTC
	default y
	depends on COUNTER

endif # SOC_MK64F12
