blob: 3ac4b29dc11b7362ce70a436ced1d256cac5c876 [file] [log] [blame]
Rex-BC Chen27132f12021-09-28 11:24:09 +08001#
Gavin Liu22090022025-03-27 16:42:33 +08002# Copyright (c) 2021-2025, MediaTek Inc. All rights reserved.
Rex-BC Chen27132f12021-09-28 11:24:09 +08003#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7MTK_PLAT := plat/mediatek
8MTK_PLAT_SOC := ${MTK_PLAT}/${PLAT}
9
Suyuan Su8c1740e2024-09-19 18:52:33 +080010# True Random Number Generator firmware Interface
11TRNG_SUPPORT := 1
12
Rex-BC Chen27132f12021-09-28 11:24:09 +080013PLAT_INCLUDES := -I${MTK_PLAT}/common/ \
Gavin Liu22090022025-03-27 16:42:33 +080014 -I${MTK_PLAT}/common/include \
Rex-BC Chencc768962022-07-08 14:48:56 +080015 -I${MTK_PLAT}/drivers/cirq/ \
Bo-Chen Chen33747522022-09-05 11:18:04 +080016 -I${MTK_PLAT}/drivers/gic600/ \
17 -I${MTK_PLAT}/drivers/gpio/ \
Bo-Chen Chen4dbe24c2022-06-22 19:51:41 +080018 -I${MTK_PLAT}/drivers/msdc/ \
19 -I${MTK_PLAT}/drivers/msdc/${PLAT} \
Bo-Chen Chenca93b012022-09-01 15:16:23 +080020 -I${MTK_PLAT}/drivers/pmic_wrap/ \
Bo-Chen Chen33747522022-09-05 11:18:04 +080021 -I${MTK_PLAT}/drivers/timer/ \
22 -I${MTK_PLAT}/drivers/uart/ \
Leon Chen2f3f5932022-05-29 22:25:44 +080023 -I${MTK_PLAT}/include/ \
Liju-Clr Chen1c5fc9a2023-01-06 14:53:37 +080024 -I${MTK_PLAT}/include/lpm \
jason-ch chen7ac6a762021-11-16 09:48:20 +080025 -I${MTK_PLAT_SOC}/drivers/spm/ \
Edward-JW Yang95ea87f2021-11-01 20:20:18 +080026 -I${MTK_PLAT_SOC}/drivers/dcm/ \
Bo-Chen Chen33747522022-09-05 11:18:04 +080027 -I${MTK_PLAT_SOC}/drivers/dfd/ \
Penny Jan1b17e342021-10-03 10:11:04 +080028 -I${MTK_PLAT_SOC}/drivers/emi_mpu/ \
Bo-Chen Chen33747522022-09-05 11:18:04 +080029 -I${MTK_PLAT_SOC}/drivers/gpio/ \
Garmin.Chang06cb65e2021-11-14 10:14:45 +080030 -I${MTK_PLAT_SOC}/drivers/mcdi/ \
James Lo5bc88ec2021-10-06 18:12:30 +080031 -I${MTK_PLAT_SOC}/drivers/pmic/ \
Yuchen Huang6e5d76b2021-11-12 16:56:33 +080032 -I${MTK_PLAT_SOC}/drivers/rtc/ \
Garmin.Chang1da57e52021-11-08 11:30:40 +080033 -I${MTK_PLAT_SOC}/drivers/spmc/ \
Rex-BC Chen27132f12021-09-28 11:24:09 +080034 -I${MTK_PLAT_SOC}/include/
35
Christine Zhu206f1252021-10-11 21:29:58 +080036GICV3_SUPPORT_GIC600 := 1
Rex-BC Chen27132f12021-09-28 11:24:09 +080037include 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 \
Rex-BC Chend73e15e2021-10-06 19:00:13 +080047 drivers/delay_timer/delay_timer.c \
Guodong Liuaf5a0c42021-10-15 16:52:18 +080048 drivers/gpio/gpio.c \
Rex-BC Chend73e15e2021-10-06 19:00:13 +080049 drivers/delay_timer/generic_delay_timer.c \
Rex-BC Chen27132f12021-09-28 11:24:09 +080050 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_a76.S \
54 plat/common/plat_gicv3.c \
55 ${MTK_PLAT}/common/mtk_plat_common.c \
Rex-BC Chen5aab27d2021-10-06 19:25:50 +080056 ${MTK_PLAT}/common/mtk_sip_svc.c \
Rex-BC Chen27132f12021-09-28 11:24:09 +080057 ${MTK_PLAT}/common/params_setup.c \
Bo-Chen Chencd7890d2022-09-29 10:41:26 +080058 ${MTK_PLAT}/common/lpm/mt_lp_rm.c \
Rex-BC Chencc768962022-07-08 14:48:56 +080059 ${MTK_PLAT}/drivers/cirq/mt_cirq.c \
Bo-Chen Chen33747522022-09-05 11:18:04 +080060 ${MTK_PLAT}/drivers/gic600/mt_gic_v3.c \
61 ${MTK_PLAT}/drivers/gpio/mtgpio_common.c \
Bo-Chen Chen4dbe24c2022-06-22 19:51:41 +080062 ${MTK_PLAT}/drivers/msdc/mt_msdc.c \
Bo-Chen Chen33747522022-09-05 11:18:04 +080063 ${MTK_PLAT}/drivers/pmic_wrap/pmic_wrap_init.c \
64 ${MTK_PLAT}/drivers/rtc/rtc_common.c \
65 ${MTK_PLAT}/drivers/timer/mt_timer.c \
66 ${MTK_PLAT}/drivers/uart/uart.c \
Rex-BC Chen27132f12021-09-28 11:24:09 +080067 ${MTK_PLAT_SOC}/aarch64/platform_common.c \
68 ${MTK_PLAT_SOC}/aarch64/plat_helpers.S \
69 ${MTK_PLAT_SOC}/bl31_plat_setup.c \
Edward-JW Yang95ea87f2021-11-01 20:20:18 +080070 ${MTK_PLAT_SOC}/drivers/dcm/mtk_dcm.c \
71 ${MTK_PLAT_SOC}/drivers/dcm/mtk_dcm_utils.c \
Rex-BC Chene46e9df2021-12-02 14:03:44 +080072 ${MTK_PLAT_SOC}/drivers/dfd/plat_dfd.c \
Penny Jan1b17e342021-10-03 10:11:04 +080073 ${MTK_PLAT_SOC}/drivers/emi_mpu/emi_mpu.c \
Guodong Liuaf5a0c42021-10-15 16:52:18 +080074 ${MTK_PLAT_SOC}/drivers/gpio/mtgpio.c \
Garmin.Chang06cb65e2021-11-14 10:14:45 +080075 ${MTK_PLAT_SOC}/drivers/mcdi/mt_cpu_pm.c \
76 ${MTK_PLAT_SOC}/drivers/mcdi/mt_cpu_pm_cpc.c \
77 ${MTK_PLAT_SOC}/drivers/mcdi/mt_mcdi.c \
jason-ch chen7ac6a762021-11-16 09:48:20 +080078 ${MTK_PLAT_SOC}/drivers/mcdi/mt_lp_irqremain.c \
James Lo5bc88ec2021-10-06 18:12:30 +080079 ${MTK_PLAT_SOC}/drivers/pmic/pmic.c \
Yuchen Huang6e5d76b2021-11-12 16:56:33 +080080 ${MTK_PLAT_SOC}/drivers/rtc/rtc.c \
Garmin.Chang1da57e52021-11-08 11:30:40 +080081 ${MTK_PLAT_SOC}/drivers/spmc/mtspmc.c \
Rex-BC Chen27132f12021-09-28 11:24:09 +080082 ${MTK_PLAT_SOC}/plat_pm.c \
Rex-BC Chen5aab27d2021-10-06 19:25:50 +080083 ${MTK_PLAT_SOC}/plat_sip_calls.c \
Rex-BC Chen27132f12021-09-28 11:24:09 +080084 ${MTK_PLAT_SOC}/plat_topology.c
85
Suyuan Su8c1740e2024-09-19 18:52:33 +080086ifeq (${TRNG_SUPPORT},1)
87BL31_SOURCES += ${MTK_PLAT}/drivers/rng/rng.c \
88 ${MTK_PLAT}/drivers/rng/${PLAT}/rng_plat.c
89endif
90
jason-ch chen7ac6a762021-11-16 09:48:20 +080091# Build SPM drivers
92include ${MTK_PLAT_SOC}/drivers/spm/build.mk
93
Rex-BC Chen27132f12021-09-28 11:24:09 +080094# Configs for A76 and A55
95HW_ASSISTED_COHERENCY := 1
96USE_COHERENT_MEM := 0
97CTX_INCLUDE_AARCH32_REGS := 0
98ERRATA_A55_1530923 := 1
99ERRATA_A55_1221012 := 1
100
Rex-BC Chen572f8ad2021-11-25 18:55:04 +0800101ERRATA_A76_1257314 := 1
102ERRATA_A76_1262606 := 1
103ERRATA_A76_1262888 := 1
104ERRATA_A76_1275112 := 1
105ERRATA_A76_1286807 := 1
106ERRATA_A76_1791580 := 1
107ERRATA_A76_1165522 := 1
108ERRATA_A76_1868343 := 1
109ERRATA_A76_1946160 := 1
110
Rex-BC Chen27132f12021-09-28 11:24:09 +0800111# indicate the reset vector address can be programmed
112PROGRAMMABLE_RESET_ADDRESS := 1
113
114COLD_BOOT_SINGLE_CPU := 1
115
116MACH_MT8186 := 1
117$(eval $(call add_define,MACH_MT8186))
118
119include lib/coreboot/coreboot.mk