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

title: MediaTek MFlexGraphics GPUEB Mailbox Controller

maintainers:
  - Nicolas Frattaroli <nicolas.frattaroli@collabora.com>

properties:
  compatible:
    enum:
      - mediatek,mt8196-gpueb-mbox

  reg:
    items:
      - description: mailbox data registers
      - description: mailbox control registers

  reg-names:
    items:
      - const: data
      - const: ctl

  clocks:
    items:
      - description: main clock of the GPUEB MCU

  interrupts:
    items:
      - description: fires when a new message is received

  "#mbox-cells":
    const: 1
    description:
      The number of the mailbox channel.

required:
  - compatible
  - reg
  - reg-names
  - clocks
  - interrupts
  - "#mbox-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/mediatek,mt8196-clock.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    mailbox@4b09fd80 {
        compatible = "mediatek,mt8196-gpueb-mbox";
        reg = <0x4b09fd80 0x280>,
              <0x4b170000 0x7c>;
        reg-names = "data", "ctl";
        clocks = <&topckgen CLK_TOP_MFG_EB>;
        interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH 0>;
        #mbox-cells = <1>;
    };
