menuconfig DRM_TINYDRM
	tristate "Support for simple displays"
	depends on DRM
	select DRM_KMS_HELPER
	select DRM_KMS_CMA_HELPER
	help
	  Choose this option if you have a tinydrm supported display.
	  If M is selected the module will be called tinydrm.

config TINYDRM_MIPI_DBI
	tristate

config TINYDRM_ILI9225
	tristate "DRM support for ILI9225 display panels"
	depends on DRM_TINYDRM && SPI
	select TINYDRM_MIPI_DBI
	help
	  DRM driver for the following Ilitek ILI9225 panels:
	  * No-name 2.2" color screen module

	  If M is selected the module will be called ili9225.

config TINYDRM_ILI9341
	tristate "DRM support for ILI9341 display panels"
	depends on DRM_TINYDRM && SPI
	depends on BACKLIGHT_CLASS_DEVICE
	select TINYDRM_MIPI_DBI
	help
	  DRM driver for the following Ilitek ILI9341 panels:
	  * YX240QV29-T 2.4" 240x320 TFT (Adafruit 2.4")

	  If M is selected the module will be called ili9341.

config TINYDRM_MI0283QT
	tristate "DRM support for MI0283QT"
	depends on DRM_TINYDRM && SPI
	depends on BACKLIGHT_CLASS_DEVICE
	select TINYDRM_MIPI_DBI
	help
	  DRM driver for the Multi-Inno MI0283QT display panel
	  If M is selected the module will be called mi0283qt.

config TINYDRM_REPAPER
	tristate "DRM support for Pervasive Displays RePaper panels (V231)"
	depends on DRM_TINYDRM && SPI
	depends on THERMAL || !THERMAL
	help
	  DRM driver for the following Pervasive Displays panels:
	  1.44" TFT EPD Panel (E1144CS021)
	  1.90" TFT EPD Panel (E1190CS021)
	  2.00" TFT EPD Panel (E2200CS021)
	  2.71" TFT EPD Panel (E2271CS021)

	  If M is selected the module will be called repaper.

config TINYDRM_ST7586
	tristate "DRM support for Sitronix ST7586 display panels"
	depends on DRM_TINYDRM && SPI
	select TINYDRM_MIPI_DBI
	help
	  DRM driver for the following Sitronix ST7586 panels:
	  * LEGO MINDSTORMS EV3

	  If M is selected the module will be called st7586.

config TINYDRM_ST7735R
	tristate "DRM support for Sitronix ST7735R display panels"
	depends on DRM_TINYDRM && SPI
	depends on BACKLIGHT_CLASS_DEVICE
	select TINYDRM_MIPI_DBI
	help
	  DRM driver Sitronix ST7735R with one of the following LCDs:
	  * JD-T18003-T01 1.8" 128x160 TFT

	  If M is selected the module will be called st7735r.
