# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/power/mediatek,mt8196-gpufreq.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: MediaTek MFlexGraphics Power and Frequency Controller maintainers: - Nicolas Frattaroli description: A special-purpose embedded MCU to control power and frequency of GPU devices using MediaTek Flexible Graphics integration hardware. properties: $nodename: pattern: '^power-controller@[a-f0-9]+$' compatible: enum: - mediatek,mt8196-gpufreq reg: items: - description: GPR memory area - description: RPC memory area - description: SoC variant ID register reg-names: items: - const: gpr - const: rpc - const: hw-revision clocks: items: - description: main clock of the embedded controller (EB) - description: core PLL - description: stack 0 PLL - description: stack 1 PLL clock-names: items: - const: eb - const: core - const: stack0 - const: stack1 mboxes: items: - description: FastDVFS events - description: frequency control - description: sleep control - description: timer control - description: frequency hopping control - description: hardware voter control - description: FastDVFS control mbox-names: items: - const: fast-dvfs-event - const: gpufreq - const: sleep - const: timer - const: fhctl - const: ccf - const: fast-dvfs memory-region: items: - description: phandle to the GPUEB shared memory "#clock-cells": const: 1 "#power-domain-cells": const: 0 required: - compatible - reg - reg-names - clocks - clock-names - mboxes - mbox-names - memory-region - "#clock-cells" - "#power-domain-cells" additionalProperties: false examples: - | #include power-controller@4b09fd00 { compatible = "mediatek,mt8196-gpufreq"; reg = <0x4b09fd00 0x80>, <0x4b800000 0x1000>, <0x4b860128 0x4>; reg-names = "gpr", "rpc", "hw-revision"; clocks = <&topckgen CLK_TOP_MFG_EB>, <&mfgpll CLK_MFG_AO_MFGPLL>, <&mfgpll_sc0 CLK_MFGSC0_AO_MFGPLL_SC0>, <&mfgpll_sc1 CLK_MFGSC1_AO_MFGPLL_SC1>; clock-names = "eb", "core", "stack0", "stack1"; mboxes = <&gpueb_mbox 0>, <&gpueb_mbox 1>, <&gpueb_mbox 2>, <&gpueb_mbox 3>, <&gpueb_mbox 4>, <&gpueb_mbox 5>, <&gpueb_mbox 7>; mbox-names = "fast-dvfs-event", "gpufreq", "sleep", "timer", "fhctl", "ccf", "fast-dvfs"; memory-region = <&gpueb_shared_memory>; #clock-cells = <1>; #power-domain-cells = <0>; };