Skip to content

Commit b4cfc5c

Browse files
author
Appana Durga Kedareswara rao
committed
boards: amd: versalnet_apu: Add comprehensive TF-A build integration
Enable ARM Trusted Firmware support for Versal NET APU board with platform-specific optimizations. Changes: - Add TF-A platform configuration (PLAT=versal_net) - Configure board-specific TF-A parameters (TFA_NO_PM, PRELOADED_BL33_BASE) - Add automatic TF-A module selection in Kconfig - Update QEMU kernel loading to use TF-A bl31.elf - Update the data value that QEMU expects(0x3EE) at the specified memory address for proper board emulation. - Modified data address configuration to match QEMU implementation The board now automatically builds ARM Trusted Firmware during Zephyr application compilation with Versal NET specific optimizations. Boot flow: Boot PDI -> TF-A -> Zephyr Signed-off-by: Appana Durga Kedareswara rao <[email protected]>
1 parent d561bd7 commit b4cfc5c

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

boards/amd/versalnet_apu/board.cmake

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,26 @@ set(QEMU_ARCH xilinx-aarch64)
1010
set(QEMU_CPU_TYPE_${ARCH} cortexa78)
1111

1212
set(QEMU_FLAGS_${ARCH}
13-
-machine arm-generic-fdt
14-
-hw-dtb ${PROJECT_BINARY_DIR}/${BOARD}-qemu.dtb
15-
-device loader,addr=0xEC200300,data=0x3EE,data-len=4 -device loader,addr=0xEC200300,data=0x3DD,data-len=4
16-
-nographic
17-
-m 2g
13+
-machine arm-generic-fdt
14+
-hw-dtb ${PROJECT_BINARY_DIR}/${BOARD}-qemu.dtb
15+
-device loader,addr=0xEC200300,data=0x3EE,data-len=4 -device loader,addr=0xEC200300,data=0x3EE,data-len=4
16+
-nographic
17+
-m 2g
1818
)
1919

20+
# Set TF-A platform for ARM Trusted Firmware builds
21+
if(CONFIG_BUILD_WITH_TFA)
22+
set(TFA_PLAT "versal_net")
23+
# Add Versal NET specific TF-A build parameters
24+
set(TFA_EXTRA_ARGS "TFA_NO_PM=1;PRELOADED_BL33_BASE=0x0")
25+
if(CONFIG_TFA_MAKE_BUILD_TYPE_DEBUG)
26+
set(BUILD_FOLDER "debug")
27+
else()
28+
set(BUILD_FOLDER "release")
29+
endif()
30+
endif()
31+
2032
set(QEMU_KERNEL_OPTION
21-
-device loader,cpu-num=0,file=\$<TARGET_FILE:\${logical_target_for_zephyr_elf}>
33+
-device loader,cpu-num=0,file=${PROJECT_BINARY_DIR}/../tfa/versal_net/${BUILD_FOLDER}/bl31/bl31.elf
34+
-device loader,file=\$<TARGET_FILE:\${logical_target_for_zephyr_elf}>
2235
)

boards/amd/versalnet_apu/versalnet_apu_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# The Zephyr build from this defconfig is expected to boot from
22
# Xilinx Arm Trusted Firmware (ATF).
33
# Boot Flow is: Boot PDI -> TF-A -> Zephyr
4+
CONFIG_BUILD_WITH_TFA=y
45

56
CONFIG_ARM64_VA_BITS_40=y
67
CONFIG_ARM64_PA_BITS_40=y

0 commit comments

Comments
 (0)