In this step, you apply the R52 IMUX transformation. This transformation adjusts the device tree for the Cortex-R52 memory view and address map. The R52 cores use a different memory map than the APU. This step ensures that the addresses translate correctly.
This step performs these key transformations:
- Adjusts memory addresses for the R52 local and global views.
- Configures the TCM regions from the R52 perspective.
- Applies R52-specific interrupt routing.
- Prunes peripherals that the R52 cannot access.
Use the following command to apply the R52 IMUX
transformation:
LOPPER_DTC_FLAGS="-b 0 -@" \
lopper \
-O <output-directory> \
-f \
--enhanced \
<input-cortexr52-zephyr-imux-dts> \
<output-final-zephyr-dts> \
-- gen_domain_dts <cpu-name> zephyr_dt
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 \
-O . \
-f \
--enhanced \
versal-2ve-2vm-vek385-revb-sdt-seg-cortexr52-0-zephyr-imux.dts \
versal-2ve-2vm-vek385-revb-sdt-seg-cortexr52-0-zephyr.dts \
-- gen_domain_dts cortexr52_0 zephyr_dt
| Parameter | Description |
|---|---|
-i
<lop-r52-imux.dts>
|
R52 IMUX transformation lop file |
<input-dts>
|
OpenAMP-enabled device tree (from Step 2) |
<output-dts>
|
R52 memory-mapped device tree |
--
gen_domain_dts
|
Domain generation lopper assist |
<cpu-name>
|
Target CPU for domain generation |
lop-r52-imux.dts Overview
The lop-r52-imux.dts file is a lopper operation. It defines address map translations and domain-specific rules for R52 cores.
This lop adjusts the memory regions in these ways:
- Presents TCM regions at local addresses from the R52 perspective.
- Removes peripherals that R52 cannot access.
- Adjusts interrupt numbers for the R52 GIC.
Note: For OpenAMP with DDR boot (ELFLOAD), Zephyr uses the R52
global view addresses. This approach keeps the shared memory view consistent with
the APU.
Output: versal-2ve-2vm-vek385-revb-sdt-seg-cortexr52-0-zephyr-imux.dts
This intermediate file contains these results:
- R52-specific memory mappings
- Pruned device tree with only R52-accessible peripherals
- OpenAMP nodes with correct R52 addresses
- A file that is ready for final Zephyr domain formatting