1*54fd6939SJiyong Park# 2*54fd6939SJiyong Park# Copyright (c) 2019, MediaTek Inc. All rights reserved. 3*54fd6939SJiyong Park# 4*54fd6939SJiyong Park# SPDX-License-Identifier: BSD-3-Clause 5*54fd6939SJiyong Park# 6*54fd6939SJiyong Park 7*54fd6939SJiyong ParkMTK_PLAT := plat/mediatek 8*54fd6939SJiyong ParkMTK_PLAT_SOC := ${MTK_PLAT}/${PLAT} 9*54fd6939SJiyong Park 10*54fd6939SJiyong ParkPLAT_INCLUDES := -I${MTK_PLAT}/common/ \ 11*54fd6939SJiyong Park -I${MTK_PLAT}/common/drivers/uart/ \ 12*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/drivers/ \ 13*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/drivers/emi_mpu/ \ 14*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/drivers/devapc/ \ 15*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/drivers/mcdi/ \ 16*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/drivers/spmc/ \ 17*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/drivers/gpio/ \ 18*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/drivers/timer/ \ 19*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/drivers/pmic/ \ 20*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/drivers/spm/ \ 21*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/drivers/sspm/ \ 22*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/drivers/rtc/ \ 23*54fd6939SJiyong Park -I${MTK_PLAT_SOC}/include/ 24*54fd6939SJiyong Park 25*54fd6939SJiyong ParkPLAT_BL_COMMON_SOURCES := lib/xlat_tables/aarch64/xlat_tables.c \ 26*54fd6939SJiyong Park lib/xlat_tables/xlat_tables_common.c \ 27*54fd6939SJiyong Park plat/common/plat_psci_common.c \ 28*54fd6939SJiyong Park plat/common/aarch64/crash_console_helpers.S 29*54fd6939SJiyong Park 30*54fd6939SJiyong Park# Include GICv3 driver files 31*54fd6939SJiyong Parkinclude drivers/arm/gic/v3/gicv3.mk 32*54fd6939SJiyong Park 33*54fd6939SJiyong ParkBL31_SOURCES += common/desc_image_load.c \ 34*54fd6939SJiyong Park drivers/arm/cci/cci.c \ 35*54fd6939SJiyong Park ${GICV3_SOURCES} \ 36*54fd6939SJiyong Park drivers/delay_timer/delay_timer.c \ 37*54fd6939SJiyong Park drivers/delay_timer/generic_delay_timer.c \ 38*54fd6939SJiyong Park drivers/gpio/gpio.c \ 39*54fd6939SJiyong Park drivers/ti/uart/aarch64/16550_console.S \ 40*54fd6939SJiyong Park lib/bl_aux_params/bl_aux_params.c \ 41*54fd6939SJiyong Park lib/cpus/aarch64/aem_generic.S \ 42*54fd6939SJiyong Park lib/cpus/aarch64/cortex_a53.S \ 43*54fd6939SJiyong Park lib/cpus/aarch64/cortex_a73.S \ 44*54fd6939SJiyong Park plat/common/plat_gicv3.c \ 45*54fd6939SJiyong Park ${MTK_PLAT}/common/mtk_plat_common.c \ 46*54fd6939SJiyong Park ${MTK_PLAT}/common/drivers/pmic_wrap/pmic_wrap_init.c \ 47*54fd6939SJiyong Park ${MTK_PLAT}/common/drivers/rtc/rtc_common.c \ 48*54fd6939SJiyong Park ${MTK_PLAT}/common/drivers/uart/uart.c \ 49*54fd6939SJiyong Park ${MTK_PLAT}/common/params_setup.c \ 50*54fd6939SJiyong Park ${MTK_PLAT_SOC}/aarch64/plat_helpers.S \ 51*54fd6939SJiyong Park ${MTK_PLAT_SOC}/aarch64/platform_common.c \ 52*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/devapc/devapc.c \ 53*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/mcsi/mcsi.c \ 54*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/pmic/pmic.c \ 55*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/rtc/rtc.c \ 56*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/mcdi/mtk_mcdi.c \ 57*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/spmc/mtspmc.c \ 58*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/spm/spm.c \ 59*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/spm/spm_pmic_wrap.c \ 60*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/spm/spm_suspend.c \ 61*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/gpio/mtgpio.c \ 62*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/timer/mt_timer.c \ 63*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/emi_mpu/emi_mpu.c \ 64*54fd6939SJiyong Park ${MTK_PLAT_SOC}/plat_pm.c \ 65*54fd6939SJiyong Park ${MTK_PLAT_SOC}/plat_topology.c \ 66*54fd6939SJiyong Park ${MTK_PLAT_SOC}/plat_mt_gic.c \ 67*54fd6939SJiyong Park ${MTK_PLAT_SOC}/plat_dcm.c \ 68*54fd6939SJiyong Park ${MTK_PLAT_SOC}/bl31_plat_setup.c \ 69*54fd6939SJiyong Park ${MTK_PLAT_SOC}/plat_debug.c \ 70*54fd6939SJiyong Park ${MTK_PLAT_SOC}/scu.c \ 71*54fd6939SJiyong Park ${MTK_PLAT_SOC}/drivers/sspm/sspm.c 72*54fd6939SJiyong Park 73*54fd6939SJiyong Park# Enable workarounds for selected Cortex-A53 erratas. 74*54fd6939SJiyong ParkERRATA_A53_826319 := 0 75*54fd6939SJiyong ParkERRATA_A53_836870 := 1 76*54fd6939SJiyong ParkERRATA_A53_855873 := 1 77*54fd6939SJiyong Park 78*54fd6939SJiyong Park# indicate the reset vector address can be programmed 79*54fd6939SJiyong ParkPROGRAMMABLE_RESET_ADDRESS := 1 80*54fd6939SJiyong Park 81*54fd6939SJiyong ParkCOLD_BOOT_SINGLE_CPU := 1 82*54fd6939SJiyong Park 83*54fd6939SJiyong ParkMULTI_CONSOLE_API := 1 84*54fd6939SJiyong Park 85*54fd6939SJiyong ParkMACH_MT8183 := 1 86*54fd6939SJiyong Park$(eval $(call add_define,MACH_MT8183)) 87*54fd6939SJiyong Park 88*54fd6939SJiyong Parkinclude lib/coreboot/coreboot.mk 89*54fd6939SJiyong Park 90