162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciconfig DRM_MSM
462306a36Sopenharmony_ci	tristate "MSM DRM"
562306a36Sopenharmony_ci	depends on DRM
662306a36Sopenharmony_ci	depends on ARCH_QCOM || SOC_IMX5 || COMPILE_TEST
762306a36Sopenharmony_ci	depends on COMMON_CLK
862306a36Sopenharmony_ci	depends on IOMMU_SUPPORT
962306a36Sopenharmony_ci	depends on QCOM_OCMEM || QCOM_OCMEM=n
1062306a36Sopenharmony_ci	depends on QCOM_LLCC || QCOM_LLCC=n
1162306a36Sopenharmony_ci	depends on QCOM_COMMAND_DB || QCOM_COMMAND_DB=n
1262306a36Sopenharmony_ci	depends on PM
1362306a36Sopenharmony_ci	select IOMMU_IO_PGTABLE
1462306a36Sopenharmony_ci	select QCOM_MDT_LOADER if ARCH_QCOM
1562306a36Sopenharmony_ci	select REGULATOR
1662306a36Sopenharmony_ci	select DRM_DP_AUX_BUS
1762306a36Sopenharmony_ci	select DRM_DISPLAY_DP_HELPER
1862306a36Sopenharmony_ci	select DRM_DISPLAY_HELPER
1962306a36Sopenharmony_ci	select DRM_KMS_HELPER
2062306a36Sopenharmony_ci	select DRM_PANEL
2162306a36Sopenharmony_ci	select DRM_BRIDGE
2262306a36Sopenharmony_ci	select DRM_PANEL_BRIDGE
2362306a36Sopenharmony_ci	select DRM_SCHED
2462306a36Sopenharmony_ci	select FB_SYSMEM_HELPERS if DRM_FBDEV_EMULATION
2562306a36Sopenharmony_ci	select SHMEM
2662306a36Sopenharmony_ci	select TMPFS
2762306a36Sopenharmony_ci	select QCOM_SCM
2862306a36Sopenharmony_ci	select WANT_DEV_COREDUMP
2962306a36Sopenharmony_ci	select SND_SOC_HDMI_CODEC if SND_SOC
3062306a36Sopenharmony_ci	select SYNC_FILE
3162306a36Sopenharmony_ci	select PM_OPP
3262306a36Sopenharmony_ci	select NVMEM
3362306a36Sopenharmony_ci	select PM_GENERIC_DOMAINS
3462306a36Sopenharmony_ci	help
3562306a36Sopenharmony_ci	  DRM/KMS driver for MSM/snapdragon.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciconfig DRM_MSM_GPU_STATE
3862306a36Sopenharmony_ci	bool
3962306a36Sopenharmony_ci	depends on DRM_MSM && (DEBUG_FS || DEV_COREDUMP)
4062306a36Sopenharmony_ci	default y
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ciconfig DRM_MSM_GPU_SUDO
4362306a36Sopenharmony_ci	bool "Enable SUDO flag on submits"
4462306a36Sopenharmony_ci	depends on DRM_MSM && EXPERT
4562306a36Sopenharmony_ci	default n
4662306a36Sopenharmony_ci	help
4762306a36Sopenharmony_ci	  Enable userspace that has CAP_SYS_RAWIO to submit GPU commands
4862306a36Sopenharmony_ci	  that are run from RB instead of IB1.  This essentially gives
4962306a36Sopenharmony_ci	  userspace kernel level access, but is useful for firmware
5062306a36Sopenharmony_ci	  debugging.
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci	  Only use this if you are a driver developer.  This should *not*
5362306a36Sopenharmony_ci	  be enabled for production kernels.  If unsure, say N.
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ciconfig DRM_MSM_MDSS
5662306a36Sopenharmony_ci	bool
5762306a36Sopenharmony_ci	depends on DRM_MSM
5862306a36Sopenharmony_ci	default n
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciconfig DRM_MSM_MDP4
6162306a36Sopenharmony_ci	bool "Enable MDP4 support in MSM DRM driver"
6262306a36Sopenharmony_ci	depends on DRM_MSM
6362306a36Sopenharmony_ci	default y
6462306a36Sopenharmony_ci	help
6562306a36Sopenharmony_ci	  Compile in support for the Mobile Display Processor v4 (MDP4) in
6662306a36Sopenharmony_ci	  the MSM DRM driver. It is the older display controller found in
6762306a36Sopenharmony_ci	  devices using APQ8064/MSM8960/MSM8x60 platforms.
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ciconfig DRM_MSM_MDP5
7062306a36Sopenharmony_ci	bool "Enable MDP5 support in MSM DRM driver"
7162306a36Sopenharmony_ci	depends on DRM_MSM
7262306a36Sopenharmony_ci	select DRM_MSM_MDSS
7362306a36Sopenharmony_ci	default y
7462306a36Sopenharmony_ci	help
7562306a36Sopenharmony_ci	  Compile in support for the Mobile Display Processor v5 (MDP5) in
7662306a36Sopenharmony_ci	  the MSM DRM driver. It is the display controller found in devices
7762306a36Sopenharmony_ci	  using e.g. APQ8016/MSM8916/APQ8096/MSM8996/MSM8974/SDM6x0 platforms.
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ciconfig DRM_MSM_DPU
8062306a36Sopenharmony_ci	bool "Enable DPU support in MSM DRM driver"
8162306a36Sopenharmony_ci	depends on DRM_MSM
8262306a36Sopenharmony_ci	select DRM_MSM_MDSS
8362306a36Sopenharmony_ci	default y
8462306a36Sopenharmony_ci	help
8562306a36Sopenharmony_ci	  Compile in support for the Display Processing Unit in
8662306a36Sopenharmony_ci	  the MSM DRM driver. It is the display controller found in devices
8762306a36Sopenharmony_ci	  using e.g. SDM845 and newer platforms.
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ciconfig DRM_MSM_DP
9062306a36Sopenharmony_ci	bool "Enable DisplayPort support in MSM DRM driver"
9162306a36Sopenharmony_ci	depends on DRM_MSM
9262306a36Sopenharmony_ci	select RATIONAL
9362306a36Sopenharmony_ci	default y
9462306a36Sopenharmony_ci	help
9562306a36Sopenharmony_ci	  Compile in support for DP driver in MSM DRM driver. DP external
9662306a36Sopenharmony_ci	  display support is enabled through this config option. It can
9762306a36Sopenharmony_ci	  be primary or secondary display on device.
9862306a36Sopenharmony_ci
9962306a36Sopenharmony_ciconfig DRM_MSM_DSI
10062306a36Sopenharmony_ci	bool "Enable DSI support in MSM DRM driver"
10162306a36Sopenharmony_ci	depends on DRM_MSM
10262306a36Sopenharmony_ci	select DRM_PANEL
10362306a36Sopenharmony_ci	select DRM_MIPI_DSI
10462306a36Sopenharmony_ci	default y
10562306a36Sopenharmony_ci	help
10662306a36Sopenharmony_ci	  Choose this option if you have a need for MIPI DSI connector
10762306a36Sopenharmony_ci	  support.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ciconfig DRM_MSM_DSI_28NM_PHY
11062306a36Sopenharmony_ci	bool "Enable DSI 28nm PHY driver in MSM DRM"
11162306a36Sopenharmony_ci	depends on DRM_MSM_DSI
11262306a36Sopenharmony_ci	default y
11362306a36Sopenharmony_ci	help
11462306a36Sopenharmony_ci	  Choose this option if the 28nm DSI PHY is used on the platform.
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ciconfig DRM_MSM_DSI_20NM_PHY
11762306a36Sopenharmony_ci	bool "Enable DSI 20nm PHY driver in MSM DRM"
11862306a36Sopenharmony_ci	depends on DRM_MSM_DSI
11962306a36Sopenharmony_ci	default y
12062306a36Sopenharmony_ci	help
12162306a36Sopenharmony_ci	  Choose this option if the 20nm DSI PHY is used on the platform.
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ciconfig DRM_MSM_DSI_28NM_8960_PHY
12462306a36Sopenharmony_ci	bool "Enable DSI 28nm 8960 PHY driver in MSM DRM"
12562306a36Sopenharmony_ci	depends on DRM_MSM_DSI
12662306a36Sopenharmony_ci	default y
12762306a36Sopenharmony_ci	help
12862306a36Sopenharmony_ci	  Choose this option if the 28nm DSI PHY 8960 variant is used on the
12962306a36Sopenharmony_ci	  platform.
13062306a36Sopenharmony_ci
13162306a36Sopenharmony_ciconfig DRM_MSM_DSI_14NM_PHY
13262306a36Sopenharmony_ci	bool "Enable DSI 14nm PHY driver in MSM DRM (used by MSM8996/APQ8096)"
13362306a36Sopenharmony_ci	depends on DRM_MSM_DSI
13462306a36Sopenharmony_ci	default y
13562306a36Sopenharmony_ci	help
13662306a36Sopenharmony_ci	  Choose this option if DSI PHY on 8996 is used on the platform.
13762306a36Sopenharmony_ci
13862306a36Sopenharmony_ciconfig DRM_MSM_DSI_10NM_PHY
13962306a36Sopenharmony_ci	bool "Enable DSI 10nm PHY driver in MSM DRM (used by SDM845)"
14062306a36Sopenharmony_ci	depends on DRM_MSM_DSI
14162306a36Sopenharmony_ci	default y
14262306a36Sopenharmony_ci	help
14362306a36Sopenharmony_ci	  Choose this option if DSI PHY on SDM845 is used on the platform.
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ciconfig DRM_MSM_DSI_7NM_PHY
14662306a36Sopenharmony_ci	bool "Enable DSI 7nm/5nm/4nm PHY driver in MSM DRM"
14762306a36Sopenharmony_ci	depends on DRM_MSM_DSI
14862306a36Sopenharmony_ci	default y
14962306a36Sopenharmony_ci	help
15062306a36Sopenharmony_ci	  Choose this option if DSI PHY on SM8150/SM8250/SM8350/SM8450/SM8550/SC7280
15162306a36Sopenharmony_ci	  is used on the platform.
15262306a36Sopenharmony_ci
15362306a36Sopenharmony_ciconfig DRM_MSM_HDMI
15462306a36Sopenharmony_ci	bool "Enable HDMI support in MSM DRM driver"
15562306a36Sopenharmony_ci	depends on DRM_MSM
15662306a36Sopenharmony_ci	default y
15762306a36Sopenharmony_ci	help
15862306a36Sopenharmony_ci	  Compile in support for the HDMI output MSM DRM driver. It can
15962306a36Sopenharmony_ci	  be a primary or a secondary display on device. Note that this is used
16062306a36Sopenharmony_ci	  only for the direct HDMI output. If the device outputs HDMI data
16162306a36Sopenharmony_ci	  through some kind of DSI-to-HDMI bridge, this option can be disabled.
16262306a36Sopenharmony_ci
16362306a36Sopenharmony_ciconfig DRM_MSM_HDMI_HDCP
16462306a36Sopenharmony_ci	bool "Enable HDMI HDCP support in MSM DRM driver"
16562306a36Sopenharmony_ci	depends on DRM_MSM && DRM_MSM_HDMI
16662306a36Sopenharmony_ci	default y
16762306a36Sopenharmony_ci	help
16862306a36Sopenharmony_ci	  Choose this option to enable HDCP state machine
169