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