1# SPDX-License-Identifier: GPL-2.0-only
2config DRM_ROCKCHIP
3	tristate "DRM Support for Rockchip"
4	depends on DRM && ROCKCHIP_IOMMU
5	select DRM_GEM_CMA_HELPER
6	select DRM_KMS_HELPER
7	select DRM_PANEL
8	select VIDEOMODE_HELPERS
9	select DRM_ANALOGIX_DP if ROCKCHIP_ANALOGIX_DP
10	select DRM_DW_HDMI if ROCKCHIP_DW_HDMI
11	select DRM_DW_MIPI_DSI if ROCKCHIP_DW_MIPI_DSI
12	select GENERIC_PHY if ROCKCHIP_DW_MIPI_DSI
13	select GENERIC_PHY_MIPI_DPHY if ROCKCHIP_DW_MIPI_DSI
14	select SND_SOC_HDMI_CODEC if ROCKCHIP_CDN_DP && SND_SOC
15	help
16	  Choose this option if you have a Rockchip soc chipset.
17	  This driver provides kernel mode setting and buffer
18	  management to userspace. This driver does not provide
19	  2D or 3D acceleration; acceleration is performed by other
20	  IP found on the SoC.
21
22if DRM_ROCKCHIP
23
24config ROCKCHIP_ANALOGIX_DP
25	bool "Rockchip specific extensions for Analogix DP driver"
26	help
27	  This selects support for Rockchip SoC specific extensions
28	  for the Analogix Core DP driver. If you want to enable DP
29	  on RK3288 or RK3399 based SoC, you should select this option.
30
31config ROCKCHIP_CDN_DP
32	bool "Rockchip cdn DP"
33	depends on EXTCON=y || (EXTCON=m && DRM_ROCKCHIP=m)
34	help
35	  This selects support for Rockchip SoC specific extensions
36	  for the cdn DP driver. If you want to enable Dp on
37	  RK3399 based SoC, you should select this
38	  option.
39
40config ROCKCHIP_DW_HDMI
41	bool "Rockchip specific extensions for Synopsys DW HDMI"
42	help
43	  This selects support for Rockchip SoC specific extensions
44	  for the Synopsys DesignWare HDMI driver. If you want to
45	  enable HDMI on RK3288 or RK3399 based SoC, you should select
46	  this option.
47
48config ROCKCHIP_DW_MIPI_DSI
49	bool "Rockchip specific extensions for Synopsys DW MIPI DSI"
50	select GENERIC_PHY_MIPI_DPHY
51	help
52	  This selects support for Rockchip SoC specific extensions
53	  for the Synopsys DesignWare dsi driver. If you want to
54	  enable MIPI DSI on RK3288 or RK3399 based SoC, you should
55	  select this option.
56
57config ROCKCHIP_INNO_HDMI
58	bool "Rockchip specific extensions for Innosilicon HDMI"
59	help
60	  This selects support for Rockchip SoC specific extensions
61	  for the Innosilicon HDMI driver. If you want to enable
62	  HDMI on RK3036 based SoC, you should select this option.
63
64config ROCKCHIP_LVDS
65	bool "Rockchip LVDS support"
66	depends on DRM_ROCKCHIP
67	depends on PINCTRL && OF
68	help
69	  Choose this option to enable support for Rockchip LVDS controllers.
70	  Rockchip rk3288 SoC has LVDS TX Controller can be used, and it
71	  support LVDS, rgb, dual LVDS output mode. say Y to enable its
72	  driver.
73
74config ROCKCHIP_RGB
75	bool "Rockchip RGB support"
76	depends on DRM_ROCKCHIP
77	depends on PINCTRL
78	help
79	  Choose this option to enable support for Rockchip RGB output.
80	  Some Rockchip CRTCs, like rv1108, can directly output parallel
81	  and serial RGB format to panel or connect to a conversion chip.
82	  say Y to enable its driver.
83
84config ROCKCHIP_RK3066_HDMI
85	bool "Rockchip specific extensions for RK3066 HDMI"
86	depends on DRM_ROCKCHIP
87	help
88	  This selects support for Rockchip SoC specific extensions
89	  for the RK3066 HDMI driver. If you want to enable
90	  HDMI on RK3066 based SoC, you should select this option.
91endif
92