xref: /arm-trusted-firmware/plat/ti/k3/common/plat_common.mk (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu#
2*91f16700Schasinglulu# Copyright (c) 2017-2022, ARM Limited and Contributors. All rights reserved.
3*91f16700Schasinglulu#
4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu#
6*91f16700Schasinglulu
7*91f16700Schasinglulu# We don't use BL1 or BL2, so BL31 is the first image to execute
8*91f16700SchasingluluRESET_TO_BL31		:=	1
9*91f16700Schasinglulu# Only one core starts up at first
10*91f16700SchasingluluCOLD_BOOT_SINGLE_CPU	:=	1
11*91f16700Schasinglulu# We can choose where a core starts executing
12*91f16700SchasingluluPROGRAMMABLE_RESET_ADDRESS:=	1
13*91f16700Schasinglulu
14*91f16700Schasinglulu# ARM coherency is managed in hardware
15*91f16700SchasingluluWARMBOOT_ENABLE_DCACHE_EARLY :=	1
16*91f16700Schasinglulu
17*91f16700Schasinglulu# A53 erratum for SoC. (enable them all)
18*91f16700SchasingluluERRATA_A53_826319	:=	1
19*91f16700SchasingluluERRATA_A53_835769	:=	1
20*91f16700SchasingluluERRATA_A53_836870	:=	1
21*91f16700SchasingluluERRATA_A53_843419	:=	1
22*91f16700SchasingluluERRATA_A53_855873	:=	1
23*91f16700SchasingluluERRATA_A53_1530924	:=	1
24*91f16700Schasinglulu
25*91f16700Schasinglulu# A72 Erratum for SoC
26*91f16700SchasingluluERRATA_A72_859971	:=	1
27*91f16700SchasingluluERRATA_A72_1319367	:=	1
28*91f16700Schasinglulu
29*91f16700SchasingluluCRASH_REPORTING		:= 1
30*91f16700Schasinglulu
31*91f16700Schasinglulu# Split out RO data into a non-executable section
32*91f16700SchasingluluSEPARATE_CODE_AND_RODATA :=    1
33*91f16700Schasinglulu
34*91f16700Schasinglulu# Generate a Position Independent Executable
35*91f16700SchasingluluENABLE_PIE		:=	1
36*91f16700Schasinglulu
37*91f16700SchasingluluTI_16550_MDR_QUIRK	:=	1
38*91f16700Schasinglulu$(eval $(call add_define,TI_16550_MDR_QUIRK))
39*91f16700Schasinglulu
40*91f16700SchasingluluK3_USART		:=	0
41*91f16700Schasinglulu$(eval $(call add_define,K3_USART))
42*91f16700Schasinglulu
43*91f16700Schasinglulu# Allow customizing the UART baud rate
44*91f16700SchasingluluK3_USART_BAUD		:=	115200
45*91f16700Schasinglulu$(eval $(call add_define,K3_USART_BAUD))
46*91f16700Schasinglulu
47*91f16700Schasinglulu# Libraries
48*91f16700Schasingluluinclude lib/xlat_tables_v2/xlat_tables.mk
49*91f16700Schasinglulu
50*91f16700SchasingluluPLAT_INCLUDES		+=	\
51*91f16700Schasinglulu				-I${PLAT_PATH}/include			\
52*91f16700Schasinglulu				-I${PLAT_PATH}/common/drivers/sec_proxy	\
53*91f16700Schasinglulu				-I${PLAT_PATH}/common/drivers/ti_sci	\
54*91f16700Schasinglulu
55*91f16700SchasingluluK3_CONSOLE_SOURCES	+=	\
56*91f16700Schasinglulu				drivers/ti/uart/aarch64/16550_console.S	\
57*91f16700Schasinglulu				${PLAT_PATH}/common/k3_console.c	\
58*91f16700Schasinglulu
59*91f16700Schasinglulu# Include GICv3 driver files
60*91f16700Schasingluluinclude drivers/arm/gic/v3/gicv3.mk
61*91f16700Schasinglulu
62*91f16700SchasingluluK3_GIC_SOURCES		+=	\
63*91f16700Schasinglulu				${GICV3_SOURCES}			\
64*91f16700Schasinglulu				plat/common/plat_gicv3.c		\
65*91f16700Schasinglulu				${PLAT_PATH}/common/k3_gicv3.c		\
66*91f16700Schasinglulu
67*91f16700SchasingluluK3_PSCI_SOURCES		+=	\
68*91f16700Schasinglulu				plat/common/plat_psci_common.c		\
69*91f16700Schasinglulu				${PLAT_PATH}/common/k3_psci.c		\
70*91f16700Schasinglulu
71*91f16700SchasingluluK3_SEC_PROXY_SOURCES	+=	\
72*91f16700Schasinglulu				${PLAT_PATH}/common/drivers/sec_proxy/sec_proxy.c \
73*91f16700Schasinglulu
74*91f16700SchasingluluK3_TI_SCI_SOURCES	+=	\
75*91f16700Schasinglulu				${PLAT_PATH}/common/drivers/ti_sci/ti_sci.c \
76*91f16700Schasinglulu
77*91f16700SchasingluluPLAT_BL_COMMON_SOURCES	+=	\
78*91f16700Schasinglulu				lib/cpus/aarch64/cortex_a53.S		\
79*91f16700Schasinglulu				lib/cpus/aarch64/cortex_a72.S		\
80*91f16700Schasinglulu				${XLAT_TABLES_LIB_SRCS}			\
81*91f16700Schasinglulu				${K3_CONSOLE_SOURCES}			\
82*91f16700Schasinglulu
83*91f16700SchasingluluBL31_SOURCES		+=	\
84*91f16700Schasinglulu				${PLAT_PATH}/common/k3_bl31_setup.c	\
85*91f16700Schasinglulu				${PLAT_PATH}/common/k3_helpers.S	\
86*91f16700Schasinglulu				${PLAT_PATH}/common/k3_topology.c	\
87*91f16700Schasinglulu				${K3_GIC_SOURCES}			\
88*91f16700Schasinglulu				${K3_PSCI_SOURCES}			\
89*91f16700Schasinglulu				${K3_SEC_PROXY_SOURCES}			\
90*91f16700Schasinglulu				${K3_TI_SCI_SOURCES}			\
91