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