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