Purpose
This step translates an OpenAMP overlay from YAML format to DTS syntax and applies it to the system device tree. The overlay defines these items:
- Domain assignments, which identify which processor runs which firmware
- OpenAMP configuration, including remoteproc and RPMsg endpoints
- Memory region assignments for OpenAMP communication
Use the following command to apply the OpenAMP YAML overlay:
LOPPER_DTC_FLAGS="-b 0 -@" \
lopper \
-O <output-directory> \
-f \
--enhanced \
-x '*.yaml' \
-i <path-to-openamp-overlay-yaml> \
<input-system-dts> \
<output-rpu-zephyr-yaml-dts>
The following example shows this step for the VEK385
platform:
LOPPER_DTC_FLAGS="-b 0 -@" \
tmp/work/x86_64-linux/esw-conf-native/2026.1+git/recipe-sysroot-native/usr/bin/lopper \
-f \
-O . \
--enhanced \
-x '*.yaml' \
-i <yocto>/edf/sources/meta-xilinx/meta-xilinx-standalone-sdt/conf/domainyaml/openamp-overlay-versal-2ve-2vm.yaml \
build/hw-description/versal-2ve-2vm-vek385-revb-sdt-seg/versal-2ve-2vm-vek385-revb-sdt-seg_2026.1_0110_1_01110000/system-top.dts \
rpu_zephyr-yaml.dts
| Parameter | Description |
|---|---|
-O <output-dir>
|
Output directory for generated files |
-f
|
Force overwrite of existing output files |
--enhanced
|
Enable enhanced lopper features and plugins |
-x '*.yaml'
|
Exclude YAML files from being copied to output |
-i <yaml-overlay>
|
Input overlay file to apply to the device tree |
<system-top.dts>
|
Input system device tree (from sdtgen) |
<output.dts>
|
Output device tree with overlay applied |
The intermediate rpu_zephyr-yaml.dts output file contains the following:
- Original system device tree nodes
- Overlay nodes merged in DTS format
- Domain assignments preserved as properties
- Relation nodes defining APU-RPU connections
The overlay establishes the relationship between the Linux master domain and the Zephyr remote domain. This relationship is critical for the next lopper step.