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