# Copyright (c) 2023 BrainCo Inc.
# Copyright (c) 2024 Erik Andersson <erian747@gmail.com>
# SPDX-License-Identifier: Apache-2.0

if SHIELD_ST_B_LCD40_DSI1_MB1166 || SHIELD_ST_B_LCD40_DSI1_MB1166_A09

# Double frame buffer maintained by lvgl.
if LVGL

config STM32_LTDC_FB_NUM
	default 0

config INPUT
	default y

config LV_Z_VDB_SIZE
	default 100

config LV_Z_DOUBLE_VDB
	default y

config LV_Z_VBD_CUSTOM_SECTION
	default y

config LV_Z_FULL_REFRESH
	default y

config LV_Z_BITS_PER_PIXEL
	default 32

config LV_DPI_DEF
	default 128

config LV_Z_FLUSH_THREAD
	default y

choice LV_COLOR_DEPTH
	default LV_COLOR_DEPTH_32
endchoice

endif # LVGL

endif # SHIELD_ST_B_LCD40_DSI1_MB1166 || SHIELD_ST_B_LCD40_DSI1_MB1166_A09
