xref: /rk3399_ARM-atf/plat/socionext/synquacer/platform.mk (revision bded41d9e49065f831b8f968cc646f5b860a23f8)
1150c38e8SSumit Garg#
2142ee34eSLauren Wehrmeister# Copyright (c) 2018-2025, Arm Limited and Contributors. All rights reserved.
3150c38e8SSumit Garg#
4150c38e8SSumit Garg# SPDX-License-Identifier: BSD-3-Clause
5150c38e8SSumit Garg#
6150c38e8SSumit Garg
7150c38e8SSumit Gargoverride PROGRAMMABLE_RESET_ADDRESS	:= 1
8150c38e8SSumit Gargoverride USE_COHERENT_MEM		:= 1
9150c38e8SSumit Gargoverride SEPARATE_CODE_AND_RODATA	:= 1
10150c38e8SSumit Gargoverride ENABLE_SVE_FOR_NS		:= 0
11150c38e8SSumit Garg# Enable workarounds for selected Cortex-A53 erratas.
12150c38e8SSumit GargERRATA_A53_855873		:= 1
1348ab3904SJassi Brar
1448ab3904SJassi Brarifeq (${RESET_TO_BL31}, 1)
1548ab3904SJassi Braroverride RESET_TO_BL31          := 1
1648ab3904SJassi Braroverride TRUSTED_BOARD_BOOT     := 0
17b67d2029SMasahisa KojimaSQ_USE_SCMI_DRIVER              ?= 0
1848ab3904SJassi Brarelse
1948ab3904SJassi Braroverride RESET_TO_BL31          := 0
2042d4d3baSArvind Ram Prakashoverride RESET_TO_BL2		:= 1
2148ab3904SJassi BrarSQ_USE_SCMI_DRIVER              := 1
2248ab3904SJassi BrarBL2_CPPFLAGS                    += -DPLAT_XLAT_TABLES_DYNAMIC
2348ab3904SJassi Brarendif
24150c38e8SSumit Garg
25150c38e8SSumit Garg# Libraries
26150c38e8SSumit Garginclude lib/xlat_tables_v2/xlat_tables.mk
27150c38e8SSumit Garg
28357f28dbSLevi Yunifeq (${TRANSFER_LIST}, 1)
29357f28dbSLevi Yuninclude lib/transfer_list/transfer_list.mk
30357f28dbSLevi Yunendif
31357f28dbSLevi Yun
32357f28dbSLevi Yunifeq (${HOB_LIST}, 1)
33357f28dbSLevi Yuninclude lib/hob/hob.mk
34357f28dbSLevi Yunendif
35357f28dbSLevi Yun
36150c38e8SSumit GargPLAT_PATH		:=	plat/socionext/synquacer
37150c38e8SSumit GargPLAT_INCLUDES		:=	-I$(PLAT_PATH)/include		\
38150c38e8SSumit Garg				-I$(PLAT_PATH)/drivers/scpi	\
39b67d2029SMasahisa Kojima				-I$(PLAT_PATH)/drivers/mhu \
40b67d2029SMasahisa Kojima				-Idrivers/arm/css/scmi \
41b67d2029SMasahisa Kojima				-Idrivers/arm/css/scmi/vendor
42150c38e8SSumit Garg
43150c38e8SSumit GargPLAT_BL_COMMON_SOURCES	+=	$(PLAT_PATH)/sq_helpers.S		\
44ce1f43acSAntonio Nino Diaz				drivers/arm/pl011/aarch64/pl011_console.S \
45150c38e8SSumit Garg				drivers/delay_timer/delay_timer.c	\
46150c38e8SSumit Garg				drivers/delay_timer/generic_delay_timer.c \
473ba82d5fSJassi Brar				lib/cpus/aarch64/cortex_a53.S		\
483ba82d5fSJassi Brar				$(PLAT_PATH)/sq_xlat_setup.c	\
49150c38e8SSumit Garg				${XLAT_TABLES_LIB_SRCS}
50150c38e8SSumit Garg
51a6ea06f5SAlexei Fedorov# Include GICv3 driver files
52a6ea06f5SAlexei Fedorovinclude drivers/arm/gic/v3/gicv3.mk
53a6ea06f5SAlexei Fedorov
5448ab3904SJassi Brarifneq (${RESET_TO_BL31}, 1)
5548ab3904SJassi BrarBL2_SOURCES		+=	common/desc_image_load.c		\
5648ab3904SJassi Brar				drivers/io/io_fip.c			\
5748ab3904SJassi Brar				drivers/io/io_memmap.c			\
5848ab3904SJassi Brar				drivers/io/io_storage.c			\
5948ab3904SJassi Brar				$(PLAT_PATH)/sq_bl2_setup.c		\
6048ab3904SJassi Brar				$(PLAT_PATH)/sq_image_desc.c	\
6148ab3904SJassi Brar				$(PLAT_PATH)/sq_io_storage.c
6219aaeea0SJassi Brar
6319aaeea0SJassi Brarifeq (${TRUSTED_BOARD_BOOT},1)
6419aaeea0SJassi Brarinclude drivers/auth/mbedtls/mbedtls_crypto.mk
6519aaeea0SJassi Brarinclude drivers/auth/mbedtls/mbedtls_x509.mk
66142ee34eSLauren WehrmeisterAUTH_MK := drivers/auth/auth.mk
67142ee34eSLauren Wehrmeister$(info Including ${AUTH_MK})
68142ee34eSLauren Wehrmeisterinclude ${AUTH_MK}
69142ee34eSLauren Wehrmeister
70142ee34eSLauren WehrmeisterBL2_SOURCES		+=	${AUTH_SOURCES}				\
7119aaeea0SJassi Brar				drivers/auth/tbbr/tbbr_cot_common.c	\
7219aaeea0SJassi Brar				drivers/auth/tbbr/tbbr_cot_bl2.c	\
7319aaeea0SJassi Brar				plat/common/tbbr/plat_tbbr.c		\
7419aaeea0SJassi Brar				$(PLAT_PATH)/sq_rotpk.S		\
7519aaeea0SJassi Brar				$(PLAT_PATH)/sq_tbbr.c
7619aaeea0SJassi Brar
7719aaeea0SJassi BrarROT_KEY			= $(BUILD_PLAT)/rot_key.pem
7819aaeea0SJassi BrarROTPK_HASH		= $(BUILD_PLAT)/rotpk_sha256.bin
7919aaeea0SJassi Brar
8019aaeea0SJassi Brar$(eval $(call add_define_val,ROTPK_HASH,'"$(ROTPK_HASH)"'))
8119aaeea0SJassi Brar$(BUILD_PLAT)/bl2/sq_rotpk.o: $(ROTPK_HASH)
8219aaeea0SJassi Brar
8319aaeea0SJassi Brarcertificates: $(ROT_KEY)
847a95759fSChris Kay$(ROT_KEY): | $$(@D)/
857c4e1eeaSChris Kay	$(s)echo "  OPENSSL $@"
867c4e1eeaSChris Kay	$(q)${OPENSSL_BIN_PATH}/openssl genrsa 2048 > $@ 2>/dev/null
8719aaeea0SJassi Brar
887a95759fSChris Kay$(ROTPK_HASH): $(ROT_KEY) | $$(@D)/
897c4e1eeaSChris Kay	$(s)echo "  OPENSSL $@"
907c4e1eeaSChris Kay	$(q)${OPENSSL_BIN_PATH}/openssl rsa -in $< -pubout -outform DER 2>/dev/null |\
91e95abc4cSSalome Thirot	${OPENSSL_BIN_PATH}/openssl dgst -sha256 -binary > $@ 2>/dev/null
9219aaeea0SJassi Brar
9319aaeea0SJassi Brarendif	# TRUSTED_BOARD_BOOT
9448ab3904SJassi Brarendif
9548ab3904SJassi Brar
96150c38e8SSumit GargBL31_SOURCES		+=	drivers/arm/ccn/ccn.c			\
97a6ea06f5SAlexei Fedorov				${GICV3_SOURCES}			\
98150c38e8SSumit Garg				plat/common/plat_gicv3.c		\
99150c38e8SSumit Garg				plat/common/plat_psci_common.c		\
100150c38e8SSumit Garg				$(PLAT_PATH)/sq_bl31_setup.c		\
101150c38e8SSumit Garg				$(PLAT_PATH)/sq_ccn.c			\
102150c38e8SSumit Garg				$(PLAT_PATH)/sq_topology.c		\
103150c38e8SSumit Garg				$(PLAT_PATH)/sq_psci.c			\
104150c38e8SSumit Garg				$(PLAT_PATH)/sq_gicv3.c			\
105b67d2029SMasahisa Kojima				$(PLAT_PATH)/drivers/scp/sq_scp.c
106b67d2029SMasahisa Kojima
107b67d2029SMasahisa Kojimaifeq (${SQ_USE_SCMI_DRIVER},0)
108b67d2029SMasahisa KojimaBL31_SOURCES		+=	$(PLAT_PATH)/drivers/scpi/sq_scpi.c	\
109150c38e8SSumit Garg				$(PLAT_PATH)/drivers/mhu/sq_mhu.c
110b67d2029SMasahisa Kojimaelse
111b67d2029SMasahisa KojimaBL31_SOURCES		+=	$(PLAT_PATH)/drivers/scp/sq_scmi.c		\
112b67d2029SMasahisa Kojima				drivers/arm/css/scmi/scmi_common.c		\
113b67d2029SMasahisa Kojima				drivers/arm/css/scmi/scmi_pwr_dmn_proto.c	\
114b67d2029SMasahisa Kojima				drivers/arm/css/scmi/scmi_sys_pwr_proto.c	\
115b67d2029SMasahisa Kojima				drivers/arm/css/scmi/vendor/scmi_sq.c	\
116b67d2029SMasahisa Kojima				drivers/arm/css/mhu/css_mhu_doorbell.c
117b67d2029SMasahisa Kojimaendif
118434454a2SArd Biesheuvel
1193f3c341aSPaul Beesleyifeq (${SPM_MM},1)
120*5be66449SBoyan KaratotevPLAT_EXTRA_LD_SCRIPT	:=	1
121434454a2SArd Biesheuvel
122434454a2SArd BiesheuvelBL31_SOURCES		+=	$(PLAT_PATH)/sq_spm.c
123434454a2SArd Biesheuvelendif
124b67d2029SMasahisa Kojima
125b67d2029SMasahisa Kojimaifeq (${SQ_USE_SCMI_DRIVER},1)
126b67d2029SMasahisa Kojima$(eval $(call add_define,SQ_USE_SCMI_DRIVER))
127b67d2029SMasahisa Kojimaendif
128