# MIMXRT1064-EVK board

# Copyright 2018,2023 NXP
# SPDX-License-Identifier: Apache-2.0

if BOARD_MIMXRT1064_EVK

config BOARD
	default "mimxrt1064_evk"

choice CODE_LOCATION
	default CODE_FLEXSPI2
endchoice

config DEVICE_CONFIGURATION_DATA
	default y

config NXP_IMX_EXTERNAL_SDRAM
	default y

config INPUT
	default y if LVGL

if INPUT

config INPUT_FT5336_INTERRUPT
	default y

endif # INPUT

if NETWORKING

config NET_L2_ETHERNET
	default y

if ETH_MCUX

config ETH_MCUX_PHY_RESET
	default y

endif # ETH_MCUX

endif # NETWORKING

if LVGL

config LV_Z_VDB_SIZE
	default 16

config LV_DPI_DEF
	default 128

choice LV_COLOR_DEPTH
	default LV_COLOR_DEPTH_16
endchoice

endif # LVGL

endif # BOARD_MIMXRT1064_EVK
