127132f13SRex-BC Chen# 2*8c1740e2SSuyuan Su# Copyright (c) 2021-2024, MediaTek Inc. All rights reserved. 327132f13SRex-BC Chen# 427132f13SRex-BC Chen# SPDX-License-Identifier: BSD-3-Clause 527132f13SRex-BC Chen# 627132f13SRex-BC Chen 727132f13SRex-BC ChenMTK_PLAT := plat/mediatek 827132f13SRex-BC ChenMTK_PLAT_SOC := ${MTK_PLAT}/${PLAT} 927132f13SRex-BC Chen 10*8c1740e2SSuyuan Su# True Random Number Generator firmware Interface 11*8c1740e2SSuyuan SuTRNG_SUPPORT := 1 12*8c1740e2SSuyuan Su 1327132f13SRex-BC ChenPLAT_INCLUDES := -I${MTK_PLAT}/common/ \ 14cc76896dSRex-BC Chen -I${MTK_PLAT}/drivers/cirq/ \ 153374752fSBo-Chen Chen -I${MTK_PLAT}/drivers/gic600/ \ 163374752fSBo-Chen Chen -I${MTK_PLAT}/drivers/gpio/ \ 174dbe24cfSBo-Chen Chen -I${MTK_PLAT}/drivers/msdc/ \ 184dbe24cfSBo-Chen Chen -I${MTK_PLAT}/drivers/msdc/${PLAT} \ 19ca93b018SBo-Chen Chen -I${MTK_PLAT}/drivers/pmic_wrap/ \ 203374752fSBo-Chen Chen -I${MTK_PLAT}/drivers/timer/ \ 213374752fSBo-Chen Chen -I${MTK_PLAT}/drivers/uart/ \ 222f3f5939SLeon Chen -I${MTK_PLAT}/include/ \ 231c5fc9a2SLiju-Clr Chen -I${MTK_PLAT}/include/lpm \ 247ac6a76cSjason-ch chen -I${MTK_PLAT_SOC}/drivers/spm/ \ 2595ea87ffSEdward-JW Yang -I${MTK_PLAT_SOC}/drivers/dcm/ \ 26e46e9df0SRex-BC Chen -I${MTK_PLAT_SOC}/drivers/dfd/ \ 271b17e34cSPenny Jan -I${MTK_PLAT_SOC}/drivers/emi_mpu/ \ 28af5a0c40SGuodong Liu -I${MTK_PLAT_SOC}/drivers/gpio/ \ 2906cb65efSGarmin.Chang -I${MTK_PLAT_SOC}/drivers/mcdi/ \ 305bc88ec6SJames Lo -I${MTK_PLAT_SOC}/drivers/pmic/ \ 316e5d76baSYuchen Huang -I${MTK_PLAT_SOC}/drivers/rtc/ \ 321da57e54SGarmin.Chang -I${MTK_PLAT_SOC}/drivers/spmc/ \ 3327132f13SRex-BC Chen -I${MTK_PLAT_SOC}/include/ 3427132f13SRex-BC Chen 35206f125cSChristine ZhuGICV3_SUPPORT_GIC600 := 1 3627132f13SRex-BC Cheninclude drivers/arm/gic/v3/gicv3.mk 3727132f13SRex-BC Cheninclude lib/xlat_tables_v2/xlat_tables.mk 3827132f13SRex-BC Chen 3927132f13SRex-BC ChenPLAT_BL_COMMON_SOURCES := ${GICV3_SOURCES} \ 4027132f13SRex-BC Chen ${XLAT_TABLES_LIB_SRCS} \ 4127132f13SRex-BC Chen plat/common/aarch64/crash_console_helpers.S \ 4227132f13SRex-BC Chen plat/common/plat_psci_common.c 4327132f13SRex-BC Chen 4427132f13SRex-BC Chen 4527132f13SRex-BC ChenBL31_SOURCES += common/desc_image_load.c \ 46d73e15e6SRex-BC Chen drivers/delay_timer/delay_timer.c \ 47af5a0c40SGuodong Liu drivers/gpio/gpio.c \ 48d73e15e6SRex-BC Chen drivers/delay_timer/generic_delay_timer.c \ 4927132f13SRex-BC Chen drivers/ti/uart/aarch64/16550_console.S \ 5027132f13SRex-BC Chen lib/bl_aux_params/bl_aux_params.c \ 5127132f13SRex-BC Chen lib/cpus/aarch64/cortex_a55.S \ 5227132f13SRex-BC Chen lib/cpus/aarch64/cortex_a76.S \ 5327132f13SRex-BC Chen plat/common/plat_gicv3.c \ 5427132f13SRex-BC Chen ${MTK_PLAT}/common/mtk_plat_common.c \ 555aab27dcSRex-BC Chen ${MTK_PLAT}/common/mtk_sip_svc.c \ 5627132f13SRex-BC Chen ${MTK_PLAT}/common/params_setup.c \ 57cd7890d7SBo-Chen Chen ${MTK_PLAT}/common/lpm/mt_lp_rm.c \ 58cc76896dSRex-BC Chen ${MTK_PLAT}/drivers/cirq/mt_cirq.c \ 593374752fSBo-Chen Chen ${MTK_PLAT}/drivers/gic600/mt_gic_v3.c \ 603374752fSBo-Chen Chen ${MTK_PLAT}/drivers/gpio/mtgpio_common.c \ 614dbe24cfSBo-Chen Chen ${MTK_PLAT}/drivers/msdc/mt_msdc.c \ 623374752fSBo-Chen Chen ${MTK_PLAT}/drivers/pmic_wrap/pmic_wrap_init.c \ 633374752fSBo-Chen Chen ${MTK_PLAT}/drivers/rtc/rtc_common.c \ 643374752fSBo-Chen Chen ${MTK_PLAT}/drivers/timer/mt_timer.c \ 653374752fSBo-Chen Chen ${MTK_PLAT}/drivers/uart/uart.c \ 6627132f13SRex-BC Chen ${MTK_PLAT_SOC}/aarch64/platform_common.c \ 6727132f13SRex-BC Chen ${MTK_PLAT_SOC}/aarch64/plat_helpers.S \ 6827132f13SRex-BC Chen ${MTK_PLAT_SOC}/bl31_plat_setup.c \ 6995ea87ffSEdward-JW Yang ${MTK_PLAT_SOC}/drivers/dcm/mtk_dcm.c \ 7095ea87ffSEdward-JW Yang ${MTK_PLAT_SOC}/drivers/dcm/mtk_dcm_utils.c \ 71e46e9df0SRex-BC Chen ${MTK_PLAT_SOC}/drivers/dfd/plat_dfd.c \ 721b17e34cSPenny Jan ${MTK_PLAT_SOC}/drivers/emi_mpu/emi_mpu.c \ 73af5a0c40SGuodong Liu ${MTK_PLAT_SOC}/drivers/gpio/mtgpio.c \ 7406cb65efSGarmin.Chang ${MTK_PLAT_SOC}/drivers/mcdi/mt_cpu_pm.c \ 7506cb65efSGarmin.Chang ${MTK_PLAT_SOC}/drivers/mcdi/mt_cpu_pm_cpc.c \ 7606cb65efSGarmin.Chang ${MTK_PLAT_SOC}/drivers/mcdi/mt_mcdi.c \ 777ac6a76cSjason-ch chen ${MTK_PLAT_SOC}/drivers/mcdi/mt_lp_irqremain.c \ 785bc88ec6SJames Lo ${MTK_PLAT_SOC}/drivers/pmic/pmic.c \ 796e5d76baSYuchen Huang ${MTK_PLAT_SOC}/drivers/rtc/rtc.c \ 801da57e54SGarmin.Chang ${MTK_PLAT_SOC}/drivers/spmc/mtspmc.c \ 8127132f13SRex-BC Chen ${MTK_PLAT_SOC}/plat_pm.c \ 825aab27dcSRex-BC Chen ${MTK_PLAT_SOC}/plat_sip_calls.c \ 8327132f13SRex-BC Chen ${MTK_PLAT_SOC}/plat_topology.c 8427132f13SRex-BC Chen 85*8c1740e2SSuyuan Suifeq (${TRNG_SUPPORT},1) 86*8c1740e2SSuyuan SuBL31_SOURCES += ${MTK_PLAT}/drivers/rng/rng.c \ 87*8c1740e2SSuyuan Su ${MTK_PLAT}/drivers/rng/${PLAT}/rng_plat.c 88*8c1740e2SSuyuan Suendif 89*8c1740e2SSuyuan Su 907ac6a76cSjason-ch chen# Build SPM drivers 917ac6a76cSjason-ch cheninclude ${MTK_PLAT_SOC}/drivers/spm/build.mk 927ac6a76cSjason-ch chen 9327132f13SRex-BC Chen# Configs for A76 and A55 9427132f13SRex-BC ChenHW_ASSISTED_COHERENCY := 1 9527132f13SRex-BC ChenUSE_COHERENT_MEM := 0 9627132f13SRex-BC ChenCTX_INCLUDE_AARCH32_REGS := 0 9727132f13SRex-BC ChenERRATA_A55_1530923 := 1 9827132f13SRex-BC ChenERRATA_A55_1221012 := 1 9927132f13SRex-BC Chen 100572f8adbSRex-BC ChenERRATA_A76_1257314 := 1 101572f8adbSRex-BC ChenERRATA_A76_1262606 := 1 102572f8adbSRex-BC ChenERRATA_A76_1262888 := 1 103572f8adbSRex-BC ChenERRATA_A76_1275112 := 1 104572f8adbSRex-BC ChenERRATA_A76_1286807 := 1 105572f8adbSRex-BC ChenERRATA_A76_1791580 := 1 106572f8adbSRex-BC ChenERRATA_A76_1165522 := 1 107572f8adbSRex-BC ChenERRATA_A76_1868343 := 1 108572f8adbSRex-BC ChenERRATA_A76_1946160 := 1 109572f8adbSRex-BC Chen 11027132f13SRex-BC Chen# indicate the reset vector address can be programmed 11127132f13SRex-BC ChenPROGRAMMABLE_RESET_ADDRESS := 1 11227132f13SRex-BC Chen 11327132f13SRex-BC ChenCOLD_BOOT_SINGLE_CPU := 1 11427132f13SRex-BC Chen 11527132f13SRex-BC ChenMACH_MT8186 := 1 11627132f13SRex-BC Chen$(eval $(call add_define,MACH_MT8186)) 11727132f13SRex-BC Chen 11827132f13SRex-BC Cheninclude lib/coreboot/coreboot.mk 119