# DA1469x series Development Kit Pro board configuration

# Copyright (c) 2024 Renesas Electronics Corporation
# SPDX-License-Identifier: Apache-2.0

if BOARD_DA1469X_DK_PRO

if LVGL

config LV_Z_BITS_PER_PIXEL
	default 16

# LCDC imposes display buffer's stride be word aligned
config LV_Z_AREA_X_ALIGNMENT_WIDTH
	default 2 if MIPI_DBI_SMARTBOND

config LV_Z_FLUSH_THREAD
	default y if DISPLAY_RENESAS_LCDC

# Use double buffering to avoid visual artifacts as long as
# the DMA is copying data into driver's frame buffer.
config LV_Z_DOUBLE_VDB
	default y if DISPLAY_RENESAS_LCDC

endif # LVGL

if INPUT

config INPUT_FT5336_INTERRUPT
	default y

config LV_Z_POINTER_INPUT_MSGQ_COUNT
	default 70

endif # INPUT

#if PM || PM_DEVICE

# Increase stack size to avoid raising usage-fault
# exceptions due to stack overflow.
config IDLE_STACK_SIZE
	default 2048

#endif # PM || PM_DEVICE

endif # BOARD_DA1469X_DK_PRO
