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