# ILI9XXX display driver configuration options

# Copyright (c) 2017 Jan Van Winkel <jan.van_winkel@dxplore.eu>
# Copyright (c) 2020 Teslabs Engineering S.L.
# Copyright (c) 2021 Krivorot Oleg <krivorot.oleg@gmail.com>
# SPDX-License-Identifier: Apache-2.0

config ILI9XXX
	bool
	help
	  Hidden configuration entry for all ILI9XXX drivers.

config ILI9340
	bool "ILI9340 display driver"
	default y
	depends on DT_HAS_ILITEK_ILI9340_ENABLED
	select SPI
	select ILI9XXX
	help
	  Enable driver for ILI9340 display driver.

config ILI9341
	bool "ILI9341 display driver"
	default y
	depends on DT_HAS_ILITEK_ILI9341_ENABLED
	select SPI
	select ILI9XXX
	help
	  Enable driver for ILI9341 display driver.

config ILI9488
	bool "ILI9488 display driver"
	default y
	depends on DT_HAS_ILITEK_ILI9488_ENABLED
	select SPI
	select ILI9XXX
	help
	  Enable driver for ILI9488 display driver.
