xref: /rk3399_ARM-atf/plat/hisilicon/poplar/platform.mk (revision 8ad132b3f176d0552b28f1fe77f8d1321449b4ef)
1#
2# Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7# On Poplar, the TSP can execute from TZC secure area in DRAM.
8POPLAR_TSP_RAM_LOCATION	:=	dram
9ifeq (${POPLAR_TSP_RAM_LOCATION}, dram)
10  POPLAR_TSP_RAM_LOCATION_ID = POPLAR_DRAM_ID
11else ifeq (${POPLAR_TSP_RAM_LOCATION}, sram)
12  POPLAR_TSP_RAM_LOCATION_ID := POPLAR_SRAM_ID
13else
14  $(error "Currently unsupported POPLAR_TSP_RAM_LOCATION value")
15endif
16$(eval $(call add_define,POPLAR_TSP_RAM_LOCATION_ID))
17
18POPLAR_DRAM_SIZE ?= two_gig
19ifeq (${POPLAR_DRAM_SIZE}, two_gig)
20  POPLAR_DRAM_SIZE_ID = POPLAR_DRAM_SIZE_2G
21else ifeq (${POPLAR_DRAM_SIZE}, one_gig)
22  POPLAR_DRAM_SIZE_ID = POPLAR_DRAM_SIZE_1G
23else
24  $(error "Currently unsupported POPLAR_DRAM_SIZE value")
25endif
26$(eval $(call add_define,POPLAR_DRAM_SIZE_ID))
27
28POPLAR_RECOVERY		:= 0
29$(eval $(call add_define,POPLAR_RECOVERY))
30
31NEED_BL33			:= yes
32
33COLD_BOOT_SINGLE_CPU		:= 1
34PROGRAMMABLE_RESET_ADDRESS	:= 1
35CTX_INCLUDE_FPREGS		:= 1
36ENABLE_PLAT_COMPAT		:= 0
37ERRATA_A53_855873		:= 1
38ERRATA_A53_835769		:= 1
39ERRATA_A53_843419		:= 1
40ENABLE_SVE_FOR_NS		:= 0
41
42WORKAROUND_CVE_2017_5715	:= 0
43
44ARM_GIC_ARCH			:= 2
45$(eval $(call add_define,ARM_GIC_ARCH))
46
47PLAT_PL061_MAX_GPIOS 		:= 104
48$(eval $(call add_define,PLAT_PL061_MAX_GPIOS))
49
50PLAT_INCLUDES	:=	-Iplat/hisilicon/poplar/include		\
51			-Iinclude/plat/arm/common/		\
52			-Iplat/hisilicon/poplar			\
53			-Iinclude/common/tbbr			\
54			-Iinclude/drivers/synopsys		\
55			-Iinclude/drivers/io
56
57PLAT_BL_COMMON_SOURCES	:=						\
58		lib/aarch64/xlat_tables.c				\
59		drivers/delay_timer/generic_delay_timer.c		\
60		drivers/arm/gic/common/gic_common.c			\
61		drivers/arm/gic/v2/gicv2_helpers.c			\
62		drivers/delay_timer/delay_timer.c			\
63		drivers/arm/pl011/pl011_console.S			\
64		drivers/arm/gic/v2/gicv2_main.c				\
65		plat/arm/common/aarch64/arm_helpers.S			\
66		plat/arm/common/arm_gicv2.c				\
67		plat/common/plat_gicv2.c				\
68		plat/hisilicon/poplar/aarch64/platform_common.c
69
70BL1_SOURCES	+=							\
71		lib/cpus/aarch64/cortex_a53.S				\
72		drivers/arm/pl061/pl061_gpio.c				\
73		drivers/emmc/emmc.c					\
74		drivers/synopsys/emmc/dw_mmc.c				\
75		drivers/io/io_storage.c					\
76		drivers/io/io_block.c					\
77		drivers/gpio/gpio.c					\
78		drivers/io/io_fip.c					\
79		drivers/io/io_memmap.c					\
80		plat/hisilicon/poplar/bl1_plat_setup.c			\
81		plat/hisilicon/poplar/plat_storage.c
82
83
84BL2_SOURCES	+=      						\
85		drivers/arm/pl061/pl061_gpio.c				\
86		drivers/emmc/emmc.c					\
87		drivers/synopsys/emmc/dw_mmc.c				\
88		drivers/io/io_storage.c					\
89		drivers/io/io_block.c					\
90		drivers/io/io_fip.c					\
91		drivers/gpio/gpio.c					\
92		drivers/io/io_memmap.c					\
93		plat/hisilicon/poplar/bl2_plat_setup.c			\
94		plat/hisilicon/poplar/plat_storage.c
95
96
97BL31_SOURCES	+=							\
98		lib/cpus/aarch64/aem_generic.S				\
99		lib/cpus/aarch64/cortex_a53.S				\
100		plat/common/aarch64/plat_psci_common.c			\
101		plat/hisilicon/poplar/bl31_plat_setup.c			\
102		plat/hisilicon/poplar/plat_topology.c			\
103		plat/hisilicon/poplar/plat_pm.c
104