xref: /freebsd/sys/contrib/device-tree/Bindings/soc/mediatek/mediatek,mt8183-dvfsrc.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/soc/mediatek/mediatek,mt8183-dvfsrc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MediaTek Dynamic Voltage and Frequency Scaling Resource Collector (DVFSRC)
8
9description:
10  The Dynamic Voltage and Frequency Scaling Resource Collector (DVFSRC) is a
11  Hardware module used to collect all the requests from both software and the
12  various remote processors embedded into the SoC and decide about a minimum
13  operating voltage and a minimum DRAM frequency to fulfill those requests in
14  an effort to provide the best achievable performance per watt.
15  This hardware IP is capable of transparently performing direct register R/W
16  on all of the DVFSRC-controlled regulators and SoC bandwidth knobs.
17
18maintainers:
19  - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
20  - Henry Chen <henryc.chen@mediatek.com>
21
22properties:
23  compatible:
24    oneOf:
25      - enum:
26          - mediatek,mt6893-dvfsrc
27          - mediatek,mt8183-dvfsrc
28          - mediatek,mt8195-dvfsrc
29      - items:
30          - const: mediatek,mt8192-dvfsrc
31          - const: mediatek,mt8195-dvfsrc
32
33  reg:
34    maxItems: 1
35    description: DVFSRC common register address and length.
36
37  regulators:
38    type: object
39    $ref: /schemas/regulator/mediatek,mt6873-dvfsrc-regulator.yaml#
40
41  interconnect:
42    type: object
43    $ref: /schemas/interconnect/mediatek,mt8183-emi.yaml#
44
45required:
46  - compatible
47  - reg
48
49additionalProperties: false
50
51examples:
52  - |
53    soc {
54        #address-cells = <2>;
55        #size-cells = <2>;
56
57        system-controller@10012000 {
58            compatible = "mediatek,mt8195-dvfsrc";
59            reg = <0 0x10012000 0 0x1000>;
60
61            regulators {
62                compatible = "mediatek,mt8195-dvfsrc-regulator";
63
64                dvfsrc_vcore: dvfsrc-vcore {
65                        regulator-name = "dvfsrc-vcore";
66                        regulator-min-microvolt = <550000>;
67                        regulator-max-microvolt = <750000>;
68                        regulator-always-on;
69                };
70
71                dvfsrc_vscp: dvfsrc-vscp {
72                        regulator-name = "dvfsrc-vscp";
73                        regulator-min-microvolt = <550000>;
74                        regulator-max-microvolt = <750000>;
75                        regulator-always-on;
76                };
77            };
78
79            emi_icc: interconnect {
80                compatible = "mediatek,mt8195-emi";
81                #interconnect-cells = <1>;
82            };
83        };
84    };
85