platform.mk 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #
  2. # Copyright (c) 2021-2024, Arm Limited and Contributors. All rights reserved.
  3. #
  4. # SPDX-License-Identifier: BSD-3-Clause
  5. #
  6. # Only aarch64 ARCH supported for FVP_R
  7. ARCH := aarch64
  8. # Override to exclude BL2, BL2U, BL31, and BL33 for FVP_R
  9. override NEED_BL2 := no
  10. override NEED_BL2U := no
  11. override NEED_BL31 := no
  12. NEED_BL32 := no
  13. override CTX_INCLUDE_AARCH32_REGS := 0
  14. # Use MPU-based memory management:
  15. XLAT_MPU_LIB_V1 := 1
  16. # FVP R will not have more than 2 clusters so just use CCI interconnect
  17. FVP_R_INTERCONNECT_SOURCES := drivers/arm/cci/cci.c
  18. include plat/arm/board/common/board_common.mk
  19. include plat/arm/common/arm_common.mk
  20. PLAT_INCLUDES += -Iplat/arm/board/fvp_r/include
  21. FVP_R_BL_COMMON_SOURCES := plat/arm/board/fvp_r/fvp_r_common.c \
  22. plat/arm/board/fvp_r/fvp_r_context_mgmt.c \
  23. plat/arm/board/fvp_r/fvp_r_debug.S \
  24. plat/arm/board/fvp_r/fvp_r_err.c \
  25. plat/arm/board/fvp_r/fvp_r_helpers.S \
  26. plat/arm/board/fvp_r/fvp_r_misc_helpers.S
  27. FVP_R_BL1_SOURCES := plat/arm/board/fvp_r/fvp_r_bl1_arch_setup.c \
  28. plat/arm/board/fvp_r/fvp_r_bl1_setup.c \
  29. plat/arm/board/fvp_r/fvp_r_io_storage.c \
  30. plat/arm/board/fvp_r/fvp_r_bl1_entrypoint.S \
  31. plat/arm/board/fvp_r/fvp_r_bl1_exceptions.S \
  32. plat/arm/board/fvp_r/fvp_r_bl1_main.c
  33. FVP_R_CPU_LIBS := lib/cpus/${ARCH}/aem_generic.S
  34. FVP_R_DYNC_CFG_SOURCES := common/fdt_wrappers.c \
  35. plat/arm/common/arm_dyn_cfg.c
  36. ifeq (${TRUSTED_BOARD_BOOT},1)
  37. FVP_R_AUTH_SOURCES := drivers/auth/auth_mod.c \
  38. drivers/auth/crypto_mod.c \
  39. drivers/auth/img_parser_mod.c \
  40. lib/fconf/fconf_tbbr_getter.c \
  41. plat/common/tbbr/plat_tbbr.c \
  42. drivers/auth/tbbr/tbbr_cot_bl1_r64.c \
  43. drivers/auth/tbbr/tbbr_cot_common.c \
  44. plat/arm/board/common/board_arm_trusted_boot.c \
  45. plat/arm/board/common/rotpk/arm_dev_rotpk.S \
  46. plat/arm/board/fvp_r/fvp_r_trusted_boot.c
  47. FVP_R_BL1_SOURCES += ${MBEDTLS_SOURCES} \
  48. ${FVP_R_AUTH_SOURCES}
  49. endif
  50. ifeq (${USE_SP804_TIMER},1)
  51. FVP_R_BL_COMMON_SOURCES += drivers/arm/sp804/sp804_delay_timer.c
  52. else
  53. FVP_R_BL_COMMON_SOURCES += drivers/delay_timer/generic_delay_timer.c
  54. endif
  55. # Enable Activity Monitor Unit extensions by default
  56. ENABLE_FEAT_AMU := 2
  57. ifneq (${ENABLE_STACK_PROTECTOR},0)
  58. FVP_R_BL_COMMON_SOURCES += plat/arm/board/fvp_r/fvp_r_stack_protector.c
  59. endif
  60. override BL1_SOURCES := drivers/arm/sp805/sp805.c \
  61. drivers/cfi/v2m/v2m_flash.c \
  62. drivers/delay_timer/delay_timer.c \
  63. drivers/io/io_fip.c \
  64. drivers/io/io_memmap.c \
  65. drivers/io/io_storage.c \
  66. drivers/io/io_semihosting.c \
  67. lib/cpus/aarch64/cpu_helpers.S \
  68. lib/cpus/errata_report.c \
  69. lib/fconf/fconf_dyn_cfg_getter.c \
  70. lib/semihosting/semihosting.c \
  71. lib/semihosting/${ARCH}/semihosting_call.S \
  72. plat/arm/common/arm_bl1_setup.c \
  73. plat/arm/common/arm_err.c \
  74. plat/arm/common/arm_io_storage.c \
  75. plat/arm/common/fconf/arm_fconf_io.c \
  76. plat/common/plat_bl1_common.c \
  77. plat/common/aarch64/platform_up_stack.S \
  78. ${FVP_R_BL1_SOURCES} \
  79. ${FVP_R_BL_COMMON_SOURCES} \
  80. ${FVP_R_CPU_LIBS} \
  81. ${FVP_R_DYNC_CFG_SOURCES} \
  82. ${FVP_R_INTERCONNECT_SOURCES}