xref: /freebsd/sys/contrib/device-tree/Bindings/cpufreq/cpufreq-mediatek-hw.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2354d7675SEmmanuel Vadot%YAML 1.2
3354d7675SEmmanuel Vadot---
4354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/cpufreq/cpufreq-mediatek-hw.yaml#
5354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6354d7675SEmmanuel Vadot
7*8bab661aSEmmanuel Vadottitle: MediaTek's CPUFREQ
8354d7675SEmmanuel Vadot
9354d7675SEmmanuel Vadotmaintainers:
10354d7675SEmmanuel Vadot  - Hector Yuan <hector.yuan@mediatek.com>
11354d7675SEmmanuel Vadot
12354d7675SEmmanuel Vadotdescription:
13354d7675SEmmanuel Vadot  CPUFREQ HW is a hardware engine used by MediaTek SoCs to
14354d7675SEmmanuel Vadot  manage frequency in hardware. It is capable of controlling
15354d7675SEmmanuel Vadot  frequency for multiple clusters.
16354d7675SEmmanuel Vadot
17354d7675SEmmanuel Vadotproperties:
18354d7675SEmmanuel Vadot  compatible:
19354d7675SEmmanuel Vadot    const: mediatek,cpufreq-hw
20354d7675SEmmanuel Vadot
21354d7675SEmmanuel Vadot  reg:
22354d7675SEmmanuel Vadot    minItems: 1
23354d7675SEmmanuel Vadot    maxItems: 2
24354d7675SEmmanuel Vadot    description:
25354d7675SEmmanuel Vadot      Addresses and sizes for the memory of the HW bases in
26354d7675SEmmanuel Vadot      each frequency domain. Each entry corresponds to
27354d7675SEmmanuel Vadot      a register bank for each frequency domain present.
28354d7675SEmmanuel Vadot
29354d7675SEmmanuel Vadot  "#performance-domain-cells":
30354d7675SEmmanuel Vadot    description:
31354d7675SEmmanuel Vadot      Number of cells in a performance domain specifier.
32354d7675SEmmanuel Vadot      Set const to 1 here for nodes providing multiple
33354d7675SEmmanuel Vadot      performance domains.
34354d7675SEmmanuel Vadot    const: 1
35354d7675SEmmanuel Vadot
36354d7675SEmmanuel Vadotrequired:
37354d7675SEmmanuel Vadot  - compatible
38354d7675SEmmanuel Vadot  - reg
39354d7675SEmmanuel Vadot  - "#performance-domain-cells"
40354d7675SEmmanuel Vadot
41354d7675SEmmanuel VadotadditionalProperties: false
42354d7675SEmmanuel Vadot
43354d7675SEmmanuel Vadotexamples:
44354d7675SEmmanuel Vadot  - |
45354d7675SEmmanuel Vadot    cpus {
46354d7675SEmmanuel Vadot            #address-cells = <1>;
47354d7675SEmmanuel Vadot            #size-cells = <0>;
48354d7675SEmmanuel Vadot
49354d7675SEmmanuel Vadot            cpu0: cpu@0 {
50354d7675SEmmanuel Vadot                device_type = "cpu";
51354d7675SEmmanuel Vadot                compatible = "arm,cortex-a55";
52354d7675SEmmanuel Vadot                enable-method = "psci";
53354d7675SEmmanuel Vadot                performance-domains = <&performance 0>;
54354d7675SEmmanuel Vadot                reg = <0x000>;
55354d7675SEmmanuel Vadot            };
56354d7675SEmmanuel Vadot    };
57354d7675SEmmanuel Vadot
58354d7675SEmmanuel Vadot    /* ... */
59354d7675SEmmanuel Vadot
60354d7675SEmmanuel Vadot    soc {
61354d7675SEmmanuel Vadot        #address-cells = <2>;
62354d7675SEmmanuel Vadot        #size-cells = <2>;
63354d7675SEmmanuel Vadot
64354d7675SEmmanuel Vadot        performance: performance-controller@11bc00 {
65354d7675SEmmanuel Vadot            compatible = "mediatek,cpufreq-hw";
66354d7675SEmmanuel Vadot            reg = <0 0x0011bc10 0 0x120>, <0 0x0011bd30 0 0x120>;
67354d7675SEmmanuel Vadot
68354d7675SEmmanuel Vadot            #performance-domain-cells = <1>;
69354d7675SEmmanuel Vadot        };
70354d7675SEmmanuel Vadot    };
71