# 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

config DISK_DRIVER_SDMMC
	default y if DISK_DRIVERS

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 I2C
	default y if KSCAN

config KSCAN
	default y if LVGL

if KSCAN

config KSCAN_FT5336
	default y

config KSCAN_FT5336_INTERRUPT
	default y

endif # KSCAN

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_POINTER_KSCAN_DEV_NAME
	default "FT5336"

config LV_Z_HOR_RES_MAX
	default 480

config LV_Z_VER_RES_MAX
	default 272

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
