1# SPDX-License-Identifier: GPL-2.0-only
2
3config DRM_MSM
4	tristate "MSM DRM"
5	depends on DRM
6	depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST
7	depends on COMMON_CLK
8	depends on IOMMU_SUPPORT
9	depends on QCOM_OCMEM || QCOM_OCMEM=n
10	depends on QCOM_LLCC || QCOM_LLCC=n
11	depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n
12	select IOMMU_IO_PGTABLE
13	select QCOM_MDT_LOADER if ARCH_QCOM
14	select REGULATOR
15	select DRM_DP_AUX_BUS
16	select DRM_DISPLAY_DP_HELPER
17	select DRM_DISPLAY_HELPER
18	select DRM_KMS_HELPER
19	select DRM_PANEL
20	select DRM_BRIDGE
21	select DRM_PANEL_BRIDGE
22	select DRM_SCHED
23	select SHMEM
24	select TMPFS
25	select QCOM_SCM
26	select WANT_DEV_COREDUMP
27	select SND_SOC_HDMI_CODEC if SND_SOC
28	select SYNC_FILE
29	select PM_OPP
30	select NVMEM
31	help
32	  DRM/KMS driver for MSM/snapdragon.
33
34config DRM_MSM_GPU_STATE
35	bool
36	depends on DRM_MSM && (DEBUG_FS || DEV_COREDUMP)
37	default y
38
39config DRM_MSM_GPU_SUDO
40	bool "Enable SUDO flag on submits"
41	depends on DRM_MSM && EXPERT
42	default n
43	help
44	  Enable userspace that has CAP_SYS_RAWIO to submit GPU commands
45	  that are run from RB instead of IB1.  This essentially gives
46	  userspace kernel level access, but is useful for firmware
47	  debugging.
48
49	  Only use this if you are a driver developer.  This should *not*
50	  be enabled for production kernels.  If unsure, say N.
51
52config DRM_MSM_MDSS
53	bool
54	depends on DRM_MSM
55	default n
56
57config DRM_MSM_MDP4
58	bool "Enable MDP4 support in MSM DRM driver"
59	depends on DRM_MSM
60	default y
61	help
62	  Compile in support for the Mobile Display Processor v4 (MDP4) in
63	  the MSM DRM driver. It is the older display controller found in
64	  devices using APQ8064/MSM8960/MSM8x60 platforms.
65
66config DRM_MSM_MDP5
67	bool "Enable MDP5 support in MSM DRM driver"
68	depends on DRM_MSM
69	select DRM_MSM_MDSS
70	default y
71	help
72	  Compile in support for the Mobile Display Processor v5 (MDP5) in
73	  the MSM DRM driver. It is the display controller found in devices
74	  using e.g. APQ8016/MSM8916/APQ8096/MSM8996/MSM8974/SDM6x0 platforms.
75
76config DRM_MSM_DPU
77	bool "Enable DPU support in MSM DRM driver"
78	depends on DRM_MSM
79	select DRM_MSM_MDSS
80	default y
81	help
82	  Compile in support for the Display Processing Unit in
83	  the MSM DRM driver. It is the display controller found in devices
84	  using e.g. SDM845 and newer platforms.
85
86config DRM_MSM_DP
87	bool "Enable DisplayPort support in MSM DRM driver"
88	depends on DRM_MSM
89	select RATIONAL
90	default y
91	help
92	  Compile in support for DP driver in MSM DRM driver. DP external
93	  display support is enabled through this config option. It can
94	  be primary or secondary display on device.
95
96config DRM_MSM_DSI
97	bool "Enable DSI support in MSM DRM driver"
98	depends on DRM_MSM
99	select DRM_PANEL
100	select DRM_MIPI_DSI
101	default y
102	help
103	  Choose this option if you have a need for MIPI DSI connector
104	  support.
105
106config DRM_MSM_DSI_28NM_PHY
107	bool "Enable DSI 28nm PHY driver in MSM DRM"
108	depends on DRM_MSM_DSI
109	default y
110	help
111	  Choose this option if the 28nm DSI PHY is used on the platform.
112
113config DRM_MSM_DSI_20NM_PHY
114	bool "Enable DSI 20nm PHY driver in MSM DRM"
115	depends on DRM_MSM_DSI
116	default y
117	help
118	  Choose this option if the 20nm DSI PHY is used on the platform.
119
120config DRM_MSM_DSI_28NM_8960_PHY
121	bool "Enable DSI 28nm 8960 PHY driver in MSM DRM"
122	depends on DRM_MSM_DSI
123	default y
124	help
125	  Choose this option if the 28nm DSI PHY 8960 variant is used on the
126	  platform.
127
128config DRM_MSM_DSI_14NM_PHY
129	bool "Enable DSI 14nm PHY driver in MSM DRM (used by MSM8996/APQ8096)"
130	depends on DRM_MSM_DSI
131	default y
132	help
133	  Choose this option if DSI PHY on 8996 is used on the platform.
134
135config DRM_MSM_DSI_10NM_PHY
136	bool "Enable DSI 10nm PHY driver in MSM DRM (used by SDM845)"
137	depends on DRM_MSM_DSI
138	default y
139	help
140	  Choose this option if DSI PHY on SDM845 is used on the platform.
141
142config DRM_MSM_DSI_7NM_PHY
143	bool "Enable DSI 7nm PHY driver in MSM DRM"
144	depends on DRM_MSM_DSI
145	default y
146	help
147	  Choose this option if DSI PHY on SM8150/SM8250/SC7280 is used on
148	  the platform.
149
150config DRM_MSM_HDMI
151	bool "Enable HDMI support in MSM DRM driver"
152	depends on DRM_MSM
153	default y
154	help
155	  Compile in support for the HDMI output MSM DRM driver. It can
156	  be a primary or a secondary display on device. Note that this is used
157	  only for the direct HDMI output. If the device outputs HDMI data
158	  through some kind of DSI-to-HDMI bridge, this option can be disabled.
159
160config DRM_MSM_HDMI_HDCP
161	bool "Enable HDMI HDCP support in MSM DRM driver"
162	depends on DRM_MSM && DRM_MSM_HDMI
163	default y
164	help
165	  Choose this option to enable HDCP state machine
166