#
# Copyright (c) 2019, PHYTEC Messtechnik GmbH
# Copyright (c) 2019 Linaro Limited
#
# SPDX-License-Identifier: Apache-2.0
#

if SHIELD_WAVESHARE_EPAPER_GDEH029A1 || SHIELD_WAVESHARE_EPAPER_GDEH0213B1 || SHIELD_WAVESHARE_EPAPER_GDEH0213B72 || SHIELD_WAVESHARE_EPAPER_GDEW075T7 || SHIELD_WAVESHARE_EPAPER_GDEH0154A07 || SHIELD_WAVESHARE_EPAPER_GDEW042T2 || SHIELD_WAVESHARE_EPAPER_GDEW042T2_P


if DISPLAY

if LVGL

config LV_Z_VDB_SIZE
	default 16 if SHIELD_WAVESHARE_EPAPER_GDEW075T7
	default 16

config LV_DPI_DEF
	default 188 if SHIELD_WAVESHARE_EPAPER_GDEH0154A07
	default 120 if SHIELD_WAVESHARE_EPAPER_GDEW042T2
	default 130

choice LV_COLOR_DEPTH
	default LV_COLOR_DEPTH_1
endchoice

config LV_Z_BITS_PER_PIXEL
	default 1

endif # LVGL

endif # DISPLAY

endif # SHIELD_WAVESHARE_EPAPER_GDEH02
