xref: /arm-trusted-firmware/plat/socionext/synquacer/platform.mk (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu#
2*91f16700Schasinglulu# Copyright (c) 2018-2023, ARM Limited and Contributors. All rights reserved.
3*91f16700Schasinglulu#
4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu#
6*91f16700Schasinglulu
7*91f16700Schasingluluoverride PROGRAMMABLE_RESET_ADDRESS	:= 1
8*91f16700Schasingluluoverride USE_COHERENT_MEM		:= 1
9*91f16700Schasingluluoverride SEPARATE_CODE_AND_RODATA	:= 1
10*91f16700Schasingluluoverride ENABLE_SVE_FOR_NS		:= 0
11*91f16700Schasinglulu# Enable workarounds for selected Cortex-A53 erratas.
12*91f16700SchasingluluERRATA_A53_855873		:= 1
13*91f16700Schasinglulu
14*91f16700Schasingluluifeq (${RESET_TO_BL31}, 1)
15*91f16700Schasingluluoverride RESET_TO_BL31          := 1
16*91f16700Schasingluluoverride TRUSTED_BOARD_BOOT     := 0
17*91f16700SchasingluluSQ_USE_SCMI_DRIVER              ?= 0
18*91f16700Schasingluluelse
19*91f16700Schasingluluoverride RESET_TO_BL31          := 0
20*91f16700Schasingluluoverride RESET_TO_BL2		:= 1
21*91f16700SchasingluluSQ_USE_SCMI_DRIVER              := 1
22*91f16700SchasingluluBL2_CPPFLAGS                    += -DPLAT_XLAT_TABLES_DYNAMIC
23*91f16700Schasingluluendif
24*91f16700Schasinglulu
25*91f16700Schasinglulu# Libraries
26*91f16700Schasingluluinclude lib/xlat_tables_v2/xlat_tables.mk
27*91f16700Schasinglulu
28*91f16700SchasingluluPLAT_PATH		:=	plat/socionext/synquacer
29*91f16700SchasingluluPLAT_INCLUDES		:=	-I$(PLAT_PATH)/include		\
30*91f16700Schasinglulu				-I$(PLAT_PATH)/drivers/scpi	\
31*91f16700Schasinglulu				-I$(PLAT_PATH)/drivers/mhu \
32*91f16700Schasinglulu				-Idrivers/arm/css/scmi \
33*91f16700Schasinglulu				-Idrivers/arm/css/scmi/vendor
34*91f16700Schasinglulu
35*91f16700SchasingluluPLAT_BL_COMMON_SOURCES	+=	$(PLAT_PATH)/sq_helpers.S		\
36*91f16700Schasinglulu				drivers/arm/pl011/aarch64/pl011_console.S \
37*91f16700Schasinglulu				drivers/delay_timer/delay_timer.c	\
38*91f16700Schasinglulu				drivers/delay_timer/generic_delay_timer.c \
39*91f16700Schasinglulu				lib/cpus/aarch64/cortex_a53.S		\
40*91f16700Schasinglulu				$(PLAT_PATH)/sq_xlat_setup.c	\
41*91f16700Schasinglulu				${XLAT_TABLES_LIB_SRCS}
42*91f16700Schasinglulu
43*91f16700Schasinglulu# Include GICv3 driver files
44*91f16700Schasingluluinclude drivers/arm/gic/v3/gicv3.mk
45*91f16700Schasinglulu
46*91f16700Schasingluluifneq (${RESET_TO_BL31}, 1)
47*91f16700SchasingluluBL2_SOURCES		+=	common/desc_image_load.c		\
48*91f16700Schasinglulu				drivers/io/io_fip.c			\
49*91f16700Schasinglulu				drivers/io/io_memmap.c			\
50*91f16700Schasinglulu				drivers/io/io_storage.c			\
51*91f16700Schasinglulu				$(PLAT_PATH)/sq_bl2_setup.c		\
52*91f16700Schasinglulu				$(PLAT_PATH)/sq_image_desc.c	\
53*91f16700Schasinglulu				$(PLAT_PATH)/sq_io_storage.c
54*91f16700Schasinglulu
55*91f16700Schasingluluifeq (${TRUSTED_BOARD_BOOT},1)
56*91f16700Schasingluluinclude drivers/auth/mbedtls/mbedtls_crypto.mk
57*91f16700Schasingluluinclude drivers/auth/mbedtls/mbedtls_x509.mk
58*91f16700SchasingluluBL2_SOURCES		+=	drivers/auth/auth_mod.c			\
59*91f16700Schasinglulu				drivers/auth/crypto_mod.c		\
60*91f16700Schasinglulu				drivers/auth/img_parser_mod.c		\
61*91f16700Schasinglulu				drivers/auth/tbbr/tbbr_cot_common.c	\
62*91f16700Schasinglulu				drivers/auth/tbbr/tbbr_cot_bl2.c	\
63*91f16700Schasinglulu				plat/common/tbbr/plat_tbbr.c		\
64*91f16700Schasinglulu				$(PLAT_PATH)/sq_rotpk.S		\
65*91f16700Schasinglulu				$(PLAT_PATH)/sq_tbbr.c
66*91f16700Schasinglulu
67*91f16700SchasingluluROT_KEY			= $(BUILD_PLAT)/rot_key.pem
68*91f16700SchasingluluROTPK_HASH		= $(BUILD_PLAT)/rotpk_sha256.bin
69*91f16700Schasinglulu
70*91f16700Schasinglulu$(eval $(call add_define_val,ROTPK_HASH,'"$(ROTPK_HASH)"'))
71*91f16700Schasinglulu$(BUILD_PLAT)/bl2/sq_rotpk.o: $(ROTPK_HASH)
72*91f16700Schasinglulu
73*91f16700Schasinglulucertificates: $(ROT_KEY)
74*91f16700Schasinglulu$(ROT_KEY): | $(BUILD_PLAT)
75*91f16700Schasinglulu	@echo "  OPENSSL $@"
76*91f16700Schasinglulu	$(Q)${OPENSSL_BIN_PATH}/openssl genrsa 2048 > $@ 2>/dev/null
77*91f16700Schasinglulu
78*91f16700Schasinglulu$(ROTPK_HASH): $(ROT_KEY)
79*91f16700Schasinglulu	@echo "  OPENSSL $@"
80*91f16700Schasinglulu	$(Q)${OPENSSL_BIN_PATH}/openssl rsa -in $< -pubout -outform DER 2>/dev/null |\
81*91f16700Schasinglulu	${OPENSSL_BIN_PATH}/openssl dgst -sha256 -binary > $@ 2>/dev/null
82*91f16700Schasinglulu
83*91f16700Schasingluluendif	# TRUSTED_BOARD_BOOT
84*91f16700Schasingluluendif
85*91f16700Schasinglulu
86*91f16700SchasingluluBL31_SOURCES		+=	drivers/arm/ccn/ccn.c			\
87*91f16700Schasinglulu				${GICV3_SOURCES}			\
88*91f16700Schasinglulu				plat/common/plat_gicv3.c		\
89*91f16700Schasinglulu				plat/common/plat_psci_common.c		\
90*91f16700Schasinglulu				$(PLAT_PATH)/sq_bl31_setup.c		\
91*91f16700Schasinglulu				$(PLAT_PATH)/sq_ccn.c			\
92*91f16700Schasinglulu				$(PLAT_PATH)/sq_topology.c		\
93*91f16700Schasinglulu				$(PLAT_PATH)/sq_psci.c			\
94*91f16700Schasinglulu				$(PLAT_PATH)/sq_gicv3.c			\
95*91f16700Schasinglulu				$(PLAT_PATH)/drivers/scp/sq_scp.c
96*91f16700Schasinglulu
97*91f16700Schasingluluifeq (${SQ_USE_SCMI_DRIVER},0)
98*91f16700SchasingluluBL31_SOURCES		+=	$(PLAT_PATH)/drivers/scpi/sq_scpi.c	\
99*91f16700Schasinglulu				$(PLAT_PATH)/drivers/mhu/sq_mhu.c
100*91f16700Schasingluluelse
101*91f16700SchasingluluBL31_SOURCES		+=	$(PLAT_PATH)/drivers/scp/sq_scmi.c		\
102*91f16700Schasinglulu				drivers/arm/css/scmi/scmi_common.c		\
103*91f16700Schasinglulu				drivers/arm/css/scmi/scmi_pwr_dmn_proto.c	\
104*91f16700Schasinglulu				drivers/arm/css/scmi/scmi_sys_pwr_proto.c	\
105*91f16700Schasinglulu				drivers/arm/css/scmi/vendor/scmi_sq.c	\
106*91f16700Schasinglulu				drivers/arm/css/mhu/css_mhu_doorbell.c
107*91f16700Schasingluluendif
108*91f16700Schasinglulu
109*91f16700Schasingluluifeq (${SPM_MM},1)
110*91f16700Schasinglulu$(eval $(call add_define,PLAT_EXTRA_LD_SCRIPT))
111*91f16700Schasinglulu
112*91f16700SchasingluluBL31_SOURCES		+=	$(PLAT_PATH)/sq_spm.c
113*91f16700Schasingluluendif
114*91f16700Schasinglulu
115*91f16700Schasingluluifeq (${SQ_USE_SCMI_DRIVER},1)
116*91f16700Schasinglulu$(eval $(call add_define,SQ_USE_SCMI_DRIVER))
117*91f16700Schasingluluendif
118