xref: /linux/drivers/gpu/drm/msm/Kconfig (revision 3fd6c59042dbba50391e30862beac979491145fe)
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
996ab215bSArnd Bergmann	depends on OF
1026c0b26dSBrian Masney	depends on QCOM_AOSS_QMP || QCOM_AOSS_QMP=n
115ea4dba6SArnd Bergmann	depends on QCOM_OCMEM || QCOM_OCMEM=n
125ea4dba6SArnd Bergmann	depends on QCOM_LLCC || QCOM_LLCC=n
1324a96719SArnd Bergmann	depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n
14b145c6e6SJordan Crouse	depends on PM
15bdab8e8bSArnd Bergmann	select IOMMU_IO_PGTABLE
16b7bbd640SRob Clark	select QCOM_MDT_LOADER if ARCH_QCOM
171e0b9b44SGeert Uytterhoeven	select REGULATOR
187fe302aeSGeert Uytterhoeven	select DRM_CLIENT_SELECTION
1905b8b6ddSGeert Uytterhoeven	select DRM_DISPLAY_DP_AUX_BUS
20*9da7ec9bSDmitry Baryshkov	select DRM_DISPLAY_DP_HELPER
21a6397e63SRob Clark	select DRM_DISPLAY_HELPER
22c8afe684SRob Clark	select DRM_BRIDGE_CONNECTOR
233e87599bSRob Clark	select DRM_EXEC
2463885c16SRob Clark	select DRM_KMS_HELPER
2563885c16SRob Clark	select DRM_PANEL
261d8a5ca4SRob Clark	select DRM_BRIDGE
27cd8a064fSThomas Zimmermann	select DRM_PANEL_BRIDGE
28c8afe684SRob Clark	select DRM_SCHED
29c8afe684SRob Clark	select FB_SYSMEM_HELPERS if DRM_FBDEV_EMULATION
30424953cfSArnd Bergmann	select SHMEM
31c0fec7f5SJordan Crouse	select TMPFS
32f1427016SSrinivas Kandagatla	select QCOM_SCM
33f0a42bb5SRob Clark	select WANT_DEV_COREDUMP
34ac20fa0aSRob Clark	select SND_SOC_HDMI_CODEC if SND_SOC
35f5b1a878SAkhil P Oommen	select SYNC_FILE
36c11fa120SAkhil P Oommen	select PM_OPP
37204226deSRob Clark	select NVMEM
38c8afe684SRob Clark	select PM_GENERIC_DOMAINS
39c8afe684SRob Clark	select TRACE_GPU_MEM
40c8afe684SRob Clark	help
41b02872dfSJordan Crouse	  DRM/KMS driver for MSM/snapdragon.
42b02872dfSJordan Crouse
43b02872dfSJordan Crouseconfig DRM_MSM_GPU_STATE
44b02872dfSJordan Crouse	bool
45b02872dfSJordan Crouse	depends on DRM_MSM && (DEBUG_FS || DEV_COREDUMP)
466a8bd08dSRob Clark	default y
476a8bd08dSRob Clark
486a8bd08dSRob Clarkconfig DRM_MSM_GPU_SUDO
496a8bd08dSRob Clark	bool "Enable SUDO flag on submits"
506a8bd08dSRob Clark	depends on DRM_MSM && EXPERT
516a8bd08dSRob Clark	default n
526a8bd08dSRob Clark	help
536a8bd08dSRob Clark	  Enable userspace that has CAP_SYS_RAWIO to submit GPU commands
546a8bd08dSRob Clark	  that are run from RB instead of IB1.  This essentially gives
556a8bd08dSRob Clark	  userspace kernel level access, but is useful for firmware
566a8bd08dSRob Clark	  debugging.
576a8bd08dSRob Clark
586a8bd08dSRob Clark	  Only use this if you are a driver developer.  This should *not*
59b587f413SDmitry Baryshkov	  be enabled for production kernels.  If unsure, say N.
60b587f413SDmitry Baryshkov
61b587f413SDmitry Baryshkovconfig DRM_MSM_VALIDATE_XML
62b587f413SDmitry Baryshkov	bool "Validate XML register files against schema"
63b587f413SDmitry Baryshkov	depends on DRM_MSM && EXPERT
64b587f413SDmitry Baryshkov	depends on $(success,$(PYTHON3) -c "import lxml")
65b587f413SDmitry Baryshkov	help
66b587f413SDmitry Baryshkov	  Validate XML files with register definitions against rules-fd schema.
67dc43e923SDmitry Baryshkov	  This option is mostly targeting DRM MSM developers. If unsure, say N.
68dc43e923SDmitry Baryshkov
69dc43e923SDmitry Baryshkovconfig DRM_MSM_MDSS
70dc43e923SDmitry Baryshkov	bool
71dc43e923SDmitry Baryshkov	depends on DRM_MSM
72dc43e923SDmitry Baryshkov	default n
73dc43e923SDmitry Baryshkov
74424953cfSArnd Bergmannconfig DRM_MSM_MDP4
75feb46f02SRob Clark	bool "Enable MDP4 support in MSM DRM driver"
76feb46f02SRob Clark	depends on DRM_MSM
77dc43e923SDmitry Baryshkov	default y
78dc43e923SDmitry Baryshkov	help
79dc43e923SDmitry Baryshkov	  Compile in support for the Mobile Display Processor v4 (MDP4) in
80dc43e923SDmitry Baryshkov	  the MSM DRM driver. It is the older display controller found in
81dc43e923SDmitry Baryshkov	  devices using APQ8064/MSM8960/MSM8x60 platforms.
82dc43e923SDmitry Baryshkov
83dc43e923SDmitry Baryshkovconfig DRM_MSM_MDP5
84dc43e923SDmitry Baryshkov	bool "Enable MDP5 support in MSM DRM driver"
85dc43e923SDmitry Baryshkov	depends on DRM_MSM
86dc43e923SDmitry Baryshkov	select DRM_MSM_MDSS
87dc43e923SDmitry Baryshkov	default y
88dc43e923SDmitry Baryshkov	help
89dc43e923SDmitry Baryshkov	  Compile in support for the Mobile Display Processor v5 (MDP5) in
90dc43e923SDmitry Baryshkov	  the MSM DRM driver. It is the display controller found in devices
91dc43e923SDmitry Baryshkov	  using e.g. APQ8016/MSM8916/APQ8096/MSM8996/MSM8974/SDM6x0 platforms.
92dc43e923SDmitry Baryshkov
93dc43e923SDmitry Baryshkovconfig DRM_MSM_DPU
94dc43e923SDmitry Baryshkov	bool "Enable DPU support in MSM DRM driver"
95dc43e923SDmitry Baryshkov	depends on DRM_MSM
96dc43e923SDmitry Baryshkov	select DRM_MSM_MDSS
97dc43e923SDmitry Baryshkov	select DRM_DISPLAY_DSC_HELPER
98dc43e923SDmitry Baryshkov	default y
99dc43e923SDmitry Baryshkov	help
100feb46f02SRob Clark	  Compile in support for the Display Processing Unit in
101c943b494SChandan Uddaraju	  the MSM DRM driver. It is the display controller found in devices
102c943b494SChandan Uddaraju	  using e.g. SDM845 and newer platforms.
103c943b494SChandan Uddaraju
10453d22794SJackie Liuconfig DRM_MSM_DP
10514975cffSChandan Uddaraju	bool "Enable DisplayPort support in MSM DRM driver"
106c943b494SChandan Uddaraju	depends on DRM_MSM
107c943b494SChandan Uddaraju	select RATIONAL
108c943b494SChandan Uddaraju	default y
109c943b494SChandan Uddaraju	help
110c943b494SChandan Uddaraju	  Compile in support for DP driver in MSM DRM driver. DP external
111a689554bSHai Li	  display support is enabled through this config option. It can
112a689554bSHai Li	  be primary or secondary display on device.
113a689554bSHai Li
114a689554bSHai Liconfig DRM_MSM_DSI
115a689554bSHai Li	bool "Enable DSI support in MSM DRM driver"
116a689554bSHai Li	depends on DRM_MSM
117a689554bSHai Li	select DRM_PANEL
118a689554bSHai Li	select DRM_MIPI_DSI
119a689554bSHai Li	select DRM_DISPLAY_DSC_HELPER
120a689554bSHai Li	default y
1211bf4d7c5SHai Li	help
1221bf4d7c5SHai Li	  Choose this option if you have a need for MIPI DSI connector
1231bf4d7c5SHai Li	  support.
1241bf4d7c5SHai Li
1251bf4d7c5SHai Liconfig DRM_MSM_DSI_28NM_PHY
1261bf4d7c5SHai Li	bool "Enable DSI 28nm PHY driver in MSM DRM"
1271bf4d7c5SHai Li	depends on DRM_MSM_DSI
1281bf4d7c5SHai Li	default y
1291bf4d7c5SHai Li	help
1301bf4d7c5SHai Li	  Choose this option if the 28nm DSI PHY is used on the platform.
1311bf4d7c5SHai Li
1321bf4d7c5SHai Liconfig DRM_MSM_DSI_20NM_PHY
1331bf4d7c5SHai Li	bool "Enable DSI 20nm PHY driver in MSM DRM"
134225380b3SArchit Taneja	depends on DRM_MSM_DSI
135225380b3SArchit Taneja	default y
136225380b3SArchit Taneja	help
137225380b3SArchit Taneja	  Choose this option if the 20nm DSI PHY is used on the platform.
138225380b3SArchit Taneja
139225380b3SArchit Tanejaconfig DRM_MSM_DSI_28NM_8960_PHY
140225380b3SArchit Taneja	bool "Enable DSI 28nm 8960 PHY driver in MSM DRM"
141225380b3SArchit Taneja	depends on DRM_MSM_DSI
142f079f6d9SArchit Taneja	default y
143f079f6d9SArchit Taneja	help
144f079f6d9SArchit Taneja	  Choose this option if the 28nm DSI PHY 8960 variant is used on the
145f079f6d9SArchit Taneja	  platform.
146f079f6d9SArchit Taneja
147f079f6d9SArchit Tanejaconfig DRM_MSM_DSI_14NM_PHY
148f079f6d9SArchit Taneja	bool "Enable DSI 14nm PHY driver in MSM DRM (used by MSM8996/APQ8096)"
149973e02dbSArchit Taneja	depends on DRM_MSM_DSI
150973e02dbSArchit Taneja	default y
151973e02dbSArchit Taneja	help
152973e02dbSArchit Taneja	  Choose this option if DSI PHY on 8996 is used on the platform.
153973e02dbSArchit Taneja
154973e02dbSArchit Tanejaconfig DRM_MSM_DSI_10NM_PHY
155973e02dbSArchit Taneja	bool "Enable DSI 10nm PHY driver in MSM DRM (used by SDM845)"
1561ef7c99dSJonathan Marek	depends on DRM_MSM_DSI
1571ef7c99dSJonathan Marek	default y
1588b034e67SNeil Armstrong	help
1591ef7c99dSJonathan Marek	  Choose this option if DSI PHY on SDM845 is used on the platform.
1601ef7c99dSJonathan Marek
1611ef7c99dSJonathan Marekconfig DRM_MSM_DSI_7NM_PHY
1628b034e67SNeil Armstrong	bool "Enable DSI 7nm/5nm/4nm PHY driver in MSM DRM"
1632f9ae4e3SDmitry Baryshkov	depends on DRM_MSM_DSI
164dc43e923SDmitry Baryshkov	default y
165dc43e923SDmitry Baryshkov	help
166dc43e923SDmitry Baryshkov	  Choose this option if DSI PHY on SM8150/SM8250/SM8350/SM8450/SM8550/SC7280
167dc43e923SDmitry Baryshkov	  is used on the platform.
168dc43e923SDmitry Baryshkov
169dc43e923SDmitry Baryshkovconfig DRM_MSM_HDMI
170dc43e923SDmitry Baryshkov	bool "Enable HDMI support in MSM DRM driver"
171dc43e923SDmitry Baryshkov	depends on DRM_MSM
172dc43e923SDmitry Baryshkov	default y
173e0e86f25SColin Ian King	help
174dc43e923SDmitry Baryshkov	  Compile in support for the HDMI output MSM DRM driver. It can
175dc43e923SDmitry Baryshkov	  be a primary or a secondary display on device. Note that this is used
176dc43e923SDmitry Baryshkov	  only for the direct HDMI output. If the device outputs HDMI data
177dc43e923SDmitry Baryshkov	  through some kind of DSI-to-HDMI bridge, this option can be disabled.
178dc43e923SDmitry Baryshkov
179dc43e923SDmitry Baryshkovconfig DRM_MSM_HDMI_HDCP
180dc43e923SDmitry Baryshkov	bool "Enable HDMI HDCP support in MSM DRM driver"
181	depends on DRM_MSM && DRM_MSM_HDMI
182	default y
183	help
184	  Choose this option to enable HDCP state machine
185