Skip to content

Commit 192514a

Browse files
author
AngeloGioacchino Del Regno
committed
soc: mediatek: Add MediaTek DVFS Resource Collector (DVFSRC) driver
The Dynamic Voltage and Frequency Scaling Resource Collector (DVFSRC) is a Hardware module used to collect all the requests from both software and the various remote processors embedded into the SoC and decide about a minimum operating voltage and a minimum DRAM frequency to fulfill those requests in an effort to provide the best achievable performance per watt. This hardware IP is capable of transparently performing direct register R/W on all of the DVFSRC-controlled regulators and SoC bandwidth knobs. This driver includes support for MT8183, MT8192 and MT8195. Co-Developed-by: Dawei Chien <dawei.chien@mediatek.com> [Angelo: Partial refactoring and cleanups] Reviewed-by: Georgi Djakov <djakov@kerenl.org> Link: https://lore.kernel.org/r/20240610085735.147134-5-angelogioacchino.delregno@collabora.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
1 parent e8b259e commit 192514a

5 files changed

Lines changed: 596 additions & 0 deletions

File tree

drivers/soc/mediatek/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,17 @@ config MTK_DEVAPC
2626
The violation information is logged for further analysis or
2727
countermeasures.
2828

29+
config MTK_DVFSRC
30+
tristate "MediaTek DVFSRC Support"
31+
depends on ARCH_MEDIATEK
32+
help
33+
Say yes here to add support for the MediaTek Dynamic Voltage
34+
and Frequency Scaling Resource Collector (DVFSRC): a HW
35+
IP found on many MediaTek SoCs, which is responsible for
36+
collecting DVFS requests from various SoC IPs, other than
37+
software, and performing bandwidth scaling to provide the
38+
best achievable performance-per-watt.
39+
2940
config MTK_INFRACFG
3041
bool "MediaTek INFRACFG Support"
3142
select REGMAP

drivers/soc/mediatek/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0-only
22
obj-$(CONFIG_MTK_CMDQ) += mtk-cmdq-helper.o
33
obj-$(CONFIG_MTK_DEVAPC) += mtk-devapc.o
4+
obj-$(CONFIG_MTK_DVFSRC) += mtk-dvfsrc.o
45
obj-$(CONFIG_MTK_INFRACFG) += mtk-infracfg.o
56
obj-$(CONFIG_MTK_PMIC_WRAP) += mtk-pmic-wrap.o
67
obj-$(CONFIG_MTK_REGULATOR_COUPLER) += mtk-regulator-coupler.o

0 commit comments

Comments
 (0)