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