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_OCMEM || QCOM_OCMEM=n
10	depends on QCOM_LLCC || QCOM_LLCC=n
11	depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n
12	select IOMMU_IO_PGTABLE
13	select QCOM_MDT_LOADER if ARCH_QCOM
14	select REGULATOR
15	select DRM_KMS_HELPER
16	select DRM_PANEL
17	select DRM_BRIDGE
18	select DRM_PANEL_BRIDGE
19	select DRM_SCHED
20	select SHMEM
21	select TMPFS
22	select QCOM_SCM
23	select WANT_DEV_COREDUMP
24	select SND_SOC_HDMI_CODEC if SND_SOC
25	select SYNC_FILE
26	select PM_OPP
27	select NVMEM
28	help
29	  DRM/KMS driver for MSM/snapdragon.
30
31config DRM_MSM_GPU_STATE
32	bool
33	depends on DRM_MSM && (DEBUG_FS || DEV_COREDUMP)
34	default y
35
36config DRM_MSM_REGISTER_LOGGING
37	bool "MSM DRM register logging"
38	depends on DRM_MSM
39	default n
40	help
41	  Compile in support for logging register reads/writes in a format
42	  that can be parsed by envytools demsm tool.  If enabled, register
43	  logging can be switched on via msm.reglog=y module param.
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_HDMI_HDCP
59	bool "Enable HDMI HDCP support in MSM DRM driver"
60	depends on DRM_MSM
61	default y
62	help
63	  Choose this option to enable HDCP state machine
64
65config DRM_MSM_DP
66	bool "Enable DisplayPort support in MSM DRM driver"
67	depends on DRM_MSM
68	default y
69	help
70	  Compile in support for DP driver in MSM DRM driver. DP external
71	  display support is enabled through this config option. It can
72	  be primary or secondary display on device.
73
74config DRM_MSM_DSI
75	bool "Enable DSI support in MSM DRM driver"
76	depends on DRM_MSM
77	select DRM_PANEL
78	select DRM_MIPI_DSI
79	default y
80	help
81	  Choose this option if you have a need for MIPI DSI connector
82	  support.
83
84config DRM_MSM_DSI_28NM_PHY
85	bool "Enable DSI 28nm PHY driver in MSM DRM"
86	depends on DRM_MSM_DSI
87	default y
88	help
89	  Choose this option if the 28nm DSI PHY is used on the platform.
90
91config DRM_MSM_DSI_20NM_PHY
92	bool "Enable DSI 20nm PHY driver in MSM DRM"
93	depends on DRM_MSM_DSI
94	default y
95	help
96	  Choose this option if the 20nm DSI PHY is used on the platform.
97
98config DRM_MSM_DSI_28NM_8960_PHY
99	bool "Enable DSI 28nm 8960 PHY driver in MSM DRM"
100	depends on DRM_MSM_DSI
101	default y
102	help
103	  Choose this option if the 28nm DSI PHY 8960 variant is used on the
104	  platform.
105
106config DRM_MSM_DSI_14NM_PHY
107	bool "Enable DSI 14nm PHY driver in MSM DRM (used by MSM8996/APQ8096)"
108	depends on DRM_MSM_DSI
109	default y
110	help
111	  Choose this option if DSI PHY on 8996 is used on the platform.
112
113config DRM_MSM_DSI_10NM_PHY
114	bool "Enable DSI 10nm PHY driver in MSM DRM (used by SDM845)"
115	depends on DRM_MSM_DSI
116	default y
117	help
118	  Choose this option if DSI PHY on SDM845 is used on the platform.
119
120config DRM_MSM_DSI_7NM_PHY
121	bool "Enable DSI 7nm PHY driver in MSM DRM"
122	depends on DRM_MSM_DSI
123	default y
124	help
125	  Choose this option if DSI PHY on SM8150/SM8250/SC7280 is used on
126	  the platform.
127