162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# MediaTek SoC drivers
462306a36Sopenharmony_ci#
562306a36Sopenharmony_cimenu "MediaTek SoC drivers"
662306a36Sopenharmony_ci	depends on ARCH_MEDIATEK || COMPILE_TEST
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciconfig MTK_CMDQ
962306a36Sopenharmony_ci	tristate "MediaTek CMDQ Support"
1062306a36Sopenharmony_ci	depends on ARCH_MEDIATEK || COMPILE_TEST
1162306a36Sopenharmony_ci	select MAILBOX
1262306a36Sopenharmony_ci	select MTK_CMDQ_MBOX
1362306a36Sopenharmony_ci	select MTK_INFRACFG
1462306a36Sopenharmony_ci	help
1562306a36Sopenharmony_ci	  Say yes here to add support for the MediaTek Command Queue (CMDQ)
1662306a36Sopenharmony_ci	  driver. The CMDQ is used to help read/write registers with critical
1762306a36Sopenharmony_ci	  time limitation, such as updating display configuration during the
1862306a36Sopenharmony_ci	  vblank.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciconfig MTK_DEVAPC
2162306a36Sopenharmony_ci	tristate "Mediatek Device APC Support"
2262306a36Sopenharmony_ci	help
2362306a36Sopenharmony_ci	  Say yes here to enable support for Mediatek Device APC driver.
2462306a36Sopenharmony_ci	  This driver is mainly used to handle the violation which catches
2562306a36Sopenharmony_ci	  unexpected transaction.
2662306a36Sopenharmony_ci	  The violation information is logged for further analysis or
2762306a36Sopenharmony_ci	  countermeasures.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciconfig MTK_INFRACFG
3062306a36Sopenharmony_ci	bool "MediaTek INFRACFG Support"
3162306a36Sopenharmony_ci	select REGMAP
3262306a36Sopenharmony_ci	help
3362306a36Sopenharmony_ci	  Say yes here to add support for the MediaTek INFRACFG controller. The
3462306a36Sopenharmony_ci	  INFRACFG controller contains various infrastructure registers not
3562306a36Sopenharmony_ci	  directly associated to any device.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciconfig MTK_PMIC_WRAP
3862306a36Sopenharmony_ci	tristate "MediaTek PMIC Wrapper Support"
3962306a36Sopenharmony_ci	depends on RESET_CONTROLLER
4062306a36Sopenharmony_ci	depends on OF
4162306a36Sopenharmony_ci	select REGMAP
4262306a36Sopenharmony_ci	help
4362306a36Sopenharmony_ci	  Say yes here to add support for MediaTek PMIC Wrapper found
4462306a36Sopenharmony_ci	  on different MediaTek SoCs. The PMIC wrapper is a proprietary
4562306a36Sopenharmony_ci	  hardware to connect the PMIC.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ciconfig MTK_REGULATOR_COUPLER
4862306a36Sopenharmony_ci	bool "MediaTek SoC Regulator Coupler" if COMPILE_TEST
4962306a36Sopenharmony_ci	default ARCH_MEDIATEK
5062306a36Sopenharmony_ci	depends on REGULATOR
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ciconfig MTK_SCPSYS
5362306a36Sopenharmony_ci	bool "MediaTek SCPSYS Support"
5462306a36Sopenharmony_ci	default ARCH_MEDIATEK
5562306a36Sopenharmony_ci	depends on OF
5662306a36Sopenharmony_ci	select REGMAP
5762306a36Sopenharmony_ci	select MTK_INFRACFG
5862306a36Sopenharmony_ci	select PM_GENERIC_DOMAINS if PM
5962306a36Sopenharmony_ci	help
6062306a36Sopenharmony_ci	  Say yes here to add support for the MediaTek SCPSYS power domain
6162306a36Sopenharmony_ci	  driver.
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ciconfig MTK_SCPSYS_PM_DOMAINS
6462306a36Sopenharmony_ci	bool "MediaTek SCPSYS generic power domain"
6562306a36Sopenharmony_ci	default ARCH_MEDIATEK
6662306a36Sopenharmony_ci	depends on PM
6762306a36Sopenharmony_ci	select PM_GENERIC_DOMAINS
6862306a36Sopenharmony_ci	select REGMAP
6962306a36Sopenharmony_ci	help
7062306a36Sopenharmony_ci	  Say y here to enable power domain support.
7162306a36Sopenharmony_ci	  In order to meet high performance and low power requirements, the System
7262306a36Sopenharmony_ci	  Control Processor System (SCPSYS) has several power management related
7362306a36Sopenharmony_ci	  tasks in the system.
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ciconfig MTK_MMSYS
7662306a36Sopenharmony_ci	tristate "MediaTek MMSYS Support"
7762306a36Sopenharmony_ci	default ARCH_MEDIATEK
7862306a36Sopenharmony_ci	depends on HAS_IOMEM
7962306a36Sopenharmony_ci	depends on MTK_CMDQ || MTK_CMDQ=n
8062306a36Sopenharmony_ci	help
8162306a36Sopenharmony_ci	  Say yes here to add support for the MediaTek Multimedia
8262306a36Sopenharmony_ci	  Subsystem (MMSYS).
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ciconfig MTK_SVS
8562306a36Sopenharmony_ci	tristate "MediaTek Smart Voltage Scaling(SVS)"
8662306a36Sopenharmony_ci	depends on NVMEM_MTK_EFUSE && NVMEM
8762306a36Sopenharmony_ci	help
8862306a36Sopenharmony_ci	  The Smart Voltage Scaling(SVS) engine is a piece of hardware
8962306a36Sopenharmony_ci	  which has several controllers(banks) for calculating suitable
9062306a36Sopenharmony_ci	  voltage to different power domains(CPU/GPU/CCI) according to
9162306a36Sopenharmony_ci	  chip process corner, temperatures and other factors. Then DVFS
9262306a36Sopenharmony_ci	  driver could apply SVS bank voltage to PMIC/Buck.
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ciendmenu
95