xref: /rk3399_ARM-atf/plat/qemu/qemu_sbsa/platform.mk (revision cda0487a85a120f13b29dcde0f8a99792b7ad364)
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
104a2e7547SMarcin JuszkiewiczCRASH_REPORTING		:= 1
114a2e7547SMarcin Juszkiewicz
124a2e7547SMarcin Juszkiewicz# Disable the PSCI platform compatibility layer
134a2e7547SMarcin JuszkiewiczENABLE_PLAT_COMPAT	:= 0
144a2e7547SMarcin Juszkiewicz
154a2e7547SMarcin JuszkiewiczSEPARATE_CODE_AND_RODATA := 1
164a2e7547SMarcin JuszkiewiczENABLE_STACK_PROTECTOR	 := 0
174a2e7547SMarcin Juszkiewicz
186a2426a9SMasahisa Kojimaifeq (${SPM_MM},1)
196a2426a9SMasahisa KojimaNEED_BL32		:=	yes
206a2426a9SMasahisa KojimaEL3_EXCEPTION_HANDLING	:=	1
216a2426a9SMasahisa Kojimaendif
226a2426a9SMasahisa Kojima
23941fc383SMarcin Juszkiewiczinclude plat/qemu/common/common.mk
24941fc383SMarcin Juszkiewicz
25558a6f44SRadoslaw Biernacki# Enable new version of image loading on QEMU platforms
26558a6f44SRadoslaw BiernackiLOAD_IMAGE_V2		:=	1
27558a6f44SRadoslaw Biernacki
28*cda0487aSJens Wiklanderifeq (${SPD},opteed)
29*cda0487aSJens Wiklanderadd-lib-optee 		:= 	yes
30*cda0487aSJens Wiklanderendif
31*cda0487aSJens Wiklanderifeq ($(AARCH32_SP),optee)
32*cda0487aSJens Wiklanderadd-lib-optee 		:= 	yes
33*cda0487aSJens Wiklanderendif
34*cda0487aSJens Wiklanderifeq ($(SPMC_OPTEE),1)
35*cda0487aSJens Wiklander$(eval $(call add_define,SPMC_OPTEE))
36*cda0487aSJens Wiklanderadd-lib-optee 		:= 	yes
37*cda0487aSJens Wiklanderendif
38*cda0487aSJens Wiklander
39*cda0487aSJens Wiklanderifeq ($(add-lib-optee),yes)
40*cda0487aSJens WiklanderBL2_SOURCES		+=	lib/optee/optee_utils.c
41*cda0487aSJens Wiklanderendif
42*cda0487aSJens Wiklander
43558a6f44SRadoslaw Biernackiifeq ($(NEED_BL32),yes)
44558a6f44SRadoslaw Biernacki$(eval $(call add_define,QEMU_LOAD_BL32))
45558a6f44SRadoslaw Biernackiendif
46558a6f44SRadoslaw Biernacki
47a6ea06f5SAlexei Fedorov# Include GICv3 driver files
48a6ea06f5SAlexei Fedorovinclude drivers/arm/gic/v3/gicv3.mk
49a6ea06f5SAlexei Fedorov
50a6ea06f5SAlexei FedorovQEMU_GIC_SOURCES	:=	${GICV3_SOURCES}				\
511e67b1b1SMarcin Juszkiewicz				plat/common/plat_gicv3.c
52558a6f44SRadoslaw Biernacki
5318884750SMarcin JuszkiewiczBL31_SOURCES		+=	${PLAT_QEMU_PATH}/sbsa_gic.c 			\
54ecadac7cSMathieu Poirier				${PLAT_QEMU_PATH}/sbsa_platform.c		\
552fb5ed47SGraeme Gregory				${PLAT_QEMU_PATH}/sbsa_pm.c			\
56c681d02cSMarcin Juszkiewicz				${PLAT_QEMU_PATH}/sbsa_sip_svc.c		\
5718884750SMarcin Juszkiewicz				${PLAT_QEMU_PATH}/sbsa_topology.c
581fa05dabSChris Kay
591fa05dabSChris KayBL31_SOURCES		+=	${FDT_WRAPPERS_SOURCES}
601fa05dabSChris Kay
616a2426a9SMasahisa Kojimaifeq (${SPM_MM},1)
626a2426a9SMasahisa Kojima	BL31_SOURCES		+=	${PLAT_QEMU_COMMON_PATH}/qemu_spm.c
636a2426a9SMasahisa Kojimaendif
64558a6f44SRadoslaw Biernacki
65*cda0487aSJens Wiklanderifeq (${SPD},spmd)
66*cda0487aSJens WiklanderBL31_SOURCES		+=	plat/common/plat_spmd_manifest.c	\
67*cda0487aSJens Wiklander				common/uuid.c				\
68*cda0487aSJens Wiklander				${LIBFDT_SRCS}
69*cda0487aSJens Wiklanderendif
70*cda0487aSJens Wiklander
71*cda0487aSJens Wiklander
72*cda0487aSJens Wiklander# Add the build options to pack Trusted OS Extra1 and Trusted OS Extra2 images
73*cda0487aSJens Wiklander# in the FIP if the platform requires.
74*cda0487aSJens Wiklanderifneq ($(BL32_EXTRA1),)
75*cda0487aSJens Wiklanderifneq (${DECRYPTION_SUPPORT},none)
76*cda0487aSJens Wiklander$(eval $(call TOOL_ADD_IMG,bl32_extra1,--tos-fw-extra1,,$(ENCRYPT_BL32)))
77*cda0487aSJens Wiklanderelse
78*cda0487aSJens Wiklander$(eval $(call TOOL_ADD_IMG,bl32_extra1,--tos-fw-extra1))
79*cda0487aSJens Wiklanderendif
80*cda0487aSJens Wiklanderendif
81*cda0487aSJens Wiklanderifneq ($(BL32_EXTRA2),)
82*cda0487aSJens Wiklanderifneq (${DECRYPTION_SUPPORT},none)
83*cda0487aSJens Wiklander$(eval $(call TOOL_ADD_IMG,bl32_extra2,--tos-fw-extra2,,$(ENCRYPT_BL32)))
84*cda0487aSJens Wiklanderelse
85*cda0487aSJens Wiklander$(eval $(call TOOL_ADD_IMG,bl32_extra2,--tos-fw-extra2))
86*cda0487aSJens Wiklanderendif
87*cda0487aSJens Wiklanderendif
88*cda0487aSJens Wiklander
89*cda0487aSJens Wiklanderifneq ($(QEMU_TB_FW_CONFIG_DTS),)
90*cda0487aSJens WiklanderFDT_SOURCES		+=	${QEMU_TB_FW_CONFIG_DTS}
91*cda0487aSJens WiklanderQEMU_TB_FW_CONFIG	:=	${BUILD_PLAT}/fdts/$(notdir $(basename ${QEMU_TB_FW_CONFIG_DTS})).dtb
92*cda0487aSJens Wiklander# Add the TB_FW_CONFIG to FIP
93*cda0487aSJens Wiklander$(eval $(call TOOL_ADD_PAYLOAD,${QEMU_TB_FW_CONFIG},--tb-fw-config,${QEMU_TB_FW_CONFIG}))
94*cda0487aSJens Wiklanderendif
95*cda0487aSJens Wiklander
96*cda0487aSJens Wiklanderifneq ($(QEMU_TOS_FW_CONFIG_DTS),)
97*cda0487aSJens WiklanderFDT_SOURCES		+=	${QEMU_TOS_FW_CONFIG_DTS}
98*cda0487aSJens WiklanderQEMU_TOS_FW_CONFIG	:=	${BUILD_PLAT}/fdts/$(notdir $(basename ${QEMU_TOS_FW_CONFIG_DTS})).dtb
99*cda0487aSJens Wiklander# Add the TOS_FW_CONFIG to FIP
100*cda0487aSJens Wiklander$(eval $(call TOOL_ADD_PAYLOAD,${QEMU_TOS_FW_CONFIG},--tos-fw-config,${QEMU_TOS_FW_CONFIG}))
101*cda0487aSJens Wiklanderendif
102*cda0487aSJens Wiklander
103558a6f44SRadoslaw Biernacki# Use known base for UEFI if not given from command line
104558a6f44SRadoslaw Biernacki# By default BL33 is at FLASH1 base
105558a6f44SRadoslaw BiernackiPRELOADED_BL33_BASE	?= 0x10000000
106558a6f44SRadoslaw Biernacki
107558a6f44SRadoslaw Biernacki# Qemu SBSA plafrom only support SEC_SRAM
108558a6f44SRadoslaw BiernackiBL32_RAM_LOCATION_ID	= SEC_SRAM_ID
109558a6f44SRadoslaw Biernacki$(eval $(call add_define,BL32_RAM_LOCATION_ID))
110558a6f44SRadoslaw Biernacki
11174464d5bSAndrew Walbran# Don't have the Linux kernel as a BL33 image by default
11274464d5bSAndrew WalbranARM_LINUX_KERNEL_AS_BL33	:=	0
11374464d5bSAndrew Walbran$(eval $(call assert_boolean,ARM_LINUX_KERNEL_AS_BL33))
11474464d5bSAndrew Walbran$(eval $(call add_define,ARM_LINUX_KERNEL_AS_BL33))
11574464d5bSAndrew Walbran
11626da60e2SMathieu PoirierARM_PRELOADED_DTB_BASE := PLAT_QEMU_DRAM0_BASE
11774464d5bSAndrew Walbran$(eval $(call add_define,ARM_PRELOADED_DTB_BASE))
118