AMD Zynq UltraScale+ MPSoC RPU
Overview
This board configuration targets the Cortex-R5 real-time processing unit (RPU) on
AMD Zynq UltraScale+ MPSoC. R5 DDR starts at 0x00400000, GIC for the RPU is
at 0xf9000000, and PS UART0 is at 0xff000000.
Hardware
Supported Features
The zynqmp_rpu board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo -
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
zynqmp_rpu/zynqmp_rpu target
On-target memory for this board target: 64 MiB of RAM, 512 MiB of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-R5F CPU1 |
|
EDAC |
on-chip |
Xilinx ZynqMP DDR memory controller1 |
|
Ethernet |
on-chip |
Xilinx GEM Ethernet controller4 |
|
on-chip |
Xilinx GEM MDIO node4 |
||
GPIO & Headers |
on-chip |
Xilinx Zynq-7000/ZynqMP MIO/EMIO GPIO Controller1 |
|
on-chip |
Xilinx Zynq-7000/ZynqMP MIO/EMIO GPIO Controller bank6 |
||
I2C |
on-chip |
Cadence I2C controller2 |
|
Interrupt controller |
on-chip |
ARM Generic Interrupt Controller v11 |
|
IPM |
on-chip |
The Xilinx IPI(Inter Processor Interrupt) mailbox controller is to manage messaging between two Xilinx Zynq UltraScale+ MPSoC IPI agents2 |
|
MTD |
on-chip |
Flash node1 |
|
Pin control |
on-chip |
Xilinx ZynqMP SoC Pin Controller1 |
|
Serial controller |
on-chip |
||
SPI |
on-chip |
Cadence SPI controller2 |
|
on-chip |
Xilinx ZynqMP Quad SPI interface1 |
||
SRAM |
on-board |
Generic on-chip SRAM1 |
|
Timer |
on-chip |
The default console is UART0 (typical Linux name ttyPS0).
Memories
sram0is at0x0400_0000(64 MiB).QSPI linear flash is mapped at
0xc0000000(512 MiB).
Known limitations
Dual-redundant lock-step R5 operation is not targeted by this board file.
Only the first R5 core is supported.
Programming and Debugging
The zynqmp_rpu board supports the runners and associated west commands listed below.
| flash | debug | reset | attach | rtt | debugserver | robot | simulate | |
|---|---|---|---|---|---|---|---|---|
| xsdb | ✅ (default) | ✅ (default) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
QEMU
The board uses the arm-generic-fdt QEMU machine with a ZCU102 hardware DTB
compiled from zynqmp_rpu-qemu.dts at build time. The Zephyr ELF is loaded on
cpu-num=4 (the R5 cluster); MMIO pokes at 0xff5e023c and 0xff9a0000
release the R5 from reset.
west build -b zynqmp_rpu samples/hello_world
west build -t run
Hardware (XSDB)
# From the root of the zephyr repository
west build -b zynqmp_rpu samples/hello_world
References
AMD Zynq UltraScale+ Device Technical Reference Manual (UG1085)