config DRM_ROCKCHIP
	tristate "DRM Support for Rockchip"
	depends on DRM && ROCKCHIP_IOMMU
	select DRM_GEM_CMA_HELPER
	select DRM_KMS_HELPER
	select DRM_PANEL
	select VIDEOMODE_HELPERS
	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.

config ROCKCHIP_ANALOGIX_DP
	tristate "Rockchip specific extensions for Analogix DP driver"
	depends on DRM_ROCKCHIP
	select DRM_ANALOGIX_DP
	help
	  This selects support for Rockchip SoC specific extensions
	  for the Analogix Core DP driver. If you want to enable DP
	  on RK3288 based SoC, you should selet this option.

config ROCKCHIP_CDN_DP
        tristate "Rockchip cdn DP"
        depends on DRM_ROCKCHIP
	depends on EXTCON
	select SND_SOC_HDMI_CODEC if SND_SOC
        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
        tristate "Rockchip specific extensions for Synopsys DW HDMI"
        depends on DRM_ROCKCHIP
        select DRM_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 based SoC, you should selet this
	  option.

config ROCKCHIP_DW_MIPI_DSI
	tristate "Rockchip specific extensions for Synopsys DW MIPI DSI"
	depends on DRM_ROCKCHIP
	select DRM_MIPI_DSI
	help
	 This selects support for Rockchip SoC specific extensions
	 for the Synopsys DesignWare HDMI driver. If you want to
	 enable MIPI DSI on RK3288 based SoC, you should selet this
	 option.

config ROCKCHIP_INNO_HDMI
	tristate "Rockchip specific extensions for Innosilicon HDMI"
	depends on DRM_ROCKCHIP
	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.
