1*66901bc7SNicolas Frattaroli# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*66901bc7SNicolas Frattaroli%YAML 1.2 3*66901bc7SNicolas Frattaroli--- 4*66901bc7SNicolas Frattaroli$id: http://devicetree.org/schemas/power/mediatek,mt8196-gpufreq.yaml# 5*66901bc7SNicolas Frattaroli$schema: http://devicetree.org/meta-schemas/core.yaml# 6*66901bc7SNicolas Frattaroli 7*66901bc7SNicolas Frattarolititle: MediaTek MFlexGraphics Power and Frequency Controller 8*66901bc7SNicolas Frattaroli 9*66901bc7SNicolas Frattarolimaintainers: 10*66901bc7SNicolas Frattaroli - Nicolas Frattaroli <nicolas.frattaroli@collabora.com> 11*66901bc7SNicolas Frattaroli 12*66901bc7SNicolas Frattarolidescription: 13*66901bc7SNicolas Frattaroli A special-purpose embedded MCU to control power and frequency of GPU devices 14*66901bc7SNicolas Frattaroli using MediaTek Flexible Graphics integration hardware. 15*66901bc7SNicolas Frattaroli 16*66901bc7SNicolas Frattaroliproperties: 17*66901bc7SNicolas Frattaroli $nodename: 18*66901bc7SNicolas Frattaroli pattern: '^power-controller@[a-f0-9]+$' 19*66901bc7SNicolas Frattaroli 20*66901bc7SNicolas Frattaroli compatible: 21*66901bc7SNicolas Frattaroli enum: 22*66901bc7SNicolas Frattaroli - mediatek,mt8196-gpufreq 23*66901bc7SNicolas Frattaroli 24*66901bc7SNicolas Frattaroli reg: 25*66901bc7SNicolas Frattaroli items: 26*66901bc7SNicolas Frattaroli - description: GPR memory area 27*66901bc7SNicolas Frattaroli - description: RPC memory area 28*66901bc7SNicolas Frattaroli - description: SoC variant ID register 29*66901bc7SNicolas Frattaroli 30*66901bc7SNicolas Frattaroli reg-names: 31*66901bc7SNicolas Frattaroli items: 32*66901bc7SNicolas Frattaroli - const: gpr 33*66901bc7SNicolas Frattaroli - const: rpc 34*66901bc7SNicolas Frattaroli - const: hw-revision 35*66901bc7SNicolas Frattaroli 36*66901bc7SNicolas Frattaroli clocks: 37*66901bc7SNicolas Frattaroli items: 38*66901bc7SNicolas Frattaroli - description: main clock of the embedded controller (EB) 39*66901bc7SNicolas Frattaroli - description: core PLL 40*66901bc7SNicolas Frattaroli - description: stack 0 PLL 41*66901bc7SNicolas Frattaroli - description: stack 1 PLL 42*66901bc7SNicolas Frattaroli 43*66901bc7SNicolas Frattaroli clock-names: 44*66901bc7SNicolas Frattaroli items: 45*66901bc7SNicolas Frattaroli - const: eb 46*66901bc7SNicolas Frattaroli - const: core 47*66901bc7SNicolas Frattaroli - const: stack0 48*66901bc7SNicolas Frattaroli - const: stack1 49*66901bc7SNicolas Frattaroli 50*66901bc7SNicolas Frattaroli mboxes: 51*66901bc7SNicolas Frattaroli items: 52*66901bc7SNicolas Frattaroli - description: FastDVFS events 53*66901bc7SNicolas Frattaroli - description: frequency control 54*66901bc7SNicolas Frattaroli - description: sleep control 55*66901bc7SNicolas Frattaroli - description: timer control 56*66901bc7SNicolas Frattaroli - description: frequency hopping control 57*66901bc7SNicolas Frattaroli - description: hardware voter control 58*66901bc7SNicolas Frattaroli - description: FastDVFS control 59*66901bc7SNicolas Frattaroli 60*66901bc7SNicolas Frattaroli mbox-names: 61*66901bc7SNicolas Frattaroli items: 62*66901bc7SNicolas Frattaroli - const: fast-dvfs-event 63*66901bc7SNicolas Frattaroli - const: gpufreq 64*66901bc7SNicolas Frattaroli - const: sleep 65*66901bc7SNicolas Frattaroli - const: timer 66*66901bc7SNicolas Frattaroli - const: fhctl 67*66901bc7SNicolas Frattaroli - const: ccf 68*66901bc7SNicolas Frattaroli - const: fast-dvfs 69*66901bc7SNicolas Frattaroli 70*66901bc7SNicolas Frattaroli memory-region: 71*66901bc7SNicolas Frattaroli items: 72*66901bc7SNicolas Frattaroli - description: phandle to the GPUEB shared memory 73*66901bc7SNicolas Frattaroli 74*66901bc7SNicolas Frattaroli "#clock-cells": 75*66901bc7SNicolas Frattaroli const: 1 76*66901bc7SNicolas Frattaroli 77*66901bc7SNicolas Frattaroli "#power-domain-cells": 78*66901bc7SNicolas Frattaroli const: 0 79*66901bc7SNicolas Frattaroli 80*66901bc7SNicolas Frattarolirequired: 81*66901bc7SNicolas Frattaroli - compatible 82*66901bc7SNicolas Frattaroli - reg 83*66901bc7SNicolas Frattaroli - reg-names 84*66901bc7SNicolas Frattaroli - clocks 85*66901bc7SNicolas Frattaroli - clock-names 86*66901bc7SNicolas Frattaroli - mboxes 87*66901bc7SNicolas Frattaroli - mbox-names 88*66901bc7SNicolas Frattaroli - memory-region 89*66901bc7SNicolas Frattaroli - "#clock-cells" 90*66901bc7SNicolas Frattaroli - "#power-domain-cells" 91*66901bc7SNicolas Frattaroli 92*66901bc7SNicolas FrattaroliadditionalProperties: false 93*66901bc7SNicolas Frattaroli 94*66901bc7SNicolas Frattaroliexamples: 95*66901bc7SNicolas Frattaroli - | 96*66901bc7SNicolas Frattaroli #include <dt-bindings/clock/mediatek,mt8196-clock.h> 97*66901bc7SNicolas Frattaroli 98*66901bc7SNicolas Frattaroli power-controller@4b09fd00 { 99*66901bc7SNicolas Frattaroli compatible = "mediatek,mt8196-gpufreq"; 100*66901bc7SNicolas Frattaroli reg = <0x4b09fd00 0x80>, 101*66901bc7SNicolas Frattaroli <0x4b800000 0x1000>, 102*66901bc7SNicolas Frattaroli <0x4b860128 0x4>; 103*66901bc7SNicolas Frattaroli reg-names = "gpr", "rpc", "hw-revision"; 104*66901bc7SNicolas Frattaroli clocks = <&topckgen CLK_TOP_MFG_EB>, 105*66901bc7SNicolas Frattaroli <&mfgpll CLK_MFG_AO_MFGPLL>, 106*66901bc7SNicolas Frattaroli <&mfgpll_sc0 CLK_MFGSC0_AO_MFGPLL_SC0>, 107*66901bc7SNicolas Frattaroli <&mfgpll_sc1 CLK_MFGSC1_AO_MFGPLL_SC1>; 108*66901bc7SNicolas Frattaroli clock-names = "eb", "core", "stack0", "stack1"; 109*66901bc7SNicolas Frattaroli mboxes = <&gpueb_mbox 0>, <&gpueb_mbox 1>, <&gpueb_mbox 2>, 110*66901bc7SNicolas Frattaroli <&gpueb_mbox 3>, <&gpueb_mbox 4>, <&gpueb_mbox 5>, 111*66901bc7SNicolas Frattaroli <&gpueb_mbox 7>; 112*66901bc7SNicolas Frattaroli mbox-names = "fast-dvfs-event", "gpufreq", "sleep", "timer", "fhctl", 113*66901bc7SNicolas Frattaroli "ccf", "fast-dvfs"; 114*66901bc7SNicolas Frattaroli memory-region = <&gpueb_shared_memory>; 115*66901bc7SNicolas Frattaroli #clock-cells = <1>; 116*66901bc7SNicolas Frattaroli #power-domain-cells = <0>; 117*66901bc7SNicolas Frattaroli }; 118