# Copyright (c) 2024 Nicolas Goualard <nicolas.goualard@sfr.fr>
# SPDX-License-Identifier: Apache-2.0

if SHIELD_SEEED_XIAO_ROUND_DISPLAY

if DISPLAY

if LVGL

config INPUT
	default y

choice LV_COLOR_DEPTH
	default LV_COLOR_DEPTH_16
endchoice

config LV_COLOR_16_SWAP
	default y

endif # LVGL
endif # DISPLAY

endif # SHIELD_XIAO_ROUND_DISPLAY
