Skip to content

Commit b8600cb

Browse files
committed
Merge tag 'mtk-soc-for-v6.13' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into arm/drivers
MediaTek soc driver updates for v6.13 This adds support for the MT8188 SoC in the MediaTek Regulator Coupler driver, allowing stable GPU DVFS on this chip; Moreover, this adds a new MediaTek DVFS Resource Collector (DVFSRC) driver, allowing to enable other drivers (interconnect, regulator) which can now communicate with the DVFSRC hardware. Last but not least, this includes some cleanups for the CMDQ Helper and MediaTek SVS drivers. * tag 'mtk-soc-for-v6.13' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: soc: mediatek: mtk-svs: Call of_node_put(np) only once in svs_get_subsys_device() soc: mediatek: mediatek-regulator-coupler: Support mt8188 soc: mediatek: mtk-cmdq: Move cmdq_instruction init to declaration soc: mediatek: mtk-cmdq: Move mask build and append to function soc: mediatek: Add MediaTek DVFS Resource Collector (DVFSRC) driver dt-bindings: soc: mediatek: Add DVFSRC bindings for MT8183 and MT8195 Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnd Bergmann <[email protected]>
2 parents f402711 + a1643ae commit b8600cb

File tree

9 files changed

+787
-127
lines changed

9 files changed

+787
-127
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/mediatek/mediatek,mt8183-dvfsrc.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: MediaTek Dynamic Voltage and Frequency Scaling Resource Collector (DVFSRC)
8+
9+
description:
10+
The Dynamic Voltage and Frequency Scaling Resource Collector (DVFSRC) is a
11+
Hardware module used to collect all the requests from both software and the
12+
various remote processors embedded into the SoC and decide about a minimum
13+
operating voltage and a minimum DRAM frequency to fulfill those requests in
14+
an effort to provide the best achievable performance per watt.
15+
This hardware IP is capable of transparently performing direct register R/W
16+
on all of the DVFSRC-controlled regulators and SoC bandwidth knobs.
17+
18+
maintainers:
19+
- AngeloGioacchino Del Regno <[email protected]>
20+
- Henry Chen <[email protected]>
21+
22+
properties:
23+
compatible:
24+
oneOf:
25+
- enum:
26+
- mediatek,mt8183-dvfsrc
27+
- mediatek,mt8195-dvfsrc
28+
- items:
29+
- const: mediatek,mt8192-dvfsrc
30+
- const: mediatek,mt8195-dvfsrc
31+
32+
reg:
33+
maxItems: 1
34+
description: DVFSRC common register address and length.
35+
36+
regulators:
37+
type: object
38+
$ref: /schemas/regulator/mediatek,mt6873-dvfsrc-regulator.yaml#
39+
40+
interconnect:
41+
type: object
42+
$ref: /schemas/interconnect/mediatek,mt8183-emi.yaml#
43+
44+
required:
45+
- compatible
46+
- reg
47+
48+
additionalProperties: false
49+
50+
examples:
51+
- |
52+
soc {
53+
#address-cells = <2>;
54+
#size-cells = <2>;
55+
56+
system-controller@10012000 {
57+
compatible = "mediatek,mt8195-dvfsrc";
58+
reg = <0 0x10012000 0 0x1000>;
59+
60+
regulators {
61+
compatible = "mediatek,mt8195-dvfsrc-regulator";
62+
63+
dvfsrc_vcore: dvfsrc-vcore {
64+
regulator-name = "dvfsrc-vcore";
65+
regulator-min-microvolt = <550000>;
66+
regulator-max-microvolt = <750000>;
67+
regulator-always-on;
68+
};
69+
70+
dvfsrc_vscp: dvfsrc-vscp {
71+
regulator-name = "dvfsrc-vscp";
72+
regulator-min-microvolt = <550000>;
73+
regulator-max-microvolt = <750000>;
74+
regulator-always-on;
75+
};
76+
};
77+
78+
emi_icc: interconnect {
79+
compatible = "mediatek,mt8195-emi";
80+
#interconnect-cells = <1>;
81+
};
82+
};
83+
};

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)