1# Copyright (c) 2021 Linaro
2# SPDX-License-Identifier: Apache-2.0
3
4# The AN547 FVP must be used to enable Ethos-U55 NPU support, but QEMU also
5# supports the AN547 without the NPU.
6#
7# For emulation, QEMU is used by default. To use AN547 FVP as an emulation
8# use the 'run_armfvp' target, for example:
9#
10# $ west build -b mps3_an547 samples/hello_world -t run_armfvp
11
12set(SUPPORTED_EMU_PLATFORMS qemu armfvp)
13
14# QEMU settings
15set(QEMU_CPU_TYPE_${ARCH} cortex-m55)
16set(QEMU_FLAGS_${ARCH}
17  -cpu ${QEMU_CPU_TYPE_${ARCH}}
18  -machine mps3-an547
19  -nographic
20  -vga none
21  )
22board_set_debugger_ifnset(qemu)
23
24if (CONFIG_BUILD_WITH_TFM)
25  # Override the binary used by qemu, to use the combined
26  # TF-M (Secure) & Zephyr (Non Secure) image (when running
27  # in-tree tests).
28  set(QEMU_KERNEL_OPTION "-device;loader,file=${CMAKE_BINARY_DIR}/zephyr/tfm_merged.hex")
29endif()
30
31# FVP settings
32set(ARMFVP_BIN_NAME FVP_Corstone_SSE-300_Ethos-U55)
33
34# FVP Parameters
35# -C indicate a config option in the form of:
36#   instance.parameter=value
37# Run the FVP with --list-params to list all options
38set(ARMFVP_FLAGS
39  -C mps3_board.uart0.out_file=-
40  -C mps3_board.uart0.unbuffered_output=1
41  -C mps3_board.uart1.out_file=-
42  -C mps3_board.uart1.unbuffered_output=1
43  -C mps3_board.uart2.out_file=-
44  -C mps3_board.uart2.unbuffered_output=1
45  -C mps3_board.visualisation.disable-visualisation=1
46  )
47