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

if SHIELD_G1120B0MIPI

if LVGL
# Enable input subsystem for FT5336 driver
config INPUT
	default y

config INPUT_FT5336_INTERRUPT
	default y

if MIPI_DSI_MCUX_2L
# Enable color swap in driver

config MIPI_DSI_MCUX_2L_SWAP16
	default y

endif # MIPI_DSI_MCUX_2L

# Swap 16 bit color setting for LVGL, to send high byte first
config LV_COLOR_16_SWAP
	default y if !MIPI_DSI_MCUX_2L_SWAP16

config LV_Z_VDB_SIZE
	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_G1120B0MIPI
