# MIMXRT1020-EVK board

# Copyright (c) 2018, NXP
# SPDX-License-Identifier: Apache-2.0

if BOARD_MIMXRT1020_EVK

config BOARD
	default "mimxrt1020_evk" if BOARD_MIMXRT1020_EVK

choice CODE_LOCATION
	default CODE_FLEXSPI
endchoice

config DISK_DRIVER_SDMMC
	default y if DISK_DRIVERS

config FLASH_MCUX_FLEXSPI_NOR
	default y if FLASH && BOARD_MIMXRT1020_EVK

config FLASH_MCUX_FLEXSPI_XIP
	default y if FLASH && BOARD_MIMXRT1020_EVK
	depends on MEMC_MCUX_FLEXSPI

if NETWORKING

config NET_L2_ETHERNET
	default y

endif # NETWORKING

endif # BOARD_MIMXRT1020_EVK
