1:name: Zynqmp
2:description: This script runs on Zynq UltraScale+ MPSoC. It's showcasing two way communication between Linux running on Cortex-A53 and OpenAMP demo running on Cortex-R5.
3
4using sysbus
5$name?="ZynqUS+"
6mach create $name
7
8machine LoadPlatformDescription @platforms/cpus/zynqmp.repl
9machine SetSerialExecution True
10sysbus SilenceRange <0xFF0F0104 0x100>  # Silencing QSPI accesses to speed up boot time
11showAnalyzer uart1
12
13$dtb?=       @https://dl.antmicro.com/projects/renode/zynqmp--sm-k26-revA-openamp.dtb-s_39689-4a8f42bbd45093526b1beddb36d39e9486dd328d
14$atf_elf?=   @https://dl.antmicro.com/projects/renode/zynq-us_plus--bl31.elf-s_770984-aad9c28d989600caa8fd436bca66eb500e0606dd
15$uboot?=     @https://dl.antmicro.com/projects/renode/zynq-us_plus--u-boot.bin-s_1351888-8291c2fd5e7fed3bda101e4c0694991fb40af277
16$uboot_elf?= @https://dl.antmicro.com/projects/renode/zynq-us_plus--u-boot.elf-s_1418000-23d4b0115d096ce9ed85c7e146f687a528382326
17$linux?=     @https://dl.antmicro.com/projects/renode/zynqmp--linux-Image-openamp-s_23429632-e9ff8dd5c5963153dd87791cc250dea3c039cbbc
18$linux_elf?= @https://dl.antmicro.com/projects/renode/zynq-us_plus--vmlinux-s_26614776-efb126bb528fb25d022b3cec1c1a08d555608e65
19$rootfs?=    @https://dl.antmicro.com/projects/renode/zynqmp--linux-rootfs-openamp.ext2-s_62914560-8b8fde7705a876b05d6f1a0f98540f28ba1dd924
20
21macro reset
22"""
23    apu0 PC 0x1000000
24    apu1 IsHalted true
25    apu2 IsHalted true
26    apu3 IsHalted true
27
28    rpu0 IsHalted true
29    rpu1 IsHalted true
30
31    sysbus LoadELF    $atf_elf cpu=apu0
32
33    sysbus LoadFdt    $dtb    0x100000   "earlycon console=ttyPS1,115200n8 root=/dev/ram0 rw initrd=0x20000000,64M" false context=apu0
34    sysbus LoadBinary $uboot  0x8000000  cpu=apu0
35    sysbus LoadBinary $linux  0x10000000 cpu=apu0
36    sysbus LoadBinary $rootfs 0x20000000 cpu=apu0
37
38    sysbus LoadSymbolsFrom $uboot_elf context=apu0
39    sysbus LoadSymbolsFrom $linux_elf context=apu0
40"""
41
42runMacro $reset
43