mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-03 17:51:23 +00:00

Add a compatible for the MediaTek Dimensity 1200 (MT6893) SoC's DVFSRC hardware, introducing capability to communicate with it. Even though this SoC uses the same basic version of the DVFSRC IP as MT8195, the vcore-vdram parameters are different, hence no fallback compatibility is possible. Acked-by: Rob Herring (Arm) <robh@kernel.org> Link: https://lore.kernel.org/r/20250410144019.475930-2-angelogioacchino.delregno@collabora.com Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
85 lines
2.5 KiB
YAML
85 lines
2.5 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/soc/mediatek/mediatek,mt8183-dvfsrc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: MediaTek Dynamic Voltage and Frequency Scaling Resource Collector (DVFSRC)
|
|
|
|
description:
|
|
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.
|
|
|
|
maintainers:
|
|
- AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
|
|
- Henry Chen <henryc.chen@mediatek.com>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- enum:
|
|
- mediatek,mt6893-dvfsrc
|
|
- mediatek,mt8183-dvfsrc
|
|
- mediatek,mt8195-dvfsrc
|
|
- items:
|
|
- const: mediatek,mt8192-dvfsrc
|
|
- const: mediatek,mt8195-dvfsrc
|
|
|
|
reg:
|
|
maxItems: 1
|
|
description: DVFSRC common register address and length.
|
|
|
|
regulators:
|
|
type: object
|
|
$ref: /schemas/regulator/mediatek,mt6873-dvfsrc-regulator.yaml#
|
|
|
|
interconnect:
|
|
type: object
|
|
$ref: /schemas/interconnect/mediatek,mt8183-emi.yaml#
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
soc {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
|
|
system-controller@10012000 {
|
|
compatible = "mediatek,mt8195-dvfsrc";
|
|
reg = <0 0x10012000 0 0x1000>;
|
|
|
|
regulators {
|
|
compatible = "mediatek,mt8195-dvfsrc-regulator";
|
|
|
|
dvfsrc_vcore: dvfsrc-vcore {
|
|
regulator-name = "dvfsrc-vcore";
|
|
regulator-min-microvolt = <550000>;
|
|
regulator-max-microvolt = <750000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
dvfsrc_vscp: dvfsrc-vscp {
|
|
regulator-name = "dvfsrc-vscp";
|
|
regulator-min-microvolt = <550000>;
|
|
regulator-max-microvolt = <750000>;
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
|
|
emi_icc: interconnect {
|
|
compatible = "mediatek,mt8195-emi";
|
|
#interconnect-cells = <1>;
|
|
};
|
|
};
|
|
};
|