# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/clock/mediatek,mt8196-sys-clock.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MediaTek System Clock Controller for MT8196

maintainers:
  - Guangjie Song <guangjie.song@mediatek.com>
  - Laura Nao <laura.nao@collabora.com>

description: |
  The clock architecture in MediaTek SoCs is structured like below:
  PLLs -->
          dividers -->
                      muxes
                           -->
                              clock gate

  The apmixedsys, apmixedsys_gp2, vlpckgen, armpll, ccipll, mfgpll and ptppll
  provide most of the PLLs which are generated from the SoC's 26MHZ crystal oscillator.
  The topckgen, topckgen_gp2 and vlpckgen provide dividers and muxes which
  provide the clock source to other IP blocks.

properties:
  compatible:
    items:
      - enum:
          - mediatek,mt8196-apmixedsys
          - mediatek,mt8196-armpll-b-pll-ctrl
          - mediatek,mt8196-armpll-bl-pll-ctrl
          - mediatek,mt8196-armpll-ll-pll-ctrl
          - mediatek,mt8196-apmixedsys-gp2
          - mediatek,mt8196-ccipll-pll-ctrl
          - mediatek,mt8196-mfgpll-pll-ctrl
          - mediatek,mt8196-mfgpll-sc0-pll-ctrl
          - mediatek,mt8196-mfgpll-sc1-pll-ctrl
          - mediatek,mt8196-ptppll-pll-ctrl
          - mediatek,mt8196-topckgen
          - mediatek,mt8196-topckgen-gp2
          - mediatek,mt8196-vlpckgen
      - const: syscon

  reg:
    maxItems: 1

  '#clock-cells':
    const: 1

  mediatek,hardware-voter:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: |
      Phandle to the "Hardware Voter" (HWV), as named in the vendor
      documentation for MT8196/MT6991.

      The HWV is a SoC-internal fixed-function MCU used to collect votes from
      both the Application Processor and other remote processors within the SoC.
      It is intended to transparently enable or disable hardware resources (such
      as power domains or clocks) based on internal vote aggregation handled by
      the MCU's internal state machine.

      However, in practice, this design is incomplete. While the HWV performs
      some internal vote aggregation,software is still required to
      - Manually enable power supplies externally, if present and if required
      - Manually enable parent clocks via direct MMIO writes to clock controllers
      - Enable the FENC after the clock has been ungated via direct MMIO
      writes to clock controllers

      As such, the HWV behaves more like a hardware-managed clock reference
      counter than a true voter. Furthermore, it is not a separate
      controller. It merely serves as an alternative interface to the same
      underlying clock or power controller. Actual control still requires
      direct access to the controller's own MMIO register space, in
      addition to writing to the HWV's MMIO region.

      For this reason, a custom phandle is used here - drivers need to directly
      access the HWV MMIO region in a syscon-like fashion, due to how the
      hardware is wired. This differs from true hardware voting systems, which
      typically do not require custom phandles and rely instead on generic APIs
      (clocks, power domains, interconnects).

      The name "hardware-voter" is retained to match vendor documentation, but
      this should not be reused or misunderstood as a proper voting mechanism.

required:
  - compatible
  - reg
  - '#clock-cells'

additionalProperties: false

examples:
  - |
    apmixedsys_clk: syscon@10000800 {
        compatible = "mediatek,mt8196-apmixedsys", "syscon";
        reg = <0x10000800 0x1000>;
        #clock-cells = <1>;
    };
  - |
    topckgen: syscon@10000000 {
        compatible = "mediatek,mt8196-topckgen", "syscon";
        reg = <0x10000000 0x800>;
        mediatek,hardware-voter = <&scp_hwv>;
        #clock-cells = <1>;
    };

