xref: /rk3399_ARM-atf/plat/qemu/qemu_sbsa/platform.mk (revision 4a2e7547b3705ffcb31165f966ecea4fd39517f0)
1558a6f44SRadoslaw Biernacki#
2c681d02cSMarcin Juszkiewicz# Copyright (c) 2019-2023, Linaro Limited and Contributors. All rights reserved.
3558a6f44SRadoslaw Biernacki#
4558a6f44SRadoslaw Biernacki# SPDX-License-Identifier: BSD-3-Clause
5558a6f44SRadoslaw Biernacki#
6558a6f44SRadoslaw Biernacki
7886688d1SMarcin JuszkiewiczPLAT_QEMU_PATH		:=	plat/qemu/qemu_sbsa
8886688d1SMarcin JuszkiewiczPLAT_QEMU_COMMON_PATH	:=	plat/qemu/common
9886688d1SMarcin Juszkiewicz
10*4a2e7547SMarcin JuszkiewiczMULTI_CONSOLE_API	:= 1
11*4a2e7547SMarcin JuszkiewiczCRASH_REPORTING		:= 1
12*4a2e7547SMarcin Juszkiewicz
13*4a2e7547SMarcin Juszkiewicz# Disable the PSCI platform compatibility layer
14*4a2e7547SMarcin JuszkiewiczENABLE_PLAT_COMPAT	:= 0
15*4a2e7547SMarcin Juszkiewicz
16*4a2e7547SMarcin JuszkiewiczSEPARATE_CODE_AND_RODATA := 1
17*4a2e7547SMarcin JuszkiewiczENABLE_STACK_PROTECTOR	 := 0
18*4a2e7547SMarcin Juszkiewicz
196a2426a9SMasahisa Kojimaifeq (${SPM_MM},1)
206a2426a9SMasahisa KojimaNEED_BL32		:=	yes
216a2426a9SMasahisa KojimaEL3_EXCEPTION_HANDLING	:=	1
226a2426a9SMasahisa KojimaGICV2_G0_FOR_EL3	:=	1
236a2426a9SMasahisa Kojimaendif
246a2426a9SMasahisa Kojima
25941fc383SMarcin Juszkiewiczinclude plat/qemu/common/common.mk
26941fc383SMarcin Juszkiewicz
27558a6f44SRadoslaw Biernacki# Enable new version of image loading on QEMU platforms
28558a6f44SRadoslaw BiernackiLOAD_IMAGE_V2		:=	1
29558a6f44SRadoslaw Biernacki
30558a6f44SRadoslaw Biernackiifeq ($(NEED_BL32),yes)
31558a6f44SRadoslaw Biernacki$(eval $(call add_define,QEMU_LOAD_BL32))
32558a6f44SRadoslaw Biernackiendif
33558a6f44SRadoslaw Biernacki
3471f5359bSMarcin JuszkiewiczBL2_SOURCES		+=	$(LIBFDT_SRCS)
35558a6f44SRadoslaw Biernacki
36a6ea06f5SAlexei Fedorov# Include GICv3 driver files
37a6ea06f5SAlexei Fedorovinclude drivers/arm/gic/v3/gicv3.mk
38a6ea06f5SAlexei Fedorov
39a6ea06f5SAlexei FedorovQEMU_GIC_SOURCES	:=	${GICV3_SOURCES}				\
401e67b1b1SMarcin Juszkiewicz				plat/common/plat_gicv3.c
41558a6f44SRadoslaw Biernacki
4218884750SMarcin JuszkiewiczBL31_SOURCES		+=	${PLAT_QEMU_PATH}/sbsa_gic.c 			\
432fb5ed47SGraeme Gregory				${PLAT_QEMU_PATH}/sbsa_pm.c			\
44c681d02cSMarcin Juszkiewicz				${PLAT_QEMU_PATH}/sbsa_sip_svc.c		\
4518884750SMarcin Juszkiewicz				${PLAT_QEMU_PATH}/sbsa_topology.c
461fa05dabSChris Kay
471fa05dabSChris KayBL31_SOURCES		+=	${FDT_WRAPPERS_SOURCES}
481fa05dabSChris Kay
496a2426a9SMasahisa Kojimaifeq (${SPM_MM},1)
506a2426a9SMasahisa Kojima	BL31_SOURCES		+=	${PLAT_QEMU_COMMON_PATH}/qemu_spm.c
516a2426a9SMasahisa Kojimaendif
52558a6f44SRadoslaw Biernacki
53558a6f44SRadoslaw Biernacki# Use known base for UEFI if not given from command line
54558a6f44SRadoslaw Biernacki# By default BL33 is at FLASH1 base
55558a6f44SRadoslaw BiernackiPRELOADED_BL33_BASE	?= 0x10000000
56558a6f44SRadoslaw Biernacki
57558a6f44SRadoslaw Biernacki# Qemu SBSA plafrom only support SEC_SRAM
58558a6f44SRadoslaw BiernackiBL32_RAM_LOCATION_ID	= SEC_SRAM_ID
59558a6f44SRadoslaw Biernacki$(eval $(call add_define,BL32_RAM_LOCATION_ID))
60558a6f44SRadoslaw Biernacki
6174464d5bSAndrew Walbran# Don't have the Linux kernel as a BL33 image by default
6274464d5bSAndrew WalbranARM_LINUX_KERNEL_AS_BL33	:=	0
6374464d5bSAndrew Walbran$(eval $(call assert_boolean,ARM_LINUX_KERNEL_AS_BL33))
6474464d5bSAndrew Walbran$(eval $(call add_define,ARM_LINUX_KERNEL_AS_BL33))
6574464d5bSAndrew Walbran
6674464d5bSAndrew WalbranARM_PRELOADED_DTB_BASE := PLAT_QEMU_DT_BASE
6774464d5bSAndrew Walbran$(eval $(call add_define,ARM_PRELOADED_DTB_BASE))
68