xref: /linux/drivers/gpu/drm/msm/Kconfig (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2c8afe684SRob Clark
3c8afe684SRob Clarkconfig DRM_MSM
4c8afe684SRob Clark	tristate "MSM DRM"
505b8b6ddSGeert Uytterhoeven	depends on DRM
6b3ed524fSChristian König	depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST
7afece15aSArnd Bergmann	depends on COMMON_CLK
8e319a1b9SArnd Bergmann	depends on IOMMU_SUPPORT
92063ca42SJean Delvare	depends on OF
1096ab215bSArnd Bergmann	depends on QCOM_AOSS_QMP || QCOM_AOSS_QMP=n
1126c0b26dSBrian Masney	depends on QCOM_OCMEM || QCOM_OCMEM=n
125ea4dba6SArnd Bergmann	depends on QCOM_LLCC || QCOM_LLCC=n
135ea4dba6SArnd Bergmann	depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n
14*a1ee4bb2SDaniel Baluta	depends on QCOM_SMEM || QCOM_SMEM=n
1524a96719SArnd Bergmann	depends on PM
16b145c6e6SJordan Crouse	select IOMMU_IO_PGTABLE
17bdab8e8bSArnd Bergmann	select QCOM_MDT_LOADER if ARCH_QCOM
18b7bbd640SRob Clark	select REGULATOR
19a6397e63SRob Clark	select DRM_EXEC
20111fdd21SRob Clark	select DRM_GPUVM
211d8a5ca4SRob Clark	select DRM_SCHED
22c8afe684SRob Clark	select SHMEM
23c8afe684SRob Clark	select TMPFS
24424953cfSArnd Bergmann	select QCOM_SCM
250be72be0SSumit Garg	select QCOM_PAS
26*a1ee4bb2SDaniel Baluta	select QCOM_UBWC_CONFIG if ARCH_QCOM && QCOM_SMEM
27c0fec7f5SJordan Crouse	select WANT_DEV_COREDUMP
28f1427016SSrinivas Kandagatla	select SND_SOC_HDMI_CODEC if SND_SOC
29f0a42bb5SRob Clark	select SYNC_FILE
30ac20fa0aSRob Clark	select PM_OPP
31f5b1a878SAkhil P Oommen	select NVMEM
32c11fa120SAkhil P Oommen	select PM_GENERIC_DOMAINS
33204226deSRob Clark	select TRACE_GPU_MEM
34c8afe684SRob Clark	help
35c8afe684SRob Clark	  DRM/KMS driver for MSM/snapdragon.
36c8afe684SRob Clark
37b02872dfSJordan Crouseconfig DRM_MSM_GPU_STATE
38b02872dfSJordan Crouse	bool
39b02872dfSJordan Crouse	depends on DRM_MSM && (DEBUG_FS || DEV_COREDUMP)
40b02872dfSJordan Crouse	default y
41b02872dfSJordan Crouse
426a8bd08dSRob Clarkconfig DRM_MSM_GPU_SUDO
436a8bd08dSRob Clark	bool "Enable SUDO flag on submits"
446a8bd08dSRob Clark	depends on DRM_MSM && EXPERT
456a8bd08dSRob Clark	default n
466a8bd08dSRob Clark	help
476a8bd08dSRob Clark	  Enable userspace that has CAP_SYS_RAWIO to submit GPU commands
486a8bd08dSRob Clark	  that are run from RB instead of IB1.  This essentially gives
496a8bd08dSRob Clark	  userspace kernel level access, but is useful for firmware
506a8bd08dSRob Clark	  debugging.
516a8bd08dSRob Clark
526a8bd08dSRob Clark	  Only use this if you are a driver developer.  This should *not*
536a8bd08dSRob Clark	  be enabled for production kernels.  If unsure, say N.
546a8bd08dSRob Clark
55b587f413SDmitry Baryshkovconfig DRM_MSM_VALIDATE_XML
56b587f413SDmitry Baryshkov	bool "Validate XML register files against schema"
57b587f413SDmitry Baryshkov	depends on DRM_MSM && EXPERT
58b587f413SDmitry Baryshkov	depends on $(success,$(PYTHON3) -c "import lxml")
59b587f413SDmitry Baryshkov	help
60b587f413SDmitry Baryshkov	  Validate XML files with register definitions against rules-fd schema.
61b587f413SDmitry Baryshkov	  This option is mostly targeting DRM MSM developers. If unsure, say N.
62b587f413SDmitry Baryshkov
6398290b0aSDmitry Baryshkovconfig DRM_MSM_KMS
6498290b0aSDmitry Baryshkov	def_bool n
6598290b0aSDmitry Baryshkov	depends on DRM_MSM
6627c35473SDmitry Baryshkov	select DRM_BRIDGE
6727c35473SDmitry Baryshkov	select DRM_BRIDGE_CONNECTOR
6827c35473SDmitry Baryshkov	select DRM_CLIENT_SELECTION
6927c35473SDmitry Baryshkov	select DRM_DISPLAY_HELPER
7027c35473SDmitry Baryshkov	select DRM_KMS_HELPER
7127c35473SDmitry Baryshkov	select DRM_PANEL
7227c35473SDmitry Baryshkov	select DRM_PANEL_BRIDGE
7398290b0aSDmitry Baryshkov
7498290b0aSDmitry Baryshkovconfig DRM_MSM_KMS_FBDEV
7598290b0aSDmitry Baryshkov	def_bool DRM_FBDEV_EMULATION
7698290b0aSDmitry Baryshkov	depends on DRM_MSM_KMS
7727c35473SDmitry Baryshkov	select FB_SYSMEM_HELPERS
7898290b0aSDmitry Baryshkov
79dc43e923SDmitry Baryshkovconfig DRM_MSM_MDSS
80dc43e923SDmitry Baryshkov	bool
81dc43e923SDmitry Baryshkov	depends on DRM_MSM
82dc43e923SDmitry Baryshkov	default n
83dc43e923SDmitry Baryshkov
84dc43e923SDmitry Baryshkovconfig DRM_MSM_MDP4
85dc43e923SDmitry Baryshkov	bool "Enable MDP4 support in MSM DRM driver"
86424953cfSArnd Bergmann	depends on DRM_MSM
8798290b0aSDmitry Baryshkov	select DRM_MSM_KMS
88feb46f02SRob Clark	default y
89feb46f02SRob Clark	help
90dc43e923SDmitry Baryshkov	  Compile in support for the Mobile Display Processor v4 (MDP4) in
91dc43e923SDmitry Baryshkov	  the MSM DRM driver. It is the older display controller found in
92dc43e923SDmitry Baryshkov	  devices using APQ8064/MSM8960/MSM8x60 platforms.
93dc43e923SDmitry Baryshkov
94dc43e923SDmitry Baryshkovconfig DRM_MSM_MDP5
95dc43e923SDmitry Baryshkov	bool "Enable MDP5 support in MSM DRM driver"
96dc43e923SDmitry Baryshkov	depends on DRM_MSM
97dc43e923SDmitry Baryshkov	select DRM_MSM_MDSS
9898290b0aSDmitry Baryshkov	select DRM_MSM_KMS
99dc43e923SDmitry Baryshkov	default y
100dc43e923SDmitry Baryshkov	help
101dc43e923SDmitry Baryshkov	  Compile in support for the Mobile Display Processor v5 (MDP5) in
102dc43e923SDmitry Baryshkov	  the MSM DRM driver. It is the display controller found in devices
103dc43e923SDmitry Baryshkov	  using e.g. APQ8016/MSM8916/APQ8096/MSM8996/MSM8974/SDM6x0 platforms.
104dc43e923SDmitry Baryshkov
105dc43e923SDmitry Baryshkovconfig DRM_MSM_DPU
106dc43e923SDmitry Baryshkov	bool "Enable DPU support in MSM DRM driver"
107dc43e923SDmitry Baryshkov	depends on DRM_MSM
108dc43e923SDmitry Baryshkov	select DRM_MSM_MDSS
10998290b0aSDmitry Baryshkov	select DRM_MSM_KMS
1108a8a3120SDmitry Baryshkov	select DRM_DISPLAY_DSC_HELPER
111dc43e923SDmitry Baryshkov	default y
112dc43e923SDmitry Baryshkov	help
113dc43e923SDmitry Baryshkov	  Compile in support for the Display Processing Unit in
114dc43e923SDmitry Baryshkov	  the MSM DRM driver. It is the display controller found in devices
115dc43e923SDmitry Baryshkov	  using e.g. SDM845 and newer platforms.
116feb46f02SRob Clark
117c943b494SChandan Uddarajuconfig DRM_MSM_DP
118c943b494SChandan Uddaraju	bool "Enable DisplayPort support in MSM DRM driver"
119c943b494SChandan Uddaraju	depends on DRM_MSM
12098290b0aSDmitry Baryshkov	depends on DRM_MSM_KMS
12198a8920eSDmitry Baryshkov	select DRM_DISPLAY_HDMI_AUDIO_HELPER
12253d22794SJackie Liu	select RATIONAL
12327c35473SDmitry Baryshkov	select DRM_DISPLAY_DP_AUX_BUS
12427c35473SDmitry Baryshkov	select DRM_DISPLAY_DP_HELPER
12514975cffSChandan Uddaraju	default y
126c943b494SChandan Uddaraju	help
127c943b494SChandan Uddaraju	  Compile in support for DP driver in MSM DRM driver. DP external
128c943b494SChandan Uddaraju	  display support is enabled through this config option. It can
129c943b494SChandan Uddaraju	  be primary or secondary display on device.
130c943b494SChandan Uddaraju
131a689554bSHai Liconfig DRM_MSM_DSI
132a689554bSHai Li	bool "Enable DSI support in MSM DRM driver"
133a689554bSHai Li	depends on DRM_MSM
13498290b0aSDmitry Baryshkov	depends on DRM_MSM_KMS
135a689554bSHai Li	select DRM_PANEL
136a689554bSHai Li	select DRM_MIPI_DSI
137ca097d4dSDmitry Baryshkov	select DRM_DISPLAY_DSC_HELPER
138a689554bSHai Li	default y
139a689554bSHai Li	help
140a689554bSHai Li	  Choose this option if you have a need for MIPI DSI connector
141a689554bSHai Li	  support.
142a689554bSHai Li
1431bf4d7c5SHai Liconfig DRM_MSM_DSI_28NM_PHY
1441bf4d7c5SHai Li	bool "Enable DSI 28nm PHY driver in MSM DRM"
1451bf4d7c5SHai Li	depends on DRM_MSM_DSI
1461bf4d7c5SHai Li	default y
1471bf4d7c5SHai Li	help
1481bf4d7c5SHai Li	  Choose this option if the 28nm DSI PHY is used on the platform.
1491bf4d7c5SHai Li
1501bf4d7c5SHai Liconfig DRM_MSM_DSI_20NM_PHY
1511bf4d7c5SHai Li	bool "Enable DSI 20nm PHY driver in MSM DRM"
1521bf4d7c5SHai Li	depends on DRM_MSM_DSI
1531bf4d7c5SHai Li	default y
1541bf4d7c5SHai Li	help
1551bf4d7c5SHai Li	  Choose this option if the 20nm DSI PHY is used on the platform.
156225380b3SArchit Taneja
157225380b3SArchit Tanejaconfig DRM_MSM_DSI_28NM_8960_PHY
158225380b3SArchit Taneja	bool "Enable DSI 28nm 8960 PHY driver in MSM DRM"
159225380b3SArchit Taneja	depends on DRM_MSM_DSI
160225380b3SArchit Taneja	default y
161225380b3SArchit Taneja	help
162225380b3SArchit Taneja	  Choose this option if the 28nm DSI PHY 8960 variant is used on the
163225380b3SArchit Taneja	  platform.
164f079f6d9SArchit Taneja
165f079f6d9SArchit Tanejaconfig DRM_MSM_DSI_14NM_PHY
166f079f6d9SArchit Taneja	bool "Enable DSI 14nm PHY driver in MSM DRM (used by MSM8996/APQ8096)"
167f079f6d9SArchit Taneja	depends on DRM_MSM_DSI
168f079f6d9SArchit Taneja	default y
169f079f6d9SArchit Taneja	help
170f079f6d9SArchit Taneja	  Choose this option if DSI PHY on 8996 is used on the platform.
171973e02dbSArchit Taneja
172973e02dbSArchit Tanejaconfig DRM_MSM_DSI_10NM_PHY
173973e02dbSArchit Taneja	bool "Enable DSI 10nm PHY driver in MSM DRM (used by SDM845)"
174973e02dbSArchit Taneja	depends on DRM_MSM_DSI
175973e02dbSArchit Taneja	default y
176973e02dbSArchit Taneja	help
177973e02dbSArchit Taneja	  Choose this option if DSI PHY on SDM845 is used on the platform.
1781ef7c99dSJonathan Marek
1791ef7c99dSJonathan Marekconfig DRM_MSM_DSI_7NM_PHY
1808b034e67SNeil Armstrong	bool "Enable DSI 7nm/5nm/4nm PHY driver in MSM DRM"
1811ef7c99dSJonathan Marek	depends on DRM_MSM_DSI
1821ef7c99dSJonathan Marek	default y
1831ef7c99dSJonathan Marek	help
1848b034e67SNeil Armstrong	  Choose this option if DSI PHY on SM8150/SM8250/SM8350/SM8450/SM8550/SC7280
1852f9ae4e3SDmitry Baryshkov	  is used on the platform.
186dc43e923SDmitry Baryshkov
187dc43e923SDmitry Baryshkovconfig DRM_MSM_HDMI
188dc43e923SDmitry Baryshkov	bool "Enable HDMI support in MSM DRM driver"
189dc43e923SDmitry Baryshkov	depends on DRM_MSM
19098290b0aSDmitry Baryshkov	depends on DRM_MSM_KMS
191dc43e923SDmitry Baryshkov	default y
192384d2b03SDmitry Baryshkov	select DRM_DISPLAY_HDMI_HELPER
193384d2b03SDmitry Baryshkov	select DRM_DISPLAY_HDMI_STATE_HELPER
194dc43e923SDmitry Baryshkov	help
195dc43e923SDmitry Baryshkov	  Compile in support for the HDMI output MSM DRM driver. It can
196dc43e923SDmitry Baryshkov	  be a primary or a secondary display on device. Note that this is used
197dc43e923SDmitry Baryshkov	  only for the direct HDMI output. If the device outputs HDMI data
198e0e86f25SColin Ian King	  through some kind of DSI-to-HDMI bridge, this option can be disabled.
199dc43e923SDmitry Baryshkov
200dc43e923SDmitry Baryshkovconfig DRM_MSM_HDMI_HDCP
201dc43e923SDmitry Baryshkov	bool "Enable HDMI HDCP support in MSM DRM driver"
202dc43e923SDmitry Baryshkov	depends on DRM_MSM && DRM_MSM_HDMI
203dc43e923SDmitry Baryshkov	default y
204dc43e923SDmitry Baryshkov	help
205dc43e923SDmitry Baryshkov	  Choose this option to enable HDCP state machine
206