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