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_DMA_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_VOP
25	bool "Rockchip VOP driver"
26	default y
27	help
28	  This selects support for the VOP driver. You should enable it
29	  on older SoCs.
30
31config ROCKCHIP_VOP2
32	bool "Rockchip VOP2 driver"
33	help
34	  This selects support for the VOP2 driver. The VOP2 hardware is
35	  first found on the RK3568.
36
37config ROCKCHIP_ANALOGIX_DP
38	bool "Rockchip specific extensions for Analogix DP driver"
39	depends on ROCKCHIP_VOP
40	select DRM_DISPLAY_HELPER
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	select DRM_DISPLAY_HELPER
51	select DRM_DISPLAY_DP_HELPER
52	help
53	  This selects support for Rockchip SoC specific extensions
54	  for the cdn DP driver. If you want to enable Dp on
55	  RK3399 based SoC, you should select this
56	  option.
57
58config ROCKCHIP_DW_HDMI
59	bool "Rockchip specific extensions for Synopsys DW HDMI"
60	help
61	  This selects support for Rockchip SoC specific extensions
62	  for the Synopsys DesignWare HDMI driver. If you want to
63	  enable HDMI on RK3288 or RK3399 based SoC, you should select
64	  this option.
65
66config ROCKCHIP_DW_MIPI_DSI
67	bool "Rockchip specific extensions for Synopsys DW MIPI DSI"
68	select GENERIC_PHY_MIPI_DPHY
69	help
70	  This selects support for Rockchip SoC specific extensions
71	  for the Synopsys DesignWare dsi driver. If you want to
72	  enable MIPI DSI on RK3288 or RK3399 based SoC, you should
73	  select this option.
74
75config ROCKCHIP_INNO_HDMI
76	bool "Rockchip specific extensions for Innosilicon HDMI"
77	select DRM_DISPLAY_HDMI_HELPER
78	select DRM_DISPLAY_HDMI_STATE_HELPER
79	select DRM_DISPLAY_HELPER
80	help
81	  This selects support for Rockchip SoC specific extensions
82	  for the Innosilicon HDMI driver. If you want to enable
83	  HDMI on RK3036 based SoC, you should select this option.
84
85config ROCKCHIP_LVDS
86	bool "Rockchip LVDS support"
87	depends on DRM_ROCKCHIP
88	depends on PINCTRL && OF
89	select DRM_DISPLAY_HELPER
90	select DRM_BRIDGE_CONNECTOR
91	help
92	  Choose this option to enable support for Rockchip LVDS controllers.
93	  Rockchip rk3288 SoC has LVDS TX Controller can be used, and it
94	  support LVDS, rgb, dual LVDS output mode. say Y to enable its
95	  driver.
96
97config ROCKCHIP_RGB
98	bool "Rockchip RGB support"
99	depends on DRM_ROCKCHIP
100	depends on PINCTRL
101	select DRM_DISPLAY_HELPER
102	select DRM_BRIDGE_CONNECTOR
103	help
104	  Choose this option to enable support for Rockchip RGB output.
105	  Some Rockchip CRTCs, like rv1108, can directly output parallel
106	  and serial RGB format to panel or connect to a conversion chip.
107	  say Y to enable its driver.
108
109config ROCKCHIP_RK3066_HDMI
110	bool "Rockchip specific extensions for RK3066 HDMI"
111	depends on DRM_ROCKCHIP
112	help
113	  This selects support for Rockchip SoC specific extensions
114	  for the RK3066 HDMI driver. If you want to enable
115	  HDMI on RK3066 based SoC, you should select this option.
116endif
117