1#
2# Copyright (c) 2018-2022, Renesas Electronics Corporation. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7PROGRAMMABLE_RESET_ADDRESS	:= 0
8COLD_BOOT_SINGLE_CPU		:= 1
9ARM_CCI_PRODUCT_ID		:= 500
10TRUSTED_BOARD_BOOT		:= 1
11RESET_TO_BL31			:= 1
12GENERATE_COT			:= 1
13BL2_AT_EL3			:= 1
14ENABLE_SVE_FOR_NS		:= 0
15MULTI_CONSOLE_API		:= 1
16
17CRASH_REPORTING			:= 1
18HANDLE_EA_EL3_FIRST_NS		:= 1
19
20# This option gets enabled automatically if the TRUSTED_BOARD_BOOT
21# is set via root Makefile, but Renesas support Trusted-Boot without
22# Crypto module.
23override CRYPTO_SUPPORT		:= 0
24
25$(eval $(call add_define,PLAT_EXTRA_LD_SCRIPT))
26
27ifeq (${SPD},none)
28  SPD_NONE:=1
29  $(eval $(call add_define,SPD_NONE))
30endif
31
32# LSI setting common define
33RCAR_H3:=0
34RCAR_M3:=1
35RCAR_M3N:=2
36RCAR_E3:=3
37RCAR_H3N:=4
38RCAR_D3:=5
39RCAR_V3M:=6
40RCAR_AUTO:=99
41RZ_G2M:=100
42RZ_G2H:=101
43RZ_G2N:=102
44RZ_G2E:=103
45$(eval $(call add_define,RCAR_H3))
46$(eval $(call add_define,RCAR_M3))
47$(eval $(call add_define,RCAR_M3N))
48$(eval $(call add_define,RCAR_E3))
49$(eval $(call add_define,RCAR_H3N))
50$(eval $(call add_define,RCAR_D3))
51$(eval $(call add_define,RCAR_V3M))
52$(eval $(call add_define,RCAR_AUTO))
53$(eval $(call add_define,RZ_G2M))
54$(eval $(call add_define,RZ_G2H))
55$(eval $(call add_define,RZ_G2N))
56$(eval $(call add_define,RZ_G2E))
57
58RCAR_CUT_10:=0
59RCAR_CUT_11:=1
60RCAR_CUT_13:=3
61RCAR_CUT_20:=10
62RCAR_CUT_30:=20
63$(eval $(call add_define,RCAR_CUT_10))
64$(eval $(call add_define,RCAR_CUT_11))
65$(eval $(call add_define,RCAR_CUT_13))
66$(eval $(call add_define,RCAR_CUT_20))
67$(eval $(call add_define,RCAR_CUT_30))
68
69# Enable workarounds for selected Cortex-A53 erratas.
70ERRATA_A53_835769  := 1
71ERRATA_A53_843419  := 1
72ERRATA_A53_855873  := 1
73ERRATA_A53_1530924 := 1
74
75# Enable workarounds for selected Cortex-A57 erratas.
76ERRATA_A57_859972  := 1
77ERRATA_A57_813419  := 1
78ERRATA_A57_1319537 := 1
79
80PLAT_INCLUDES	:=	-Iplat/renesas/common/include/registers	\
81			-Iplat/renesas/common/include		\
82			-Iplat/renesas/common
83
84PLAT_BL_COMMON_SOURCES	:=	drivers/renesas/common/iic_dvfs/iic_dvfs.c \
85				plat/renesas/common/rcar_common.c
86
87include drivers/arm/gic/v2/gicv2.mk
88RCAR_GIC_SOURCES	:=	${GICV2_SOURCES} \
89				plat/common/plat_gicv2.c
90
91BL2_SOURCES	+=	${RCAR_GIC_SOURCES}				\
92			lib/cpus/aarch64/cortex_a53.S			\
93			lib/cpus/aarch64/cortex_a57.S			\
94			${LIBFDT_SRCS}					\
95			common/desc_image_load.c			\
96			plat/renesas/common/aarch64/platform_common.c	\
97			plat/renesas/common/aarch64/plat_helpers.S	\
98			plat/renesas/common/bl2_interrupt_error.c	\
99			plat/renesas/common/bl2_secure_setting.c	\
100			plat/renesas/common/plat_storage.c		\
101			plat/renesas/common/bl2_plat_mem_params_desc.c	\
102			plat/renesas/common/plat_image_load.c		\
103			plat/renesas/common/bl2_cpg_init.c		\
104			drivers/renesas/common/console/rcar_printf.c	\
105			drivers/renesas/common/scif/scif.S		\
106			drivers/renesas/common/common.c			\
107			drivers/renesas/common/io/io_emmcdrv.c		\
108			drivers/renesas/common/io/io_memdrv.c		\
109			drivers/renesas/common/io/io_rcar.c		\
110			drivers/renesas/common/auth/auth_mod.c		\
111			drivers/renesas/common/rpc/rpc_driver.c		\
112			drivers/renesas/common/dma/dma_driver.c		\
113			drivers/renesas/common/avs/avs_driver.c		\
114			drivers/renesas/common/delay/micro_delay.c	\
115			drivers/renesas/common/emmc/emmc_interrupt.c	\
116			drivers/renesas/common/emmc/emmc_utility.c	\
117			drivers/renesas/common/emmc/emmc_mount.c	\
118			drivers/renesas/common/emmc/emmc_init.c		\
119			drivers/renesas/common/emmc/emmc_read.c		\
120			drivers/renesas/common/emmc/emmc_cmd.c		\
121			drivers/renesas/common/watchdog/swdt.c		\
122			drivers/renesas/common/rom/rom_api.c		\
123			drivers/io/io_storage.c
124
125BL31_SOURCES	+=	${RCAR_GIC_SOURCES}				\
126			lib/cpus/aarch64/cortex_a53.S			\
127			lib/cpus/aarch64/cortex_a57.S			\
128			plat/common/plat_psci_common.c			\
129			plat/renesas/common/plat_topology.c		\
130			plat/renesas/common/aarch64/plat_helpers.S	\
131			plat/renesas/common/aarch64/platform_common.c	\
132			plat/renesas/common/bl31_plat_setup.c		\
133			plat/renesas/common/plat_pm.c			\
134			drivers/renesas/common/console/rcar_console.S	\
135			drivers/renesas/common/console/rcar_printf.c	\
136			drivers/renesas/common/delay/micro_delay.c	\
137			drivers/renesas/common/pwrc/call_sram.S		\
138			drivers/renesas/common/pwrc/pwrc.c		\
139			drivers/renesas/common/common.c			\
140			drivers/arm/cci/cci.c
141
142include lib/xlat_tables_v2/xlat_tables.mk
143PLAT_BL_COMMON_SOURCES	+=	${XLAT_TABLES_LIB_SRCS}
144