config DRM_PANEL
	bool
	depends on DRM
	help
	  Panel registration and lookup framework.

menu "Display Panels"
	depends on DRM && DRM_PANEL

config DRM_PANEL_ARM_VERSATILE
	tristate "ARM Versatile panel driver"
	depends on OF
	depends on MFD_SYSCON
	select VIDEOMODE_HELPERS
	help
	  This driver supports the ARM Versatile panels connected to ARM
	  reference designs. The panel is detected using special registers
	  in the Versatile family syscon registers.

config DRM_PANEL_LVDS
	tristate "Generic LVDS panel driver"
	depends on OF
	depends on BACKLIGHT_CLASS_DEVICE
	select VIDEOMODE_HELPERS
	help
	  This driver supports LVDS panels that don't require device-specific
	  handling of power supplies or control signals. It implements automatic
	  backlight handling if the panel is attached to a backlight controller.

config DRM_PANEL_SIMPLE
	tristate "support for simple panels"
	depends on OF
	depends on BACKLIGHT_CLASS_DEVICE
	select VIDEOMODE_HELPERS
	help
	  DRM panel driver for dumb panels that need at most a regulator and
	  a GPIO to be powered up. Optionally a backlight can be attached so
	  that it can be automatically turned off when the panel goes into a
	  low power state.

config DRM_PANEL_ILITEK_IL9322
	tristate "Ilitek ILI9322 320x240 QVGA panels"
	depends on OF && SPI
	select REGMAP
	help
	  Say Y here if you want to enable support for Ilitek IL9322
	  QVGA (320x240) RGB, YUV and ITU-T BT.656 panels.

config DRM_PANEL_ILITEK_ILI9881C
	tristate "Ilitek ILI9881C-based panels"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y if you want to enable support for panels based on the
	  Ilitek ILI9881c controller.

config DRM_PANEL_INNOLUX_P079ZCA
	tristate "Innolux P079ZCA panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y here if you want to enable support for Innolux P079ZCA
	  TFT-LCD modules. The panel has a 1024x768 resolution and uses
	  24 bit RGB per pixel. It provides a MIPI DSI interface to
	  the host and has a built-in LED backlight.

config DRM_PANEL_JDI_LT070ME05000
	tristate "JDI LT070ME05000 WUXGA DSI panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y here if you want to enable support for JDI DSI video mode
	  panel as found in Google Nexus 7 (2013) devices.
	  The panel has a 1200(RGB)×1920 (WUXGA) resolution and uses
	  24 bit per pixel.

config DRM_PANEL_SAMSUNG_LD9040
	tristate "Samsung LD9040 RGB/SPI panel"
	depends on OF && SPI
	select VIDEOMODE_HELPERS

config DRM_PANEL_LG_LG4573
	tristate "LG4573 RGB/SPI panel"
	depends on OF && SPI
	select VIDEOMODE_HELPERS
	help
	  Say Y here if you want to enable support for LG4573 RGB panel.
	  To compile this driver as a module, choose M here.

config DRM_PANEL_ORISETECH_OTM8009A
	tristate "Orise Technology otm8009a 480x800 dsi 2dl panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y here if you want to enable support for Orise Technology
	  otm8009a 480x800 dsi 2dl panel.

config DRM_PANEL_PANASONIC_VVX10F034N00
	tristate "Panasonic VVX10F034N00 1920x1200 video mode panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y here if you want to enable support for Panasonic VVX10F034N00
	  WUXGA (1920x1200) Novatek NT1397-based DSI panel as found in some
	  Xperia Z2 tablets

config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN
	tristate "Raspberry Pi 7-inch touchscreen panel"
	depends on DRM_MIPI_DSI
	help
	  Say Y here if you want to enable support for the Raspberry
	  Pi 7" Touchscreen.  To compile this driver as a module,
	  choose M here.

config DRM_PANEL_RPI_PUMPKIN_TOUCHSCREEN
	tristate "RPi 7-inch touchscreen panel for Pumpkin boards"
	depends on DRM_MIPI_DSI
	help
	  Say Y here if you want to enable support for the Raspberry
	  Pi 7" Touchscreen modified for use with the pumpkin boards.
	  To compile this driver as a module, choose M here.

config DRM_PANEL_STARTEK_ILI9488
  tristate "Startek Panel"
  depends on OF
  depends on DRM_MIPI_DSI
  help
     Say Y here if you want to enable the Startek Panel.

config DRM_PANEL_RAYDIUM_RM68200
	tristate "Raydium RM68200 720x1280 DSI video mode panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y here if you want to enable support for Raydium RM68200
	  720x1280 DSI video mode panel.

config DRM_PANEL_SAMSUNG_S6E3HA2
	tristate "Samsung S6E3HA2 DSI video mode panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	select VIDEOMODE_HELPERS

config DRM_PANEL_SAMSUNG_S6E63J0X03
	tristate "Samsung S6E63J0X03 DSI command mode panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	select VIDEOMODE_HELPERS

config DRM_PANEL_SAMSUNG_S6E8AA0
	tristate "Samsung S6E8AA0 DSI video mode panel"
	depends on OF
	select DRM_MIPI_DSI
	select VIDEOMODE_HELPERS

config DRM_PANEL_SEIKO_43WVF1G
	tristate "Seiko 43WVF1G panel"
	depends on OF
	depends on BACKLIGHT_CLASS_DEVICE
	select VIDEOMODE_HELPERS
	help
	  Say Y here if you want to enable support for the Seiko
	  43WVF1G controller for 800x480 LCD panels

config DRM_PANEL_SHARP_LQ101R1SX01
	tristate "Sharp LQ101R1SX01 panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y here if you want to enable support for Sharp LQ101R1SX01
	  TFT-LCD modules. The panel has a 2560x1600 resolution and uses
	  24 bit RGB per pixel. It provides a dual MIPI DSI interface to
	  the host and has a built-in LED backlight.

	  To compile this driver as a module, choose M here: the module
	  will be called panel-sharp-lq101r1sx01.

config DRM_PANEL_SHARP_LS043T1LE01
	tristate "Sharp LS043T1LE01 qHD video mode panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y here if you want to enable support for Sharp LS043T1LE01 qHD
	  (540x960) DSI panel as found on the Qualcomm APQ8074 Dragonboard

config DRM_PANEL_SHARP_NT35532
	tristate "Sharp NT35532 panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y here if you want to enable support for Sharp NT35532 DSI panel
	  as found on the MT8183 EVB (aiv8183m1)

config DRM_PANEL_SITRONIX_ST7789V
	tristate "Sitronix ST7789V panel"
	depends on OF && SPI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y here if you want to enable support for the Sitronix
	  ST7789V controller for 240x320 LCD panels

config DRM_PANEL_TPV_OTM1901A
	tristate "TPV OTM1901A panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y here if you want to enable support for TPV OTM1901A DSI panel
	  as found on the MT8183 EVB (aiv8183m1)

config DRM_PANEL_TRULY_R63350A
	tristate "TRULY R63350A panel"
	depends on OF
	depends on DRM_MIPI_DSI
	depends on BACKLIGHT_CLASS_DEVICE
	help
	  Say Y here if you want to enable support for Truly R63350A DSI panel
	  as found on the MT8183 EVB (aiv8183m1)
endmenu
