xref: /rk3399_ARM-atf/plat/arm/board/common/board_common.mk (revision 698e231d928752e7877bfd5482c0fca6509108cc)
195cfd4adSJuan Castillo#
2a6ffddecSMax Shvetsov# Copyright (c) 2015-2020, ARM Limited and Contributors. All rights reserved.
395cfd4adSJuan Castillo#
482cb2c1aSdp-arm# SPDX-License-Identifier: BSD-3-Clause
595cfd4adSJuan Castillo#
695cfd4adSJuan Castillo
71a0a3f06SYatharth KocharPLAT_BL_COMMON_SOURCES	+=	drivers/arm/pl011/${ARCH}/pl011_console.S	\
81a0a3f06SYatharth Kochar				plat/arm/board/common/${ARCH}/board_arm_helpers.S
995cfd4adSJuan Castillo
10aa7877c4SAntonio Nino DiazBL1_SOURCES		+=	drivers/cfi/v2m/v2m_flash.c
1195cfd4adSJuan Castillo
12aa7877c4SAntonio Nino DiazBL2_SOURCES		+=	drivers/cfi/v2m/v2m_flash.c
1395cfd4adSJuan Castillo
1495cfd4adSJuan Castilloifneq (${TRUSTED_BOARD_BOOT},0)
15f143cafeSSoby Mathewifneq (${ARM_CRYPTOCELL_INTEG}, 1)
1695cfd4adSJuan Castillo# ROTPK hash location
1795cfd4adSJuan Castilloifeq (${ARM_ROTPK_LOCATION}, regs)
1895cfd4adSJuan Castillo	ARM_ROTPK_LOCATION_ID = ARM_ROTPK_REGS_ID
1995cfd4adSJuan Castilloelse ifeq (${ARM_ROTPK_LOCATION}, devel_rsa)
20*698e231dSMax Shvetsov	CRYPTO_ALG=rsa
2195cfd4adSJuan Castillo	ARM_ROTPK_LOCATION_ID = ARM_ROTPK_DEVEL_RSA_ID
22a6ffddecSMax Shvetsov	ARM_ROTPK_HASH = plat/arm/board/common/rotpk/arm_rotpk_rsa_sha256.bin
23a6ffddecSMax Shvetsov$(eval $(call add_define_val,ARM_ROTPK_HASH,'"$(ARM_ROTPK_HASH)"'))
24a6ffddecSMax Shvetsov$(BUILD_PLAT)/bl2/arm_dev_rotpk.o : $(ARM_ROTPK_HASH)
25a6ffddecSMax Shvetsov$(warning Development keys support for FVP is deprecated. Use `regs` \
26a6ffddecSMax Shvetsovoption instead)
279db9c65aSQixiang Xuelse ifeq (${ARM_ROTPK_LOCATION}, devel_ecdsa)
28*698e231dSMax Shvetsov	CRYPTO_ALG=ec
299db9c65aSQixiang Xu	ARM_ROTPK_LOCATION_ID = ARM_ROTPK_DEVEL_ECDSA_ID
30a6ffddecSMax Shvetsov	ARM_ROTPK_HASH = plat/arm/board/common/rotpk/arm_rotpk_ecdsa_sha256.bin
31a6ffddecSMax Shvetsov$(eval $(call add_define_val,ARM_ROTPK_HASH,'"$(ARM_ROTPK_HASH)"'))
32a6ffddecSMax Shvetsov$(BUILD_PLAT)/bl2/arm_dev_rotpk.o : $(ARM_ROTPK_HASH)
33a6ffddecSMax Shvetsov$(warning Development keys support for FVP is deprecated. Use `regs` \
34a6ffddecSMax Shvetsovoption instead)
3595cfd4adSJuan Castilloelse
3695cfd4adSJuan Castillo	$(error "Unsupported ARM_ROTPK_LOCATION value")
3795cfd4adSJuan Castilloendif
38a6ffddecSMax Shvetsov
3995cfd4adSJuan Castillo$(eval $(call add_define,ARM_ROTPK_LOCATION_ID))
4095cfd4adSJuan Castillo
41a6ffddecSMax Shvetsov# Force generation of the new hash if ROT_KEY is specified
42a6ffddecSMax Shvetsovifdef ROT_KEY
43a6ffddecSMax Shvetsov	HASH_PREREQUISITES = $(ROT_KEY) FORCE
44a6ffddecSMax ShvetsovFORCE:
45a6ffddecSMax Shvetsovelse
46a6ffddecSMax Shvetsov	HASH_PREREQUISITES = $(ROT_KEY)
47a6ffddecSMax Shvetsovendif
48a6ffddecSMax Shvetsov
49a6ffddecSMax Shvetsov$(ARM_ROTPK_HASH) : $(HASH_PREREQUISITES)
50a6ffddecSMax Shvetsovifndef ROT_KEY
51a6ffddecSMax Shvetsov	$(error Cannot generate hash: no ROT_KEY defined)
52a6ffddecSMax Shvetsovendif
53*698e231dSMax Shvetsov	openssl ${CRYPTO_ALG} -in $< -pubout -outform DER | openssl dgst \
54a6ffddecSMax Shvetsov		-sha256 -binary > $@
55a6ffddecSMax Shvetsov
5648279d52SJuan Castillo# Certificate NV-Counters. Use values corresponding to tied off values in
5748279d52SJuan Castillo# ARM development platforms
5848279d52SJuan CastilloTFW_NVCTR_VAL	?=	31
5948279d52SJuan CastilloNTFW_NVCTR_VAL	?=	223
60f143cafeSSoby Mathewelse
61f143cafeSSoby Mathew# Certificate NV-Counters when CryptoCell is integrated. For development
62f143cafeSSoby Mathew# platforms we set the counter to first valid value.
63f143cafeSSoby MathewTFW_NVCTR_VAL	?=	0
64f143cafeSSoby MathewNTFW_NVCTR_VAL	?=	0
65f143cafeSSoby Mathewendif
66a6ffddecSMax ShvetsovBL1_SOURCES		+=	plat/arm/board/common/board_arm_trusted_boot.c \
67a6ffddecSMax Shvetsov				plat/arm/board/common/rotpk/arm_dev_rotpk.S
68a6ffddecSMax ShvetsovBL2_SOURCES		+=	plat/arm/board/common/board_arm_trusted_boot.c \
69a6ffddecSMax Shvetsov				plat/arm/board/common/rotpk/arm_dev_rotpk.S
70a6ffddecSMax Shvetsov
7195cfd4adSJuan Castilloendif
72