# Copyright (c) 2021 Carlo Caione <ccaione@baylibre.com>
# SPDX-License-Identifier: Apache-2.0

description: OpenAMP (RPMsg with static VRINGs) backend

compatible: "zephyr,ipc-openamp-static-vrings"

include: base.yaml

properties:
  role:
    description: OpenAMP roles
    required: true
    type: string
    enum:
      - host
      - remote

  memory-region:
    description: phandle to the shared memory region
    required: true
    type: phandle

  mboxes:
    description: phandle to the MBOX controller (TX and RX are required)
    required: true

  mbox-names:
    description: MBOX channel names (must be called "tx" and "rx")
    required: true

  zephyr,priority:
    type: array
    description: |
      WQ priority for the instance. This property is an array composed by the
      priority level and the type of priority (PRIO_COOP for cooperative or
      PRIO_PREEMPT for preemptive).

      For example for a thread priority K_PRIO_COOP(1) in DT we have
        priority = <1 PRIO_COOP>;
      or for K_PRIO_PREEMPT(2)
        priority = <2 PRIO_PREEMPT>;

      When this property is missing a default priority of <0 PRIO_PREEMPT> is
      assumed.

  zephyr,buffer-size:
    type: int
    description: |
      The size of the buffer used to send data between host and remote. Default
      value is RPMSG_BUFFER_SIZE. This property must be the same for host and remote.
