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

title: Broadcom BCM74110 Mailbox

maintainers:
  - Justin Chen <justin.chen@broadcom.com>
  - Florian Fainelli <florian.fainelli@broadcom.com>

description: Broadcom mailbox hardware first introduced with 74110

properties:
  compatible:
    enum:
      - brcm,bcm74110-mbox

  reg:
    maxItems: 1

  interrupts:
    items:
      - description: RX doorbell and watermark interrupts
      - description: TX doorbell and watermark interrupts

  "#mbox-cells":
    const: 2
    description:
      The first cell is channel type and second cell is shared memory slot

  brcm,rx:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: RX Mailbox number

  brcm,tx:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: TX Mailbox number

required:
  - compatible
  - reg
  - interrupts
  - "#mbox-cells"
  - brcm,rx
  - brcm,tx

additionalProperties: false

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

    mailbox@a552000 {
        compatible = "brcm,bcm74110-mbox";
        reg = <0xa552000 0x1104>;
        interrupts = <GIC_SPI 0x67 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 0x66 IRQ_TYPE_LEVEL_HIGH>;
        #mbox-cells = <0x2>;
        brcm,rx = <0x7>;
        brcm,tx = <0x6>;
    };
