# 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 MIPI_DBI
	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 MIPI_DBI
	select ILI9XXX
	help
	  Enable driver for ILI9341 display driver.

config ILI9342C
	bool "ILI9342C display driver"
	default y
	depends on DT_HAS_ILITEK_ILI9342C_ENABLED
	select MIPI_DBI
	select ILI9XXX
	help
	  Enable driver for ILI9342C display driver.

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