platform.mk 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #
  2. # Copyright (c) 2021, MediaTek Inc. All rights reserved.
  3. #
  4. # SPDX-License-Identifier: BSD-3-Clause
  5. #
  6. MTK_PLAT := plat/mediatek
  7. MTK_PLAT_SOC := ${MTK_PLAT}/${PLAT}
  8. PLAT_INCLUDES := -I${MTK_PLAT}/common/ \
  9. -I${MTK_PLAT}/common/drivers/gic600/ \
  10. -I${MTK_PLAT}/common/drivers/gpio/ \
  11. -I${MTK_PLAT}/common/drivers/rtc/ \
  12. -I${MTK_PLAT}/common/drivers/timer/ \
  13. -I${MTK_PLAT}/common/drivers/uart/ \
  14. -I${MTK_PLAT}/common/lpm/ \
  15. -I${MTK_PLAT_SOC}/drivers/apusys/ \
  16. -I${MTK_PLAT_SOC}/drivers/dcm \
  17. -I${MTK_PLAT_SOC}/drivers/dfd \
  18. -I${MTK_PLAT_SOC}/drivers/dp/ \
  19. -I${MTK_PLAT_SOC}/drivers/emi_mpu/ \
  20. -I${MTK_PLAT_SOC}/drivers/gpio/ \
  21. -I${MTK_PLAT_SOC}/drivers/mcdi/ \
  22. -I${MTK_PLAT_SOC}/drivers/pmic/ \
  23. -I${MTK_PLAT_SOC}/drivers/spmc/ \
  24. -I${MTK_PLAT_SOC}/drivers/ptp3/ \
  25. -I${MTK_PLAT_SOC}/include/
  26. GICV3_SUPPORT_GIC600 := 1
  27. include drivers/arm/gic/v3/gicv3.mk
  28. include lib/xlat_tables_v2/xlat_tables.mk
  29. PLAT_BL_COMMON_SOURCES := ${GICV3_SOURCES} \
  30. ${XLAT_TABLES_LIB_SRCS} \
  31. plat/common/aarch64/crash_console_helpers.S \
  32. plat/common/plat_psci_common.c
  33. BL31_SOURCES += common/desc_image_load.c \
  34. drivers/delay_timer/delay_timer.c \
  35. drivers/gpio/gpio.c \
  36. drivers/delay_timer/generic_delay_timer.c \
  37. drivers/ti/uart/aarch64/16550_console.S \
  38. lib/bl_aux_params/bl_aux_params.c \
  39. lib/cpus/aarch64/cortex_a55.S \
  40. lib/cpus/aarch64/cortex_a78.S \
  41. plat/common/plat_gicv3.c \
  42. ${MTK_PLAT}/common/drivers/gic600/mt_gic_v3.c \
  43. ${MTK_PLAT}/common/drivers/gpio/mtgpio_common.c \
  44. ${MTK_PLAT}/common/drivers/pmic_wrap/pmic_wrap_init_v2.c \
  45. ${MTK_PLAT}/common/drivers/rtc/rtc_common.c \
  46. ${MTK_PLAT}/common/drivers/rtc/rtc_mt6359p.c \
  47. ${MTK_PLAT}/common/drivers/timer/mt_timer.c \
  48. ${MTK_PLAT}/common/drivers/uart/uart.c \
  49. ${MTK_PLAT}/common/lpm/mt_lp_rm.c \
  50. ${MTK_PLAT}/common/mtk_cirq.c \
  51. ${MTK_PLAT}/common/mtk_plat_common.c \
  52. ${MTK_PLAT}/common/mtk_sip_svc.c \
  53. ${MTK_PLAT}/common/params_setup.c \
  54. ${MTK_PLAT_SOC}/aarch64/platform_common.c \
  55. ${MTK_PLAT_SOC}/aarch64/plat_helpers.S \
  56. ${MTK_PLAT_SOC}/bl31_plat_setup.c \
  57. ${MTK_PLAT_SOC}/drivers/apusys/apupll.c \
  58. ${MTK_PLAT_SOC}/drivers/apusys/apupwr_clkctl.c \
  59. ${MTK_PLAT_SOC}/drivers/apusys/mtk_apusys.c \
  60. ${MTK_PLAT_SOC}/drivers/dcm/mtk_dcm.c \
  61. ${MTK_PLAT_SOC}/drivers/dcm/mtk_dcm_utils.c \
  62. ${MTK_PLAT_SOC}/drivers/dfd/plat_dfd.c \
  63. ${MTK_PLAT_SOC}/drivers/dp/mt_dp.c \
  64. ${MTK_PLAT_SOC}/drivers/emi_mpu/emi_mpu.c \
  65. ${MTK_PLAT_SOC}/drivers/gpio/mtgpio.c \
  66. ${MTK_PLAT_SOC}/drivers/mcdi/mt_cpu_pm.c \
  67. ${MTK_PLAT_SOC}/drivers/mcdi/mt_cpu_pm_cpc.c \
  68. ${MTK_PLAT_SOC}/drivers/mcdi/mt_mcdi.c \
  69. ${MTK_PLAT_SOC}/drivers/mcdi/mt_lp_irqremain.c \
  70. ${MTK_PLAT_SOC}/drivers/gpio/mtgpio.c \
  71. ${MTK_PLAT_SOC}/drivers/pmic/pmic.c \
  72. ${MTK_PLAT_SOC}/drivers/ptp3/mtk_ptp3_main.c \
  73. ${MTK_PLAT_SOC}/drivers/spmc/mtspmc.c \
  74. ${MTK_PLAT_SOC}/plat_pm.c \
  75. ${MTK_PLAT_SOC}/plat_sip_calls.c \
  76. ${MTK_PLAT_SOC}/plat_topology.c
  77. # Build SPM drivers
  78. include ${MTK_PLAT_SOC}/drivers/spm/build.mk
  79. # Configs for A78 and A55
  80. HW_ASSISTED_COHERENCY := 1
  81. USE_COHERENT_MEM := 0
  82. CTX_INCLUDE_AARCH32_REGS := 0
  83. ERRATA_A55_1530923 := 1
  84. # indicate the reset vector address can be programmed
  85. PROGRAMMABLE_RESET_ADDRESS := 1
  86. COLD_BOOT_SINGLE_CPU := 1
  87. MACH_MT8195 := 1
  88. $(eval $(call add_define,MACH_MT8195))
  89. include lib/coreboot/coreboot.mk