1*bfac44b5SDhruva Gole# 2*bfac44b5SDhruva Gole# Copyright (c) 2017-2022, ARM Limited and Contributors. All rights reserved. 3*bfac44b5SDhruva Gole# 4*bfac44b5SDhruva Gole# SPDX-License-Identifier: BSD-3-Clause 5*bfac44b5SDhruva Gole# 6*bfac44b5SDhruva Gole 7*bfac44b5SDhruva Gole# We don't use BL1 or BL2, so BL31 is the first image to execute 8*bfac44b5SDhruva GoleRESET_TO_BL31 := 1 9*bfac44b5SDhruva Gole# Only one core starts up at first 10*bfac44b5SDhruva GoleCOLD_BOOT_SINGLE_CPU := 1 11*bfac44b5SDhruva Gole# We can choose where a core starts executing 12*bfac44b5SDhruva GolePROGRAMMABLE_RESET_ADDRESS:= 1 13*bfac44b5SDhruva Gole 14*bfac44b5SDhruva Gole# ARM coherency is managed in hardware 15*bfac44b5SDhruva GoleWARMBOOT_ENABLE_DCACHE_EARLY := 1 16*bfac44b5SDhruva Gole 17*bfac44b5SDhruva Gole# A53 erratum for SoC. (enable them all) 18*bfac44b5SDhruva GoleERRATA_A53_826319 := 1 19*bfac44b5SDhruva GoleERRATA_A53_835769 := 1 20*bfac44b5SDhruva GoleERRATA_A53_836870 := 1 21*bfac44b5SDhruva GoleERRATA_A53_843419 := 1 22*bfac44b5SDhruva GoleERRATA_A53_855873 := 1 23*bfac44b5SDhruva GoleERRATA_A53_1530924 := 1 24*bfac44b5SDhruva Gole 25*bfac44b5SDhruva Gole# A72 Erratum for SoC 26*bfac44b5SDhruva GoleERRATA_A72_859971 := 1 27*bfac44b5SDhruva GoleERRATA_A72_1319367 := 1 28*bfac44b5SDhruva Gole 29*bfac44b5SDhruva GoleCRASH_REPORTING := 1 30*bfac44b5SDhruva Gole 31*bfac44b5SDhruva GoleNS_TIMER_SWITCH := 0 32*bfac44b5SDhruva Gole 33*bfac44b5SDhruva Gole# Split out RO data into a non-executable section 34*bfac44b5SDhruva GoleSEPARATE_CODE_AND_RODATA := 1 35*bfac44b5SDhruva Gole 36*bfac44b5SDhruva Gole# Generate a Position Independent Executable 37*bfac44b5SDhruva GoleENABLE_PIE := 1 38*bfac44b5SDhruva Gole 39*bfac44b5SDhruva GoleTI_16550_MDR_QUIRK := 1 40*bfac44b5SDhruva Gole$(eval $(call add_define,TI_16550_MDR_QUIRK)) 41*bfac44b5SDhruva Gole 42*bfac44b5SDhruva GoleK3_USART := 0 43*bfac44b5SDhruva Gole$(eval $(call add_define,K3_USART)) 44*bfac44b5SDhruva Gole 45*bfac44b5SDhruva Gole# Allow customizing the UART baud rate 46*bfac44b5SDhruva GoleK3_USART_BAUD := 115200 47*bfac44b5SDhruva Gole$(eval $(call add_define,K3_USART_BAUD)) 48*bfac44b5SDhruva Gole 49*bfac44b5SDhruva Gole# Libraries 50*bfac44b5SDhruva Goleinclude lib/xlat_tables_v2/xlat_tables.mk 51*bfac44b5SDhruva Gole 52*bfac44b5SDhruva GolePLAT_INCLUDES += \ 53*bfac44b5SDhruva Gole -I${PLAT_PATH}/include \ 54*bfac44b5SDhruva Gole -Idrivers/ti/ti_sci \ 55*bfac44b5SDhruva Gole 56*bfac44b5SDhruva GoleK3_CONSOLE_SOURCES += \ 57*bfac44b5SDhruva Gole drivers/ti/uart/aarch64/16550_console.S \ 58*bfac44b5SDhruva Gole plat/ti/common/k3_console.c \ 59*bfac44b5SDhruva Gole 60*bfac44b5SDhruva Gole# Include GICv3 driver files 61*bfac44b5SDhruva Goleinclude drivers/arm/gic/v3/gicv3.mk 62*bfac44b5SDhruva Gole 63*bfac44b5SDhruva GoleK3_GIC_SOURCES += \ 64*bfac44b5SDhruva Gole ${GICV3_SOURCES} \ 65*bfac44b5SDhruva Gole plat/common/plat_gicv3.c \ 66*bfac44b5SDhruva Gole plat/ti/common/k3_gicv3.c \ 67*bfac44b5SDhruva Gole 68*bfac44b5SDhruva GoleK3_PSCI_SOURCES += \ 69*bfac44b5SDhruva Gole plat/common/plat_psci_common.c \ 70*bfac44b5SDhruva Gole 71*bfac44b5SDhruva Gole 72*bfac44b5SDhruva GoleK3_TI_SCI_SOURCES += \ 73*bfac44b5SDhruva Gole drivers/ti/ti_sci/ti_sci.c \ 74*bfac44b5SDhruva Gole 75*bfac44b5SDhruva GolePLAT_BL_COMMON_SOURCES += \ 76*bfac44b5SDhruva Gole lib/cpus/aarch64/cortex_a53.S \ 77*bfac44b5SDhruva Gole lib/cpus/aarch64/cortex_a72.S \ 78*bfac44b5SDhruva Gole ${XLAT_TABLES_LIB_SRCS} \ 79*bfac44b5SDhruva Gole ${K3_CONSOLE_SOURCES} \ 80*bfac44b5SDhruva Gole 81*bfac44b5SDhruva GoleBL31_SOURCES += \ 82*bfac44b5SDhruva Gole plat/ti/common/ti_bl31_setup.c \ 83*bfac44b5SDhruva Gole plat/ti/common/k3_helpers.S \ 84*bfac44b5SDhruva Gole ${K3_GIC_SOURCES} \ 85*bfac44b5SDhruva Gole ${K3_TI_SCI_SOURCES} \ 86