xref: /linux/drivers/gpu/drm/msm/Kconfig (revision 45a2974157d2d8b6f26911582d64089cab992d8b)
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
1424a96719SArnd Bergmann	depends on PM
15b145c6e6SJordan Crouse	select IOMMU_IO_PGTABLE
16bdab8e8bSArnd Bergmann	select QCOM_MDT_LOADER if ARCH_QCOM
17b7bbd640SRob Clark	select REGULATOR
18fe96a73aSThomas Zimmermann	select DRM_CLIENT_SELECTION
191e0b9b44SGeert Uytterhoeven	select DRM_DISPLAY_DP_AUX_BUS
207fe302aeSGeert Uytterhoeven	select DRM_DISPLAY_DP_HELPER
2105b8b6ddSGeert Uytterhoeven	select DRM_DISPLAY_HELPER
229da7ec9bSDmitry Baryshkov	select DRM_BRIDGE_CONNECTOR
23a6397e63SRob Clark	select DRM_EXEC
24111fdd21SRob Clark	select DRM_GPUVM
25c8afe684SRob Clark	select DRM_KMS_HELPER
263e87599bSRob Clark	select DRM_PANEL
2763885c16SRob Clark	select DRM_BRIDGE
2863885c16SRob Clark	select DRM_PANEL_BRIDGE
291d8a5ca4SRob Clark	select DRM_SCHED
30cd8a064fSThomas Zimmermann	select FB_SYSMEM_HELPERS if DRM_FBDEV_EMULATION
31c8afe684SRob Clark	select SHMEM
32c8afe684SRob Clark	select TMPFS
33424953cfSArnd Bergmann	select QCOM_SCM
34*45a29741SKonrad Dybcio	select QCOM_UBWC_CONFIG
35c0fec7f5SJordan Crouse	select WANT_DEV_COREDUMP
36f1427016SSrinivas Kandagatla	select SND_SOC_HDMI_CODEC if SND_SOC
37f0a42bb5SRob Clark	select SYNC_FILE
38ac20fa0aSRob Clark	select PM_OPP
39f5b1a878SAkhil P Oommen	select NVMEM
40c11fa120SAkhil P Oommen	select PM_GENERIC_DOMAINS
41204226deSRob Clark	select TRACE_GPU_MEM
42c8afe684SRob Clark	help
43c8afe684SRob Clark	  DRM/KMS driver for MSM/snapdragon.
44c8afe684SRob Clark
45b02872dfSJordan Crouseconfig DRM_MSM_GPU_STATE
46b02872dfSJordan Crouse	bool
47b02872dfSJordan Crouse	depends on DRM_MSM && (DEBUG_FS || DEV_COREDUMP)
48b02872dfSJordan Crouse	default y
49b02872dfSJordan Crouse
506a8bd08dSRob Clarkconfig DRM_MSM_GPU_SUDO
516a8bd08dSRob Clark	bool "Enable SUDO flag on submits"
526a8bd08dSRob Clark	depends on DRM_MSM && EXPERT
536a8bd08dSRob Clark	default n
546a8bd08dSRob Clark	help
556a8bd08dSRob Clark	  Enable userspace that has CAP_SYS_RAWIO to submit GPU commands
566a8bd08dSRob Clark	  that are run from RB instead of IB1.  This essentially gives
576a8bd08dSRob Clark	  userspace kernel level access, but is useful for firmware
586a8bd08dSRob Clark	  debugging.
596a8bd08dSRob Clark
606a8bd08dSRob Clark	  Only use this if you are a driver developer.  This should *not*
616a8bd08dSRob Clark	  be enabled for production kernels.  If unsure, say N.
626a8bd08dSRob Clark
63b587f413SDmitry Baryshkovconfig DRM_MSM_VALIDATE_XML
64b587f413SDmitry Baryshkov	bool "Validate XML register files against schema"
65b587f413SDmitry Baryshkov	depends on DRM_MSM && EXPERT
66b587f413SDmitry Baryshkov	depends on $(success,$(PYTHON3) -c "import lxml")
67b587f413SDmitry Baryshkov	help
68b587f413SDmitry Baryshkov	  Validate XML files with register definitions against rules-fd schema.
69b587f413SDmitry Baryshkov	  This option is mostly targeting DRM MSM developers. If unsure, say N.
70b587f413SDmitry Baryshkov
71dc43e923SDmitry Baryshkovconfig DRM_MSM_MDSS
72dc43e923SDmitry Baryshkov	bool
73dc43e923SDmitry Baryshkov	depends on DRM_MSM
74dc43e923SDmitry Baryshkov	default n
75dc43e923SDmitry Baryshkov
76dc43e923SDmitry Baryshkovconfig DRM_MSM_MDP4
77dc43e923SDmitry Baryshkov	bool "Enable MDP4 support in MSM DRM driver"
78424953cfSArnd Bergmann	depends on DRM_MSM
79feb46f02SRob Clark	default y
80feb46f02SRob Clark	help
81dc43e923SDmitry Baryshkov	  Compile in support for the Mobile Display Processor v4 (MDP4) in
82dc43e923SDmitry Baryshkov	  the MSM DRM driver. It is the older display controller found in
83dc43e923SDmitry Baryshkov	  devices using APQ8064/MSM8960/MSM8x60 platforms.
84dc43e923SDmitry Baryshkov
85dc43e923SDmitry Baryshkovconfig DRM_MSM_MDP5
86dc43e923SDmitry Baryshkov	bool "Enable MDP5 support in MSM DRM driver"
87dc43e923SDmitry Baryshkov	depends on DRM_MSM
88dc43e923SDmitry Baryshkov	select DRM_MSM_MDSS
89dc43e923SDmitry Baryshkov	default y
90dc43e923SDmitry Baryshkov	help
91dc43e923SDmitry Baryshkov	  Compile in support for the Mobile Display Processor v5 (MDP5) in
92dc43e923SDmitry Baryshkov	  the MSM DRM driver. It is the display controller found in devices
93dc43e923SDmitry Baryshkov	  using e.g. APQ8016/MSM8916/APQ8096/MSM8996/MSM8974/SDM6x0 platforms.
94dc43e923SDmitry Baryshkov
95dc43e923SDmitry Baryshkovconfig DRM_MSM_DPU
96dc43e923SDmitry Baryshkov	bool "Enable DPU support in MSM DRM driver"
97dc43e923SDmitry Baryshkov	depends on DRM_MSM
98dc43e923SDmitry Baryshkov	select DRM_MSM_MDSS
998a8a3120SDmitry Baryshkov	select DRM_DISPLAY_DSC_HELPER
100dc43e923SDmitry Baryshkov	default y
101dc43e923SDmitry Baryshkov	help
102dc43e923SDmitry Baryshkov	  Compile in support for the Display Processing Unit in
103dc43e923SDmitry Baryshkov	  the MSM DRM driver. It is the display controller found in devices
104dc43e923SDmitry Baryshkov	  using e.g. SDM845 and newer platforms.
105feb46f02SRob Clark
106c943b494SChandan Uddarajuconfig DRM_MSM_DP
107c943b494SChandan Uddaraju	bool "Enable DisplayPort support in MSM DRM driver"
108c943b494SChandan Uddaraju	depends on DRM_MSM
10998a8920eSDmitry Baryshkov	select DRM_DISPLAY_HDMI_AUDIO_HELPER
11053d22794SJackie Liu	select RATIONAL
11114975cffSChandan Uddaraju	default y
112c943b494SChandan Uddaraju	help
113c943b494SChandan Uddaraju	  Compile in support for DP driver in MSM DRM driver. DP external
114c943b494SChandan Uddaraju	  display support is enabled through this config option. It can
115c943b494SChandan Uddaraju	  be primary or secondary display on device.
116c943b494SChandan Uddaraju
117a689554bSHai Liconfig DRM_MSM_DSI
118a689554bSHai Li	bool "Enable DSI support in MSM DRM driver"
119a689554bSHai Li	depends on DRM_MSM
120a689554bSHai Li	select DRM_PANEL
121a689554bSHai Li	select DRM_MIPI_DSI
122ca097d4dSDmitry Baryshkov	select DRM_DISPLAY_DSC_HELPER
123a689554bSHai Li	default y
124a689554bSHai Li	help
125a689554bSHai Li	  Choose this option if you have a need for MIPI DSI connector
126a689554bSHai Li	  support.
127a689554bSHai Li
1281bf4d7c5SHai Liconfig DRM_MSM_DSI_28NM_PHY
1291bf4d7c5SHai Li	bool "Enable DSI 28nm PHY driver in MSM DRM"
1301bf4d7c5SHai Li	depends on DRM_MSM_DSI
1311bf4d7c5SHai Li	default y
1321bf4d7c5SHai Li	help
1331bf4d7c5SHai Li	  Choose this option if the 28nm DSI PHY is used on the platform.
1341bf4d7c5SHai Li
1351bf4d7c5SHai Liconfig DRM_MSM_DSI_20NM_PHY
1361bf4d7c5SHai Li	bool "Enable DSI 20nm PHY driver in MSM DRM"
1371bf4d7c5SHai Li	depends on DRM_MSM_DSI
1381bf4d7c5SHai Li	default y
1391bf4d7c5SHai Li	help
1401bf4d7c5SHai Li	  Choose this option if the 20nm DSI PHY is used on the platform.
141225380b3SArchit Taneja
142225380b3SArchit Tanejaconfig DRM_MSM_DSI_28NM_8960_PHY
143225380b3SArchit Taneja	bool "Enable DSI 28nm 8960 PHY driver in MSM DRM"
144225380b3SArchit Taneja	depends on DRM_MSM_DSI
145225380b3SArchit Taneja	default y
146225380b3SArchit Taneja	help
147225380b3SArchit Taneja	  Choose this option if the 28nm DSI PHY 8960 variant is used on the
148225380b3SArchit Taneja	  platform.
149f079f6d9SArchit Taneja
150f079f6d9SArchit Tanejaconfig DRM_MSM_DSI_14NM_PHY
151f079f6d9SArchit Taneja	bool "Enable DSI 14nm PHY driver in MSM DRM (used by MSM8996/APQ8096)"
152f079f6d9SArchit Taneja	depends on DRM_MSM_DSI
153f079f6d9SArchit Taneja	default y
154f079f6d9SArchit Taneja	help
155f079f6d9SArchit Taneja	  Choose this option if DSI PHY on 8996 is used on the platform.
156973e02dbSArchit Taneja
157973e02dbSArchit Tanejaconfig DRM_MSM_DSI_10NM_PHY
158973e02dbSArchit Taneja	bool "Enable DSI 10nm PHY driver in MSM DRM (used by SDM845)"
159973e02dbSArchit Taneja	depends on DRM_MSM_DSI
160973e02dbSArchit Taneja	default y
161973e02dbSArchit Taneja	help
162973e02dbSArchit Taneja	  Choose this option if DSI PHY on SDM845 is used on the platform.
1631ef7c99dSJonathan Marek
1641ef7c99dSJonathan Marekconfig DRM_MSM_DSI_7NM_PHY
1658b034e67SNeil Armstrong	bool "Enable DSI 7nm/5nm/4nm PHY driver in MSM DRM"
1661ef7c99dSJonathan Marek	depends on DRM_MSM_DSI
1671ef7c99dSJonathan Marek	default y
1681ef7c99dSJonathan Marek	help
1698b034e67SNeil Armstrong	  Choose this option if DSI PHY on SM8150/SM8250/SM8350/SM8450/SM8550/SC7280
1702f9ae4e3SDmitry Baryshkov	  is used on the platform.
171dc43e923SDmitry Baryshkov
172dc43e923SDmitry Baryshkovconfig DRM_MSM_HDMI
173dc43e923SDmitry Baryshkov	bool "Enable HDMI support in MSM DRM driver"
174dc43e923SDmitry Baryshkov	depends on DRM_MSM
175dc43e923SDmitry Baryshkov	default y
176384d2b03SDmitry Baryshkov	select DRM_DISPLAY_HDMI_HELPER
177384d2b03SDmitry Baryshkov	select DRM_DISPLAY_HDMI_STATE_HELPER
178dc43e923SDmitry Baryshkov	help
179dc43e923SDmitry Baryshkov	  Compile in support for the HDMI output MSM DRM driver. It can
180dc43e923SDmitry Baryshkov	  be a primary or a secondary display on device. Note that this is used
181dc43e923SDmitry Baryshkov	  only for the direct HDMI output. If the device outputs HDMI data
182e0e86f25SColin Ian King	  through some kind of DSI-to-HDMI bridge, this option can be disabled.
183dc43e923SDmitry Baryshkov
184dc43e923SDmitry Baryshkovconfig DRM_MSM_HDMI_HDCP
185dc43e923SDmitry Baryshkov	bool "Enable HDMI HDCP support in MSM DRM driver"
186dc43e923SDmitry Baryshkov	depends on DRM_MSM && DRM_MSM_HDMI
187dc43e923SDmitry Baryshkov	default y
188dc43e923SDmitry Baryshkov	help
189dc43e923SDmitry Baryshkov	  Choose this option to enable HDCP state machine
190