xref: /linux/Documentation/devicetree/bindings/cpufreq/mediatek,mt8196-cpufreq-hw.yaml (revision ec2e0fb07d789976c601bec19ecced7a501c3705)
1*62498af7SNicolas Frattaroli# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*62498af7SNicolas Frattaroli%YAML 1.2
3*62498af7SNicolas Frattaroli---
4*62498af7SNicolas Frattaroli$id: http://devicetree.org/schemas/cpufreq/mediatek,mt8196-cpufreq-hw.yaml#
5*62498af7SNicolas Frattaroli$schema: http://devicetree.org/meta-schemas/core.yaml#
6*62498af7SNicolas Frattaroli
7*62498af7SNicolas Frattarolititle: MediaTek Hybrid CPUFreq for MT8196/MT6991 series SoCs
8*62498af7SNicolas Frattaroli
9*62498af7SNicolas Frattarolimaintainers:
10*62498af7SNicolas Frattaroli  - Nicolas Frattaroli <nicolas.frattaroli@collabora.com>
11*62498af7SNicolas Frattaroli
12*62498af7SNicolas Frattarolidescription:
13*62498af7SNicolas Frattaroli  MT8196 uses CPUFreq management hardware that supports dynamic voltage
14*62498af7SNicolas Frattaroli  frequency scaling (dvfs), and can support several performance domains.
15*62498af7SNicolas Frattaroli
16*62498af7SNicolas Frattaroliproperties:
17*62498af7SNicolas Frattaroli  compatible:
18*62498af7SNicolas Frattaroli    const: mediatek,mt8196-cpufreq-hw
19*62498af7SNicolas Frattaroli
20*62498af7SNicolas Frattaroli  reg:
21*62498af7SNicolas Frattaroli    items:
22*62498af7SNicolas Frattaroli      - description: FDVFS control register region
23*62498af7SNicolas Frattaroli      - description: OPP tables and control for performance domain 0
24*62498af7SNicolas Frattaroli      - description: OPP tables and control for performance domain 1
25*62498af7SNicolas Frattaroli      - description: OPP tables and control for performance domain 2
26*62498af7SNicolas Frattaroli
27*62498af7SNicolas Frattaroli  "#performance-domain-cells":
28*62498af7SNicolas Frattaroli    const: 1
29*62498af7SNicolas Frattaroli
30*62498af7SNicolas Frattarolirequired:
31*62498af7SNicolas Frattaroli  - compatible
32*62498af7SNicolas Frattaroli  - reg
33*62498af7SNicolas Frattaroli  - "#performance-domain-cells"
34*62498af7SNicolas Frattaroli
35*62498af7SNicolas FrattaroliadditionalProperties: false
36*62498af7SNicolas Frattaroli
37*62498af7SNicolas Frattaroliexamples:
38*62498af7SNicolas Frattaroli  - |
39*62498af7SNicolas Frattaroli    cpus {
40*62498af7SNicolas Frattaroli            #address-cells = <1>;
41*62498af7SNicolas Frattaroli            #size-cells = <0>;
42*62498af7SNicolas Frattaroli
43*62498af7SNicolas Frattaroli            cpu0: cpu@0 {
44*62498af7SNicolas Frattaroli                device_type = "cpu";
45*62498af7SNicolas Frattaroli                compatible = "arm,cortex-a720";
46*62498af7SNicolas Frattaroli                enable-method = "psci";
47*62498af7SNicolas Frattaroli                performance-domains = <&performance 0>;
48*62498af7SNicolas Frattaroli                reg = <0x000>;
49*62498af7SNicolas Frattaroli            };
50*62498af7SNicolas Frattaroli
51*62498af7SNicolas Frattaroli            /* ... */
52*62498af7SNicolas Frattaroli
53*62498af7SNicolas Frattaroli            cpu6: cpu@600 {
54*62498af7SNicolas Frattaroli                device_type = "cpu";
55*62498af7SNicolas Frattaroli                compatible = "arm,cortex-x4";
56*62498af7SNicolas Frattaroli                enable-method = "psci";
57*62498af7SNicolas Frattaroli                performance-domains = <&performance 1>;
58*62498af7SNicolas Frattaroli                reg = <0x600>;
59*62498af7SNicolas Frattaroli            };
60*62498af7SNicolas Frattaroli
61*62498af7SNicolas Frattaroli            cpu7: cpu@700 {
62*62498af7SNicolas Frattaroli                device_type = "cpu";
63*62498af7SNicolas Frattaroli                compatible = "arm,cortex-x925";
64*62498af7SNicolas Frattaroli                enable-method = "psci";
65*62498af7SNicolas Frattaroli                performance-domains = <&performance 2>;
66*62498af7SNicolas Frattaroli                reg = <0x700>;
67*62498af7SNicolas Frattaroli            };
68*62498af7SNicolas Frattaroli    };
69*62498af7SNicolas Frattaroli
70*62498af7SNicolas Frattaroli    /* ... */
71*62498af7SNicolas Frattaroli
72*62498af7SNicolas Frattaroli    soc {
73*62498af7SNicolas Frattaroli        #address-cells = <2>;
74*62498af7SNicolas Frattaroli        #size-cells = <2>;
75*62498af7SNicolas Frattaroli
76*62498af7SNicolas Frattaroli        performance: performance-controller@c2c2034 {
77*62498af7SNicolas Frattaroli            compatible = "mediatek,mt8196-cpufreq-hw";
78*62498af7SNicolas Frattaroli            reg = <0 0xc220400 0 0x20>, <0 0xc2c0f20 0 0x120>,
79*62498af7SNicolas Frattaroli                  <0 0xc2c1040 0 0x120>, <0 0xc2c1160 0 0x120>;
80*62498af7SNicolas Frattaroli            #performance-domain-cells = <1>;
81*62498af7SNicolas Frattaroli        };
82*62498af7SNicolas Frattaroli    };
83