xref: /freebsd/sys/contrib/device-tree/Bindings/soc/mediatek/mediatek,mt8183-dvfsrc.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
15f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
25f62a964SEmmanuel Vadot%YAML 1.2
35f62a964SEmmanuel Vadot---
45f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/soc/mediatek/mediatek,mt8183-dvfsrc.yaml#
55f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65f62a964SEmmanuel Vadot
75f62a964SEmmanuel Vadottitle: MediaTek Dynamic Voltage and Frequency Scaling Resource Collector (DVFSRC)
85f62a964SEmmanuel Vadot
95f62a964SEmmanuel Vadotdescription:
105f62a964SEmmanuel Vadot  The Dynamic Voltage and Frequency Scaling Resource Collector (DVFSRC) is a
115f62a964SEmmanuel Vadot  Hardware module used to collect all the requests from both software and the
125f62a964SEmmanuel Vadot  various remote processors embedded into the SoC and decide about a minimum
135f62a964SEmmanuel Vadot  operating voltage and a minimum DRAM frequency to fulfill those requests in
145f62a964SEmmanuel Vadot  an effort to provide the best achievable performance per watt.
155f62a964SEmmanuel Vadot  This hardware IP is capable of transparently performing direct register R/W
165f62a964SEmmanuel Vadot  on all of the DVFSRC-controlled regulators and SoC bandwidth knobs.
175f62a964SEmmanuel Vadot
185f62a964SEmmanuel Vadotmaintainers:
195f62a964SEmmanuel Vadot  - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
205f62a964SEmmanuel Vadot  - Henry Chen <henryc.chen@mediatek.com>
215f62a964SEmmanuel Vadot
225f62a964SEmmanuel Vadotproperties:
235f62a964SEmmanuel Vadot  compatible:
245f62a964SEmmanuel Vadot    oneOf:
255f62a964SEmmanuel Vadot      - enum:
26*ae5de77eSEmmanuel Vadot          - mediatek,mt6893-dvfsrc
275f62a964SEmmanuel Vadot          - mediatek,mt8183-dvfsrc
285f62a964SEmmanuel Vadot          - mediatek,mt8195-dvfsrc
295f62a964SEmmanuel Vadot      - items:
305f62a964SEmmanuel Vadot          - const: mediatek,mt8192-dvfsrc
315f62a964SEmmanuel Vadot          - const: mediatek,mt8195-dvfsrc
325f62a964SEmmanuel Vadot
335f62a964SEmmanuel Vadot  reg:
345f62a964SEmmanuel Vadot    maxItems: 1
355f62a964SEmmanuel Vadot    description: DVFSRC common register address and length.
365f62a964SEmmanuel Vadot
375f62a964SEmmanuel Vadot  regulators:
385f62a964SEmmanuel Vadot    type: object
395f62a964SEmmanuel Vadot    $ref: /schemas/regulator/mediatek,mt6873-dvfsrc-regulator.yaml#
405f62a964SEmmanuel Vadot
415f62a964SEmmanuel Vadot  interconnect:
425f62a964SEmmanuel Vadot    type: object
435f62a964SEmmanuel Vadot    $ref: /schemas/interconnect/mediatek,mt8183-emi.yaml#
445f62a964SEmmanuel Vadot
455f62a964SEmmanuel Vadotrequired:
465f62a964SEmmanuel Vadot  - compatible
475f62a964SEmmanuel Vadot  - reg
485f62a964SEmmanuel Vadot
495f62a964SEmmanuel VadotadditionalProperties: false
505f62a964SEmmanuel Vadot
515f62a964SEmmanuel Vadotexamples:
525f62a964SEmmanuel Vadot  - |
535f62a964SEmmanuel Vadot    soc {
545f62a964SEmmanuel Vadot        #address-cells = <2>;
555f62a964SEmmanuel Vadot        #size-cells = <2>;
565f62a964SEmmanuel Vadot
575f62a964SEmmanuel Vadot        system-controller@10012000 {
585f62a964SEmmanuel Vadot            compatible = "mediatek,mt8195-dvfsrc";
595f62a964SEmmanuel Vadot            reg = <0 0x10012000 0 0x1000>;
605f62a964SEmmanuel Vadot
615f62a964SEmmanuel Vadot            regulators {
625f62a964SEmmanuel Vadot                compatible = "mediatek,mt8195-dvfsrc-regulator";
635f62a964SEmmanuel Vadot
645f62a964SEmmanuel Vadot                dvfsrc_vcore: dvfsrc-vcore {
655f62a964SEmmanuel Vadot                        regulator-name = "dvfsrc-vcore";
665f62a964SEmmanuel Vadot                        regulator-min-microvolt = <550000>;
675f62a964SEmmanuel Vadot                        regulator-max-microvolt = <750000>;
685f62a964SEmmanuel Vadot                        regulator-always-on;
695f62a964SEmmanuel Vadot                };
705f62a964SEmmanuel Vadot
715f62a964SEmmanuel Vadot                dvfsrc_vscp: dvfsrc-vscp {
725f62a964SEmmanuel Vadot                        regulator-name = "dvfsrc-vscp";
735f62a964SEmmanuel Vadot                        regulator-min-microvolt = <550000>;
745f62a964SEmmanuel Vadot                        regulator-max-microvolt = <750000>;
755f62a964SEmmanuel Vadot                        regulator-always-on;
765f62a964SEmmanuel Vadot                };
775f62a964SEmmanuel Vadot            };
785f62a964SEmmanuel Vadot
795f62a964SEmmanuel Vadot            emi_icc: interconnect {
805f62a964SEmmanuel Vadot                compatible = "mediatek,mt8195-emi";
815f62a964SEmmanuel Vadot                #interconnect-cells = <1>;
825f62a964SEmmanuel Vadot            };
835f62a964SEmmanuel Vadot        };
845f62a964SEmmanuel Vadot    };
85