Complete OpenAMP Example (Versal AI Edge Series Gen 2) - Complete OpenAMP Example (Versal AI Edge Series Gen 2) - 2026.1 English - UG1186

Libmetal and OpenAMP User Guide (UG1186)

Document ID
UG1186
Release Date
2026-06-24
Version
2026.1 English
# openamp-overlay-versal-2ve-2vm.yaml
# OpenAMP: Linux (APU, Cortex-A78) <-> Zephyr (RPU0, Cortex-R52)
# Default demo: Linux loads the remoteproc ELF

reserved-memory:
  ranges: true
  "#size-cells": 2
  "#address-cells": 2

  ddrboot@9800100:
    no-map: 1
    start: 0x9800100
    size: 0x5FF00
    device_type: "memory"
  vdev0vring0@9860000:
    start: 0x9860000
    size: 0x4000
    no-map: 1
  vdev0vring1@9864000:
    start: 0x9864000
    size: 0x4000
    no-map: 1
  vdev0buffer@9868000:
    size: 0x40000
    start: 0x9868000
    no-map: 1
  rsctbl@9800000:
    start: 0x9800000
    size: 0x100
    no-map: 1

domains:
  APU_Linux:
    compatible: openamp,domain-v1
    cpus:
      - cluster: cpus_a78
        cpumask: 0xff
        mode:
          secure: false
          el: 0x3
    os,type: linux

    reserved-memory:
      - vdev0vring0@9860000
      - vdev0vring1@9864000
      - vdev0buffer@9868000
      - ddrboot@9800100
      - rsctbl@9800000

    domain-to-domain:
      compatible: openamp,domain-to-domain-v1
      remoteproc-relation:
        compatible: openamp,remoteproc-v2
        relation0:
          remote: RPU_Zephyr
          elfload: [ r52_0a_atcm_global, r52_0a_btcm_global, r52_0a_ctcm_global, ddrboot@9800100, rsctbl@9800000 ]

      rpmsg-relation:
        compatible: openamp,rpmsg-v1
        relation0:
          remote: RPU_Zephyr
          carveouts: [ vdev0vring0@9860000, vdev0vring1@9864000, vdev0buffer@9868000 ]
          mbox: ipi_1_nobuf_to_ipi_2_nobuf

  RPU_Zephyr:
    compatible: openamp,domain-v1
    cpus:
      - cluster: cpus_r52_0
        cluster_cpu: cortexr52_0
        cpumask: 0x1
        mode:
          secure: true
          el: 0x3
    os,type: zephyr
    xlnx,ddr-boot: true
    domain-to-domain:
      compatible: openamp,domain-to-domain-v1
      rpmsg-relation:
        compatible: openamp,rpmsg-v1
        relation0:
          host: APU_Linux
          mbox: ipi_2_nobuf_to_ipi_1_nobuf
          carveouts: [ vdev0vring0@9860000, vdev0vring1@9864000, vdev0buffer@9868000 ]
    sram:
      - dev: ddrboot@9800100
        start: 0x9800100
        size: 0x5FF00
      - dev: r52_0a_atcm_global@eba00000
        label: r52_0a_atcm_global
        size: 64K
        spec_name: R52_0A_ATCM_GLOBAL
        start: '0xeba00000'
      - dev: r52_0a_btcm_global@eba10000
        label: r52_0a_btcm_global
        size: 32K
        spec_name: R52_0A_BTCM_GLOBAL
        start: '0xeba10000'
      - dev: r52_0a_ctcm_global@eba20000
        label: r52_0a_ctcm_global
        size: 32K
        spec_name: R52_0A_CTCM_GLOBAL
        start: '0xeba20000'
    reserved-memory:
      - ddrboot@9800100