# MIMXRT1060-EVK board

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

if BOARD_MIMXRT1060_EVK || BOARD_MIMXRT1060_EVK_HYPERFLASH || BOARD_MIMXRT1060_EVKB

config BOARD
	default "mimxrt1060_evk" if BOARD_MIMXRT1060_EVK
	default "mimxrt1060_evk_hyperflash" if BOARD_MIMXRT1060_EVK_HYPERFLASH
	default "mimxrt1060_evkb" if BOARD_MIMXRT1060_EVKB

choice CODE_LOCATION
	default CODE_FLEXSPI
endchoice

if FLASH

config FLASH_MCUX_FLEXSPI_NOR
	default y if BOARD_MIMXRT1060_EVK
	default y if BOARD_MIMXRT1060_EVKB
	default n if BOARD_MIMXRT1060_EVK_HYPERFLASH

config FLASH_MCUX_FLEXSPI_HYPERFLASH
	default y if BOARD_MIMXRT1060_EVK_HYPERFLASH
	default n if BOARD_MIMXRT1060_EVK
	default n if BOARD_MIMXRT1060_EVKB

endif #FLASH

config KSCAN
	default y if LVGL

config INPUT
	default y if KSCAN

if INPUT

config INPUT_FT5336_INTERRUPT
	default y

endif # INPUT

if NETWORKING

config NET_L2_ETHERNET
	default y

config ETH_MCUX_PHY_RESET
	default y

endif # NETWORKING

if LVGL

config LV_Z_POINTER_KSCAN
	default y

config LV_Z_VDB_SIZE
	default 16

config LV_Z_DPI
	default 128

choice LV_COLOR_DEPTH
	default LV_COLOR_DEPTH_16
endchoice

endif # LVGL

endif # BOARD_MIMXRT1060_EVK || BOARD_MIMXRT1060_EVK_HYPERFLASH || BOARD_MIMXRT1060_EVKB
