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