# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

description: |
  Nordic VEVIF (VPR Event Interface) - Local

  VEVIF is an event interface for VPR, allowing connection to the domain's DPPI
  system. VEVIF can also generate IRQs to other CPUs.

  Example definition:

    cpuppr: cpu@d {
      ...
      cpuppr_vevif_local: mailbox {
        compatible = "nordic,nrf-vevif-local";
        interrupts = <0 NRF_DEFAULT_IRQ_PRIORITY>,
                     <1 NRF_DEFAULT_IRQ_PRIORITY>,
                     ...
                     <N NRF_DEFAULT_IRQ_PRIORITY>;
        #mbox-cells = <1>;
        nordic,tasks = <16>;
        nordic,tasks-mask: <0xfffffff0>;
      };
    };

compatible: "nordic,nrf-vevif-local"

include: [base.yaml, "nordic,nrf-vevif-common.yaml"]

properties:
  interrupts:
    required: true
