xref: /rk3399_ARM-atf/plat/arm/board/juno/platform.mk (revision 07570d592ea5b8a0ea22f23d2d502782b9d6c1c5)
185135283SDan Handley#
2df9a39eaSdp-arm# Copyright (c) 2013-2017, ARM Limited and Contributors. All rights reserved.
385135283SDan Handley#
485135283SDan Handley# Redistribution and use in source and binary forms, with or without
585135283SDan Handley# modification, are permitted provided that the following conditions are met:
685135283SDan Handley#
785135283SDan Handley# Redistributions of source code must retain the above copyright notice, this
885135283SDan Handley# list of conditions and the following disclaimer.
985135283SDan Handley#
1085135283SDan Handley# Redistributions in binary form must reproduce the above copyright notice,
1185135283SDan Handley# this list of conditions and the following disclaimer in the documentation
1285135283SDan Handley# and/or other materials provided with the distribution.
1385135283SDan Handley#
1485135283SDan Handley# Neither the name of ARM nor the names of its contributors may be used
1585135283SDan Handley# to endorse or promote products derived from this software without specific
1685135283SDan Handley# prior written permission.
1785135283SDan Handley#
1885135283SDan Handley# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1985135283SDan Handley# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2085135283SDan Handley# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2185135283SDan Handley# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
2285135283SDan Handley# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2385135283SDan Handley# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2485135283SDan Handley# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2585135283SDan Handley# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2685135283SDan Handley# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2785135283SDan Handley# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2885135283SDan Handley# POSSIBILITY OF SUCH DAMAGE.
2985135283SDan Handley#
3085135283SDan Handley
3127573c59SAchin GuptaJUNO_GIC_SOURCES	:=	drivers/arm/gic/common/gic_common.c	\
3227573c59SAchin Gupta				drivers/arm/gic/v2/gicv2_main.c		\
3327573c59SAchin Gupta				drivers/arm/gic/v2/gicv2_helpers.c	\
3427573c59SAchin Gupta				plat/common/plat_gicv2.c		\
3527573c59SAchin Gupta				plat/arm/common/arm_gicv2.c
3627573c59SAchin Gupta
376355f234SVikram KanigiriJUNO_INTERCONNECT_SOURCES	:=	drivers/arm/cci/cci.c		\
386355f234SVikram Kanigiri					plat/arm/common/arm_cci.c
396355f234SVikram Kanigiri
4057f78201SSoby MathewJUNO_SECURITY_SOURCES	:=	drivers/arm/tzc/tzc400.c		\
41a9cc84d7SVikram Kanigiri				plat/arm/board/juno/juno_security.c	\
42df9a39eaSdp-arm				plat/arm/board/juno/juno_trng.c		\
43a9cc84d7SVikram Kanigiri				plat/arm/common/arm_tzc400.c
44a9cc84d7SVikram Kanigiri
45e6d2aea1Sdp-armifneq (${ENABLE_STACK_PROTECTOR}, 0)
46e6d2aea1Sdp-armJUNO_SECURITY_SOURCES	+=	plat/arm/board/juno/juno_stack_protector.c
47e6d2aea1Sdp-armendif
486355f234SVikram Kanigiri
4985135283SDan HandleyPLAT_INCLUDES		:=	-Iplat/arm/board/juno/include
5085135283SDan Handley
51*07570d59SYatharth KocharPLAT_BL_COMMON_SOURCES	:=	plat/arm/board/juno/${ARCH}/juno_helpers.S
5285135283SDan Handley
53*07570d59SYatharth Kochar# Flag to enable support for AArch32 state on JUNO
54*07570d59SYatharth KocharJUNO_AARCH32_EL3_RUNTIME	:=	0
55*07570d59SYatharth Kochar$(eval $(call assert_boolean,JUNO_AARCH32_EL3_RUNTIME))
56*07570d59SYatharth Kochar$(eval $(call add_define,JUNO_AARCH32_EL3_RUNTIME))
57*07570d59SYatharth Kochar
58*07570d59SYatharth Kocharifeq (${ARCH},aarch64)
5985135283SDan HandleyBL1_SOURCES		+=	lib/cpus/aarch64/cortex_a53.S		\
600f829ea9SBrendan Jackman				lib/cpus/aarch64/cortex_a57.S		\
617b4c1405SJuan Castillo				lib/cpus/aarch64/cortex_a72.S		\
62436223deSYatharth Kochar				plat/arm/board/juno/juno_bl1_setup.c	\
636355f234SVikram Kanigiri				plat/arm/board/juno/juno_err.c		\
64e6d2aea1Sdp-arm				${JUNO_INTERCONNECT_SOURCES}		\
65e6d2aea1Sdp-arm				${JUNO_SECURITY_SOURCES}
6685135283SDan Handley
67a9cc84d7SVikram KanigiriBL2_SOURCES		+=	plat/arm/board/juno/juno_err.c		\
68*07570d59SYatharth Kochar				plat/arm/board/juno/juno_bl2_setup.c	\
69a9cc84d7SVikram Kanigiri				${JUNO_SECURITY_SOURCES}
7085135283SDan Handley
71a9cc84d7SVikram KanigiriBL2U_SOURCES		+=	${JUNO_SECURITY_SOURCES}
72dcda29f6SYatharth Kochar
7385135283SDan HandleyBL31_SOURCES		+=	lib/cpus/aarch64/cortex_a53.S		\
74c1bb8a05SSoby Mathew				lib/cpus/aarch64/cortex_a57.S		\
750f829ea9SBrendan Jackman				lib/cpus/aarch64/cortex_a72.S		\
76c1bb8a05SSoby Mathew				plat/arm/board/juno/juno_pm.c		\
770108047aSSoby Mathew				plat/arm/board/juno/juno_topology.c	\
78a9cc84d7SVikram Kanigiri				${JUNO_GIC_SOURCES}			\
796355f234SVikram Kanigiri				${JUNO_INTERCONNECT_SOURCES}		\
80a9cc84d7SVikram Kanigiri				${JUNO_SECURITY_SOURCES}
81*07570d59SYatharth Kocharendif
8285135283SDan Handley
836f822cccSDouglas Raillard# Enable workarounds for selected Cortex-A53 and A57 errata.
84b75dc0e4SAndre PrzywaraERRATA_A53_855873		:=	1
8585135283SDan HandleyERRATA_A57_806969		:=	0
86ccbec91cSAntonio Nino DiazERRATA_A57_813419		:=	1
8785135283SDan HandleyERRATA_A57_813420		:=	1
886f822cccSDouglas RaillardERRATA_A57_826974		:=	1
896f822cccSDouglas RaillardERRATA_A57_826977		:=	1
906f822cccSDouglas RaillardERRATA_A57_828024		:=	1
916f822cccSDouglas RaillardERRATA_A57_829520		:=	1
926f822cccSDouglas RaillardERRATA_A57_833471		:=	1
936f822cccSDouglas Raillard
946f822cccSDouglas Raillard# Enable workarounds for selected Cortex-A53 errata.
956f822cccSDouglas RaillardERRATA_A53_826319		:=	1
966f822cccSDouglas RaillardERRATA_A53_836870		:=	1
9785135283SDan Handley
9885135283SDan Handley# Enable option to skip L1 data cache flush during the Cortex-A57 cluster
9985135283SDan Handley# power down sequence
10085135283SDan HandleySKIP_A57_L1_FLUSH_PWR_DWN	:=	 1
10185135283SDan Handley
10238dce70fSSoby Mathew# Disable the PSCI platform compatibility layer
10338dce70fSSoby MathewENABLE_PLAT_COMPAT		:= 	0
104c64a0448SVikram Kanigiri
105c64a0448SVikram Kanigiri# Enable memory map related constants optimisation
1060289970dSAntonio Nino DiazARM_BOARD_OPTIMISE_MEM		:=	1
10738dce70fSSoby Mathew
10885135283SDan Handleyinclude plat/arm/board/common/board_css.mk
10985135283SDan Handleyinclude plat/arm/common/arm_common.mk
11085135283SDan Handleyinclude plat/arm/soc/common/soc_css.mk
11185135283SDan Handleyinclude plat/arm/css/common/css_common.mk
1121779ba6bSJuan Castillo
1131779ba6bSJuan Castilloifeq (${KEY_ALG},ecdsa)
1141779ba6bSJuan Castillo    $(error "ECDSA key algorithm is not fully supported on Juno.")
1151779ba6bSJuan Castilloendif
116