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