# MIMXRT1050-EVK board

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

if BOARD_MIMXRT1050_EVK

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_MIMXRT1050_EVK
