xref: /linux/drivers/gpu/drm/msm/Kconfig (revision 111fdd2198e63b1e19ce015d95692d27bf6ce3fa)
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 OF
10	depends on QCOM_AOSS_QMP || QCOM_AOSS_QMP=n
11	depends on QCOM_OCMEM || QCOM_OCMEM=n
12	depends on QCOM_LLCC || QCOM_LLCC=n
13	depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n
14	depends on PM
15	select IOMMU_IO_PGTABLE
16	select QCOM_MDT_LOADER if ARCH_QCOM
17	select REGULATOR
18	select DRM_CLIENT_SELECTION
19	select DRM_DISPLAY_DP_AUX_BUS
20	select DRM_DISPLAY_DP_HELPER
21	select DRM_DISPLAY_HELPER
22	select DRM_BRIDGE_CONNECTOR
23	select DRM_EXEC
24	select DRM_GPUVM
25	select DRM_KMS_HELPER
26	select DRM_PANEL
27	select DRM_BRIDGE
28	select DRM_PANEL_BRIDGE
29	select DRM_SCHED
30	select FB_SYSMEM_HELPERS if DRM_FBDEV_EMULATION
31	select SHMEM
32	select TMPFS
33	select QCOM_SCM
34	select WANT_DEV_COREDUMP
35	select SND_SOC_HDMI_CODEC if SND_SOC
36	select SYNC_FILE
37	select PM_OPP
38	select NVMEM
39	select PM_GENERIC_DOMAINS
40	select TRACE_GPU_MEM
41	help
42	  DRM/KMS driver for MSM/snapdragon.
43
44config DRM_MSM_GPU_STATE
45	bool
46	depends on DRM_MSM && (DEBUG_FS || DEV_COREDUMP)
47	default y
48
49config DRM_MSM_GPU_SUDO
50	bool "Enable SUDO flag on submits"
51	depends on DRM_MSM && EXPERT
52	default n
53	help
54	  Enable userspace that has CAP_SYS_RAWIO to submit GPU commands
55	  that are run from RB instead of IB1.  This essentially gives
56	  userspace kernel level access, but is useful for firmware
57	  debugging.
58
59	  Only use this if you are a driver developer.  This should *not*
60	  be enabled for production kernels.  If unsure, say N.
61
62config DRM_MSM_VALIDATE_XML
63	bool "Validate XML register files against schema"
64	depends on DRM_MSM && EXPERT
65	depends on $(success,$(PYTHON3) -c "import lxml")
66	help
67	  Validate XML files with register definitions against rules-fd schema.
68	  This option is mostly targeting DRM MSM developers. If unsure, say N.
69
70config DRM_MSM_MDSS
71	bool
72	depends on DRM_MSM
73	default n
74
75config DRM_MSM_MDP4
76	bool "Enable MDP4 support in MSM DRM driver"
77	depends on DRM_MSM
78	default y
79	help
80	  Compile in support for the Mobile Display Processor v4 (MDP4) in
81	  the MSM DRM driver. It is the older display controller found in
82	  devices using APQ8064/MSM8960/MSM8x60 platforms.
83
84config DRM_MSM_MDP5
85	bool "Enable MDP5 support in MSM DRM driver"
86	depends on DRM_MSM
87	select DRM_MSM_MDSS
88	default y
89	help
90	  Compile in support for the Mobile Display Processor v5 (MDP5) in
91	  the MSM DRM driver. It is the display controller found in devices
92	  using e.g. APQ8016/MSM8916/APQ8096/MSM8996/MSM8974/SDM6x0 platforms.
93
94config DRM_MSM_DPU
95	bool "Enable DPU support in MSM DRM driver"
96	depends on DRM_MSM
97	select DRM_MSM_MDSS
98	select DRM_DISPLAY_DSC_HELPER
99	default y
100	help
101	  Compile in support for the Display Processing Unit in
102	  the MSM DRM driver. It is the display controller found in devices
103	  using e.g. SDM845 and newer platforms.
104
105config DRM_MSM_DP
106	bool "Enable DisplayPort support in MSM DRM driver"
107	depends on DRM_MSM
108	select DRM_DISPLAY_HDMI_AUDIO_HELPER
109	select RATIONAL
110	default y
111	help
112	  Compile in support for DP driver in MSM DRM driver. DP external
113	  display support is enabled through this config option. It can
114	  be primary or secondary display on device.
115
116config DRM_MSM_DSI
117	bool "Enable DSI support in MSM DRM driver"
118	depends on DRM_MSM
119	select DRM_PANEL
120	select DRM_MIPI_DSI
121	select DRM_DISPLAY_DSC_HELPER
122	default y
123	help
124	  Choose this option if you have a need for MIPI DSI connector
125	  support.
126
127config DRM_MSM_DSI_28NM_PHY
128	bool "Enable DSI 28nm PHY driver in MSM DRM"
129	depends on DRM_MSM_DSI
130	default y
131	help
132	  Choose this option if the 28nm DSI PHY is used on the platform.
133
134config DRM_MSM_DSI_20NM_PHY
135	bool "Enable DSI 20nm PHY driver in MSM DRM"
136	depends on DRM_MSM_DSI
137	default y
138	help
139	  Choose this option if the 20nm DSI PHY is used on the platform.
140
141config DRM_MSM_DSI_28NM_8960_PHY
142	bool "Enable DSI 28nm 8960 PHY driver in MSM DRM"
143	depends on DRM_MSM_DSI
144	default y
145	help
146	  Choose this option if the 28nm DSI PHY 8960 variant is used on the
147	  platform.
148
149config DRM_MSM_DSI_14NM_PHY
150	bool "Enable DSI 14nm PHY driver in MSM DRM (used by MSM8996/APQ8096)"
151	depends on DRM_MSM_DSI
152	default y
153	help
154	  Choose this option if DSI PHY on 8996 is used on the platform.
155
156config DRM_MSM_DSI_10NM_PHY
157	bool "Enable DSI 10nm PHY driver in MSM DRM (used by SDM845)"
158	depends on DRM_MSM_DSI
159	default y
160	help
161	  Choose this option if DSI PHY on SDM845 is used on the platform.
162
163config DRM_MSM_DSI_7NM_PHY
164	bool "Enable DSI 7nm/5nm/4nm PHY driver in MSM DRM"
165	depends on DRM_MSM_DSI
166	default y
167	help
168	  Choose this option if DSI PHY on SM8150/SM8250/SM8350/SM8450/SM8550/SC7280
169	  is used on the platform.
170
171config DRM_MSM_HDMI
172	bool "Enable HDMI support in MSM DRM driver"
173	depends on DRM_MSM
174	default y
175	select DRM_DISPLAY_HDMI_HELPER
176	select DRM_DISPLAY_HDMI_STATE_HELPER
177	help
178	  Compile in support for the HDMI output MSM DRM driver. It can
179	  be a primary or a secondary display on device. Note that this is used
180	  only for the direct HDMI output. If the device outputs HDMI data
181	  through some kind of DSI-to-HDMI bridge, this option can be disabled.
182
183config DRM_MSM_HDMI_HDCP
184	bool "Enable HDMI HDCP support in MSM DRM driver"
185	depends on DRM_MSM && DRM_MSM_HDMI
186	default y
187	help
188	  Choose this option to enable HDCP state machine
189