# SPDX-License-Identifier: GPL-2.0-only
config DRM_ROCKCHIP
	tristate "DRM Support for Rockchip"
	depends on DRM && ROCKCHIP_IOMMU
	select DRM_GEM_DMA_HELPER
	select DRM_KMS_HELPER
	select DRM_PANEL
	select VIDEOMODE_HELPERS
	select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP
	select DRM_DW_HDMI if ROCKCHIP_DW_HDMI
	select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI
	select GENERIC_PHY if ROCKCHIP_DW_MIPI_DSI
	select GENERIC_PHY_MIPI_DPHY if ROCKCHIP_DW_MIPI_DSI
	select SND_SOC_HDMI_CODEC if ROCKCHIP_CDN_DP && SND_SOC
	help
	  Choose this option if you have a Rockchip soc chipset.
	  This driver provides kernel mode setting and buffer
	  management to userspace. This driver does not provide
	  2D or 3D acceleration; acceleration is performed by other
	  IP found on the SoC.

if DRM_ROCKCHIP

config ROCKCHIP_VOP
	bool "Rockchip VOP driver"
	default y
	help
	  This selects support for the VOP driver. You should enable it
	  on older SoCs.

config ROCKCHIP_VOP2
	bool "Rockchip VOP2 driver"
	help
	  This selects support for the VOP2 driver. The VOP2 hardware is
	  first found on the RK3568.

config ROCKCHIP_ANALOGIX_DP
	bool "Rockchip specific extensions for Analogix DP driver"
	depends on ROCKCHIP_VOP
	select DRM_DISPLAY_HELPER
	select DRM_DISPLAY_DP_HELPER
	help
	  This selects support for Rockchip SoC specific extensions
	  for the Analogix Core DP driver. If you want to enable DP
	  on RK3288 or RK3399 based SoC, you should select this option.

config ROCKCHIP_CDN_DP
	bool "Rockchip cdn DP"
	depends on EXTCON=y || (EXTCON=m && DRM_ROCKCHIP=m)
	select DRM_DISPLAY_HELPER
	select DRM_DISPLAY_DP_HELPER
	help
	  This selects support for Rockchip SoC specific extensions
	  for the cdn DP driver. If you want to enable Dp on
	  RK3399 based SoC, you should select this
	  option.

config ROCKCHIP_DW_HDMI
	bool "Rockchip specific extensions for Synopsys DW HDMI"
	help
	  This selects support for Rockchip SoC specific extensions
	  for the Synopsys DesignWare HDMI driver. If you want to
	  enable HDMI on RK3288 or RK3399 based SoC, you should select
	  this option.

config ROCKCHIP_DW_MIPI_DSI
	bool "Rockchip specific extensions for Synopsys DW MIPI DSI"
	select GENERIC_PHY_MIPI_DPHY
	help
	  This selects support for Rockchip SoC specific extensions
	  for the Synopsys DesignWare dsi driver. If you want to
	  enable MIPI DSI on RK3288 or RK3399 based SoC, you should
	  select this option.

config ROCKCHIP_INNO_HDMI
	bool "Rockchip specific extensions for Innosilicon HDMI"
	help
	  This selects support for Rockchip SoC specific extensions
	  for the Innosilicon HDMI driver. If you want to enable
	  HDMI on RK3036 based SoC, you should select this option.

config ROCKCHIP_LVDS
	bool "Rockchip LVDS support"
	depends on DRM_ROCKCHIP
	depends on PINCTRL && OF
	help
	  Choose this option to enable support for Rockchip LVDS controllers.
	  Rockchip rk3288 SoC has LVDS TX Controller can be used, and it
	  support LVDS, rgb, dual LVDS output mode. say Y to enable its
	  driver.

config ROCKCHIP_RGB
	bool "Rockchip RGB support"
	depends on DRM_ROCKCHIP
	depends on PINCTRL
	help
	  Choose this option to enable support for Rockchip RGB output.
	  Some Rockchip CRTCs, like rv1108, can directly output parallel
	  and serial RGB format to panel or connect to a conversion chip.
	  say Y to enable its driver.

config ROCKCHIP_RK3066_HDMI
	bool "Rockchip specific extensions for RK3066 HDMI"
	depends on DRM_ROCKCHIP
	help
	  This selects support for Rockchip SoC specific extensions
	  for the RK3066 HDMI driver. If you want to enable
	  HDMI on RK3066 based SoC, you should select this option.
endif