# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/mediatek,mt8195-scpsys.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MediaTek System Control Processor System

maintainers:
  - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  - Matthias Brugger <matthias.bgg@gmail.com>

description:
  MediaTek System Control Processor System (SCPSYS) has several
  power management tasks. The tasks include MTCMOS power
  domain control, thermal measurement, DVFS, etc.

properties:
  compatible:
    items:
      - enum:
          - mediatek,mt6795-scpsys
          - mediatek,mt6893-scpsys
          - mediatek,mt8167-scpsys
          - mediatek,mt8173-scpsys
          - mediatek,mt8183-scpsys
          - mediatek,mt8186-scpsys
          - mediatek,mt8188-scpsys
          - mediatek,mt8192-scpsys
          - mediatek,mt8195-scpsys
          - mediatek,mt8365-scpsys
      - const: syscon
      - const: simple-mfd

  reg:
    maxItems: 1

  power-controller:
    $ref: /schemas/power/mediatek,power-controller.yaml#

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/mt8195-clk.h>
    #include <dt-bindings/power/mt8195-power.h>

    syscon@10006000 {
      compatible = "mediatek,mt8195-scpsys", "syscon", "simple-mfd";
      reg = <0x10006000 0x100>;

      spm: power-controller {
        compatible = "mediatek,mt8195-power-controller";
        #address-cells = <1>;
        #size-cells = <0>;
        #power-domain-cells = <1>;

        /* sample of power domain nodes */
        power-domain@MT8195_POWER_DOMAIN_PCIE_PHY {
          reg = <MT8195_POWER_DOMAIN_PCIE_PHY>;
          #power-domain-cells = <0>;
        };

        power-domain@MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY {
          reg = <MT8195_POWER_DOMAIN_SSUSB_PCIE_PHY>;
          #power-domain-cells = <0>;
        };
      };
    };
