# SPDX-License-Identifier: GPL-2.0-only
config DRM_BRIDGE
	def_bool y
	depends on DRM
	help
	  Bridge registration and lookup framework.

config DRM_PANEL_BRIDGE
	def_bool y
	depends on DRM_BRIDGE
	depends on DRM_KMS_HELPER
	select DRM_PANEL
	help
	  DRM bridge wrapper of DRM panels

menu "Display Interface Bridges"
	depends on DRM && DRM_BRIDGE

config DRM_CDNS_DSI
	tristate "Cadence DPI/DSI bridge"
	select DRM_KMS_HELPER
	select DRM_MIPI_DSI
	select DRM_PANEL_BRIDGE
	select GENERIC_PHY_MIPI_DPHY
	depends on OF
	help
	  Support Cadence DPI to DSI bridge. This is an internal
	  bridge and is meant to be directly embedded in a SoC.

config DRM_DUMB_VGA_DAC
	tristate "Dumb VGA DAC Bridge support"
	depends on OF
	select DRM_KMS_HELPER
	help
	  Support for non-programmable RGB to VGA DAC bridges, such as ADI
	  ADV7123, TI THS8134 and THS8135 or passive resistor ladder DACs.

config DRM_LVDS_CODEC
	tristate "Transparent LVDS encoders and decoders support"
	depends on OF
	select DRM_KMS_HELPER
	select DRM_PANEL_BRIDGE
	help
	  Support for transparent LVDS encoders and decoders that don't
	  require any configuration.

config DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW
	tristate "MegaChips stdp4028-ge-b850v3-fw and stdp2690-ge-b850v3-fw"
	depends on OF
	select DRM_KMS_HELPER
	select DRM_PANEL
	---help---
          This is a driver for the display bridges of
          GE B850v3 that convert dual channel LVDS
          to DP++. This is used with the i.MX6 imx-ldb
          driver. You are likely to say N here.

config DRM_NXP_PTN3460
	tristate "NXP PTN3460 DP/LVDS bridge"
	depends on OF
	select DRM_KMS_HELPER
	select DRM_PANEL
	---help---
	  NXP PTN3460 eDP-LVDS bridge chip driver.

config DRM_PARADE_PS8622
	tristate "Parade eDP/LVDS bridge"
	depends on OF
	select DRM_PANEL
	select DRM_KMS_HELPER
	select BACKLIGHT_CLASS_DEVICE
	---help---
	  Parade eDP-LVDS bridge chip driver.

config DRM_PARADE_PS8640
	tristate "Parade PS8640 MIPI DSI to eDP Converter"
	depends on OF
	select DRM_DP_AUX_BUS
	select DRM_KMS_HELPER
	select DRM_MIPI_DSI
	select DRM_PANEL
	help
	  Choose this option if you have PS8640 for display
	  The PS8640 is a high-performance and low-power
	  MIPI DSI to eDP converter

config DRM_SIL_SII8620
	tristate "Silicon Image SII8620 HDMI/MHL bridge"
	depends on OF
	select DRM_KMS_HELPER
	imply EXTCON
	select INPUT
	select RC_CORE
	help
	  Silicon Image SII8620 HDMI/MHL bridge chip driver.

config DRM_SII902X
	tristate "Silicon Image sii902x RGB/HDMI bridge"
	depends on OF
	select DRM_KMS_HELPER
	select REGMAP_I2C
	select I2C_MUX
	---help---
	  Silicon Image sii902x bridge chip driver.

config DRM_SII9234
	tristate "Silicon Image SII9234 HDMI/MHL bridge"
	depends on OF
	---help---
	  Say Y here if you want support for the MHL interface.
	  It is an I2C driver, that detects connection of MHL bridge
	  and starts encapsulation of HDMI signal.

config DRM_THINE_THC63LVD1024
	tristate "Thine THC63LVD1024 LVDS decoder bridge"
	depends on OF
	---help---
	  Thine THC63LVD1024 LVDS/parallel converter driver.

config DRM_TOSHIBA_TC358764
	tristate "TC358764 DSI/LVDS bridge"
	depends on OF
	select DRM_MIPI_DSI
	select DRM_KMS_HELPER
	select DRM_PANEL
	help
	  Toshiba TC358764 DSI/LVDS bridge driver.

config DRM_TOSHIBA_TC358767
	tristate "Toshiba TC358767 eDP bridge"
	depends on OF
	select DRM_KMS_HELPER
	select REGMAP_I2C
	select DRM_PANEL
	---help---
	  Toshiba TC358767 eDP bridge chip driver.

config DRM_TI_TFP410
	tristate "TI TFP410 DVI/HDMI bridge"
	depends on OF
	select DRM_KMS_HELPER
	---help---
	  Texas Instruments TFP410 DVI/HDMI Transmitter driver

config DRM_TI_SN65DSI86
	tristate "TI SN65DSI86 DSI to eDP bridge"
	depends on OF
	select DRM_KMS_HELPER
	select REGMAP_I2C
	select DRM_PANEL
	select DRM_MIPI_DSI
	select AUXILIARY_BUS
	select DRM_DP_AUX_BUS
	help
	  Texas Instruments SN65DSI86 DSI to eDP Bridge driver

source "drivers/gpu/drm/bridge/analogix/Kconfig"

source "drivers/gpu/drm/bridge/adv7511/Kconfig"

source "drivers/gpu/drm/bridge/synopsys/Kconfig"

endmenu
