# Copyright (c) 2019 Linaro Limited
# SPDX-License-Identifier: Apache-2.0

if SHIELD_SSD1306_128X64 || SHIELD_SSD1306_128X64_SPI || SHIELD_SSD1306_128X32 || SHIELD_SH1106_128X64

if DISPLAY

choice SSD1306_CONTROLLER_TYPE
	default SSD1306_SH1106_COMPATIBLE if SHIELD_SH1106_128X64
endchoice

if LVGL

config LV_Z_VDB_SIZE
	default 64

config LV_Z_DPI
	default 116 if SHIELD_SH1106_128X64
	default 148

config LV_Z_BITS_PER_PIXEL
	default 1

choice LV_COLOR_DEPTH
	default LV_COLOR_DEPTH_1
endchoice

endif # LVGL

endif # DISPLAY

endif # SHIELD_SSD1306_128X64 || SHIELD_SSD1306_128X64_SPI || SHIELD_SSD1306_128X32 || SHIELD_SH1106_128X64
