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

if SHIELD_RK055HDMIPI4MA0

if DISPLAY

# Enable MIPI DSI, as this display controller requires it.

config MIPI_DSI
	default y

endif # DISPLAY

if LVGL

# Configure LVGL to use touchscreen with KSCAN API

config INPUT
	default y

config INPUT_GT911_INTERRUPT
	default y

# LVGL should allocate buffers equal to size of display
config LV_Z_VDB_SIZE
	default 100

# Enable double buffering
config LV_Z_DOUBLE_VDB
	default y

# Force full refresh. This prevents memory copy associated with partial
# display refreshes, which is not necessary for the eLCDIF driver
config LV_Z_FULL_REFRESH
	default y

config LV_Z_BITS_PER_PIXEL
	default 16

config LV_DPI_DEF
	default 128

# Use offloaded render thread
config LV_Z_FLUSH_THREAD
	default y

choice LV_COLOR_DEPTH
	default LV_COLOR_DEPTH_16
endchoice

endif # LVGL

endif # SHIELD_RK055HDMIPI4MA0
