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