plat_common.mk 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #
  2. # Copyright (c) 2017-2022, ARM Limited and Contributors. All rights reserved.
  3. #
  4. # SPDX-License-Identifier: BSD-3-Clause
  5. #
  6. # We don't use BL1 or BL2, so BL31 is the first image to execute
  7. RESET_TO_BL31 := 1
  8. # Only one core starts up at first
  9. COLD_BOOT_SINGLE_CPU := 1
  10. # We can choose where a core starts executing
  11. PROGRAMMABLE_RESET_ADDRESS:= 1
  12. # ARM coherency is managed in hardware
  13. WARMBOOT_ENABLE_DCACHE_EARLY := 1
  14. # A53 erratum for SoC. (enable them all)
  15. ERRATA_A53_826319 := 1
  16. ERRATA_A53_835769 := 1
  17. ERRATA_A53_836870 := 1
  18. ERRATA_A53_843419 := 1
  19. ERRATA_A53_855873 := 1
  20. ERRATA_A53_1530924 := 1
  21. # A72 Erratum for SoC
  22. ERRATA_A72_859971 := 1
  23. ERRATA_A72_1319367 := 1
  24. CRASH_REPORTING := 1
  25. NS_TIMER_SWITCH := 0
  26. # Split out RO data into a non-executable section
  27. SEPARATE_CODE_AND_RODATA := 1
  28. # Generate a Position Independent Executable
  29. ENABLE_PIE := 1
  30. TI_16550_MDR_QUIRK := 1
  31. $(eval $(call add_define,TI_16550_MDR_QUIRK))
  32. K3_USART := 0
  33. $(eval $(call add_define,K3_USART))
  34. # Allow customizing the UART baud rate
  35. K3_USART_BAUD := 115200
  36. $(eval $(call add_define,K3_USART_BAUD))
  37. # Libraries
  38. include lib/xlat_tables_v2/xlat_tables.mk
  39. PLAT_INCLUDES += \
  40. -I${PLAT_PATH}/include \
  41. -I${PLAT_PATH}/common/drivers/sec_proxy \
  42. -I${PLAT_PATH}/common/drivers/ti_sci \
  43. K3_CONSOLE_SOURCES += \
  44. drivers/ti/uart/aarch64/16550_console.S \
  45. ${PLAT_PATH}/common/k3_console.c \
  46. # Include GICv3 driver files
  47. include drivers/arm/gic/v3/gicv3.mk
  48. K3_GIC_SOURCES += \
  49. ${GICV3_SOURCES} \
  50. plat/common/plat_gicv3.c \
  51. ${PLAT_PATH}/common/k3_gicv3.c \
  52. K3_PSCI_SOURCES += \
  53. plat/common/plat_psci_common.c \
  54. ${PLAT_PATH}/common/k3_psci.c \
  55. K3_SEC_PROXY_SOURCES += \
  56. ${PLAT_PATH}/common/drivers/sec_proxy/sec_proxy.c \
  57. K3_TI_SCI_SOURCES += \
  58. ${PLAT_PATH}/common/drivers/ti_sci/ti_sci.c \
  59. PLAT_BL_COMMON_SOURCES += \
  60. lib/cpus/aarch64/cortex_a53.S \
  61. lib/cpus/aarch64/cortex_a72.S \
  62. ${XLAT_TABLES_LIB_SRCS} \
  63. ${K3_CONSOLE_SOURCES} \
  64. BL31_SOURCES += \
  65. ${PLAT_PATH}/common/k3_bl31_setup.c \
  66. ${PLAT_PATH}/common/k3_helpers.S \
  67. ${PLAT_PATH}/common/k3_topology.c \
  68. ${K3_GIC_SOURCES} \
  69. ${K3_PSCI_SOURCES} \
  70. ${K3_SEC_PROXY_SOURCES} \
  71. ${K3_TI_SCI_SOURCES} \