# Copyright (c) 2019 Linaro Limited
# SPDX-License-Identifier: Apache-2.0

if SHIELD_ADAFRUIT_2_8_TFT_TOUCH_V2

config GPIO
	default y

if DISPLAY

config SPI
	default y

config ILI9340
	default y

if KSCAN

config I2C
	default y

config KSCAN_FT5336
	default y

# NOTE: Enable if IRQ line is available (requires to solder jumper)
config KSCAN_FT5336_INTERRUPT
	default n

endif # KSCAN

if LVGL

config LVGL_DISPLAY_DEV_NAME
	default "ILI9340"

config LVGL_HOR_RES_MAX
	default 320

config LVGL_VER_RES_MAX
	default 240

config LVGL_VDB_SIZE
	default 64

config LVGL_BITS_PER_PIXEL
	default 24

choice LVGL_COLOR_DEPTH
	default LVGL_COLOR_DEPTH_32
endchoice

config KSCAN
	default y

config LVGL_POINTER_KSCAN
	default y

config LVGL_POINTER_KSCAN_DEV_NAME
	default "FT5336"

config LVGL_POINTER_KSCAN_SWAP_XY
	default y

config LVGL_POINTER_KSCAN_INVERT_X
	default y

config LVGL_POINTER_KSCAN_INVERT_Y
	default y

endif # LVGL

endif # DISPLAY

if DISK_DRIVERS

config DISK_DRIVER_SDMMC
	default y

endif # DISK_DRIVERS

endif # SHIELD_ADAFRUIT_2_8_TFT_TOUCH_V2
