mirror of https://github.com/torvalds/linux.git
pmdomain: mediatek: Add support for MFlexGraphics
Various MediaTek SoCs use GPU integration silicon named "MFlexGraphics" by MediaTek. On the MT8196 and MT6991 SoCs, interacting with this integration silicon is required to power on the GPU. This glue silicon is in the form of an embedded microcontroller running special-purpose firmware, which autonomously adjusts clocks and regulators. Implement a driver, modelled as a pmdomain driver with a set_performance_state operation, to support these SoCs. The driver also exposes the actual achieved clock rate, as read back from the MCU, as common clock framework clocks, by acting as a clock provider as well. Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@collabora.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
19e668e81e
commit
f08e7a4e8d
|
|
@ -26,6 +26,22 @@ config MTK_SCPSYS_PM_DOMAINS
|
||||||
Control Processor System (SCPSYS) has several power management related
|
Control Processor System (SCPSYS) has several power management related
|
||||||
tasks in the system.
|
tasks in the system.
|
||||||
|
|
||||||
|
config MTK_MFG_PM_DOMAIN
|
||||||
|
bool "MediaTek MFlexGraphics power domain"
|
||||||
|
default ARCH_MEDIATEK
|
||||||
|
depends on PM
|
||||||
|
depends on OF
|
||||||
|
depends on COMMON_CLK
|
||||||
|
select PM_GENERIC_DOMAINS
|
||||||
|
imply MTK_GPUEB_MBOX
|
||||||
|
help
|
||||||
|
Say y or m here to enable the power domains driver for MediaTek
|
||||||
|
MFlexGraphics. This driver allows for power and frequency control of
|
||||||
|
GPUs on MediaTek SoCs such as the MT8196 or MT6991.
|
||||||
|
|
||||||
|
This driver is required for the Mali GPU to work at all on MT8196 and
|
||||||
|
MT6991.
|
||||||
|
|
||||||
config AIROHA_CPU_PM_DOMAIN
|
config AIROHA_CPU_PM_DOMAIN
|
||||||
tristate "Airoha CPU power domain"
|
tristate "Airoha CPU power domain"
|
||||||
default ARCH_AIROHA
|
default ARCH_AIROHA
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0-only
|
# SPDX-License-Identifier: GPL-2.0-only
|
||||||
|
obj-$(CONFIG_MTK_MFG_PM_DOMAIN) += mtk-mfg-pmdomain.o
|
||||||
obj-$(CONFIG_MTK_SCPSYS) += mtk-scpsys.o
|
obj-$(CONFIG_MTK_SCPSYS) += mtk-scpsys.o
|
||||||
obj-$(CONFIG_MTK_SCPSYS_PM_DOMAINS) += mtk-pm-domains.o
|
obj-$(CONFIG_MTK_SCPSYS_PM_DOMAINS) += mtk-pm-domains.o
|
||||||
obj-$(CONFIG_AIROHA_CPU_PM_DOMAIN) += airoha-cpu-pmdomain.o
|
obj-$(CONFIG_AIROHA_CPU_PM_DOMAIN) += airoha-cpu-pmdomain.o
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue