xref: /rk3399_ARM-atf/plat/nxp/soc-lx2160a/soc.mk (revision 87056d319392979c3d3585a6f763d59a9e33ceeb)
1*87056d31SPankaj Gupta#
2*87056d31SPankaj Gupta# Copyright 2018-2020 NXP
3*87056d31SPankaj Gupta#
4*87056d31SPankaj Gupta# SPDX-License-Identifier: BSD-3-Clause
5*87056d31SPankaj Gupta#
6*87056d31SPankaj Gupta
7*87056d31SPankaj Gupta
8*87056d31SPankaj Gupta # SoC-specific build parameters
9*87056d31SPankaj GuptaSOC		:=	lx2160a
10*87056d31SPankaj GuptaPLAT_PATH	:=	plat/nxp
11*87056d31SPankaj GuptaPLAT_COMMON_PATH:=	plat/nxp/common
12*87056d31SPankaj GuptaPLAT_DRIVERS_PATH:=	drivers/nxp
13*87056d31SPankaj GuptaPLAT_SOC_PATH	:=	${PLAT_PATH}/soc-${SOC}
14*87056d31SPankaj GuptaBOARD_PATH	:=	${PLAT_SOC_PATH}/${BOARD}
15*87056d31SPankaj Gupta
16*87056d31SPankaj Gupta # get SoC-specific defnitions
17*87056d31SPankaj Guptainclude ${PLAT_SOC_PATH}/soc.def
18*87056d31SPankaj Gupta
19*87056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/plat_make_helper/plat_build_macros.mk
20*87056d31SPankaj Gupta
21*87056d31SPankaj Gupta # SoC-specific
22*87056d31SPankaj GuptaNXP_WDOG_RESTART	:= yes
23*87056d31SPankaj Gupta
24*87056d31SPankaj Gupta
25*87056d31SPankaj Gupta # Selecting dependent module,
26*87056d31SPankaj Gupta # Selecting dependent drivers, and
27*87056d31SPankaj Gupta # Adding defines.
28*87056d31SPankaj Gupta
29*87056d31SPankaj Gupta # for features enabled above.
30*87056d31SPankaj Guptaifeq (${NXP_WDOG_RESTART}, yes)
31*87056d31SPankaj GuptaNXP_NV_SW_MAINT_LAST_EXEC_DATA := yes
32*87056d31SPankaj GuptaLS_EL3_INTERRUPT_HANDLER := yes
33*87056d31SPankaj Gupta$(eval $(call add_define, NXP_WDOG_RESTART))
34*87056d31SPankaj Guptaendif
35*87056d31SPankaj Gupta
36*87056d31SPankaj Gupta
37*87056d31SPankaj Gupta # For Security Features
38*87056d31SPankaj GuptaDISABLE_FUSE_WRITE	:= 1
39*87056d31SPankaj Guptaifeq (${TRUSTED_BOARD_BOOT}, 1)
40*87056d31SPankaj Guptaifeq (${GENERATE_COT},1)
41*87056d31SPankaj Gupta# Save Keys to be used by DDR FIP image
42*87056d31SPankaj GuptaSAVE_KEYS=1
43*87056d31SPankaj Guptaendif
44*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SMMU_NEEDED,BL2))
45*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SFP_NEEDED,BL2))
46*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SNVS_NEEDED,BL2))
47*87056d31SPankaj Gupta# Used by create_pbl tool to
48*87056d31SPankaj Gupta# create bl2_<boot_mode>_sec.pbl image
49*87056d31SPankaj GuptaSECURE_BOOT	:= yes
50*87056d31SPankaj Guptaendif
51*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,CRYPTO_NEEDED,BL_COMM))
52*87056d31SPankaj Gupta
53*87056d31SPankaj Gupta
54*87056d31SPankaj Gupta # Selecting Drivers for SoC
55*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,DCFG_NEEDED,BL_COMM))
56*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,TIMER_NEEDED,BL_COMM))
57*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,INTERCONNECT_NEEDED,BL_COMM))
58*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,GIC_NEEDED,BL31))
59*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,CONSOLE_NEEDED,BL_COMM))
60*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,PMU_NEEDED,BL_COMM))
61*87056d31SPankaj Gupta
62*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,DDR_DRIVER_NEEDED,BL2))
63*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,TZASC_NEEDED,BL2))
64*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,I2C_NEEDED,BL2))
65*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,IMG_LOADR_NEEDED,BL2))
66*87056d31SPankaj Gupta
67*87056d31SPankaj Gupta
68*87056d31SPankaj Gupta # Selecting PSCI & SIP_SVC support
69*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,PSCI_NEEDED,BL31))
70*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SIPSVC_NEEDED,BL31))
71*87056d31SPankaj Gupta
72*87056d31SPankaj Gupta
73*87056d31SPankaj Gupta # Selecting Boot Source for the TFA images.
74*87056d31SPankaj Guptaifeq (${BOOT_MODE}, flexspi_nor)
75*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,XSPI_NEEDED,BL2))
76*87056d31SPankaj Gupta$(eval $(call add_define,FLEXSPI_NOR_BOOT))
77*87056d31SPankaj Guptaelse
78*87056d31SPankaj Guptaifeq (${BOOT_MODE}, sd)
79*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SD_MMC_NEEDED,BL2))
80*87056d31SPankaj Gupta$(eval $(call add_define,SD_BOOT))
81*87056d31SPankaj Guptaelse
82*87056d31SPankaj Guptaifeq (${BOOT_MODE}, emmc)
83*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,SD_MMC_NEEDED,BL2))
84*87056d31SPankaj Gupta$(eval $(call add_define,EMMC_BOOT))
85*87056d31SPankaj Guptaelse
86*87056d31SPankaj Gupta$(error Un-supported Boot Mode = ${BOOT_MODE})
87*87056d31SPankaj Guptaendif
88*87056d31SPankaj Guptaendif
89*87056d31SPankaj Guptaendif
90*87056d31SPankaj Gupta
91*87056d31SPankaj Gupta
92*87056d31SPankaj Gupta # Separate DDR-FIP image to be loaded.
93*87056d31SPankaj Gupta$(eval $(call SET_NXP_MAKE_FLAG,DDR_FIP_IO_NEEDED,BL2))
94*87056d31SPankaj Gupta
95*87056d31SPankaj Gupta
96*87056d31SPankaj Gupta# Source File Addition
97*87056d31SPankaj Gupta# #####################
98*87056d31SPankaj Gupta
99*87056d31SPankaj GuptaPLAT_INCLUDES		+=	-I${PLAT_COMMON_PATH}/include/default\
100*87056d31SPankaj Gupta				-I${BOARD_PATH}\
101*87056d31SPankaj Gupta				-I${PLAT_COMMON_PATH}/include/default/ch_${CHASSIS}\
102*87056d31SPankaj Gupta				-I${PLAT_SOC_PATH}/include
103*87056d31SPankaj Gupta
104*87056d31SPankaj Guptaifeq (${SECURE_BOOT},yes)
105*87056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/tbbr/tbbr.mk
106*87056d31SPankaj Guptaendif
107*87056d31SPankaj Gupta
108*87056d31SPankaj Guptaifeq ($(WARM_BOOT),yes)
109*87056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/warm_reset/warm_reset.mk
110*87056d31SPankaj Guptaendif
111*87056d31SPankaj Gupta
112*87056d31SPankaj Guptaifeq (${NXP_NV_SW_MAINT_LAST_EXEC_DATA}, yes)
113*87056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/nv_storage/nv_storage.mk
114*87056d31SPankaj Guptaendif
115*87056d31SPankaj Gupta
116*87056d31SPankaj Guptaifeq (${PSCI_NEEDED}, yes)
117*87056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/psci/psci.mk
118*87056d31SPankaj Guptaendif
119*87056d31SPankaj Gupta
120*87056d31SPankaj Guptaifeq (${SIPSVC_NEEDED}, yes)
121*87056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/sip_svc/sipsvc.mk
122*87056d31SPankaj Guptaendif
123*87056d31SPankaj Gupta
124*87056d31SPankaj Guptaifeq (${DDR_FIP_IO_NEEDED}, yes)
125*87056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/fip_handler/ddr_fip/ddr_fip_io.mk
126*87056d31SPankaj Guptaendif
127*87056d31SPankaj Gupta
128*87056d31SPankaj Gupta # for fuse-fip & fuse-programming
129*87056d31SPankaj Guptaifeq (${FUSE_PROG}, 1)
130*87056d31SPankaj Guptainclude ${PLAT_COMMON_PATH}/fip_handler/fuse_fip/fuse.mk
131*87056d31SPankaj Guptaendif
132*87056d31SPankaj Gupta
133*87056d31SPankaj Guptaifeq (${IMG_LOADR_NEEDED},yes)
134*87056d31SPankaj Guptainclude $(PLAT_COMMON_PATH)/img_loadr/img_loadr.mk
135*87056d31SPankaj Guptaendif
136*87056d31SPankaj Gupta
137*87056d31SPankaj Gupta # Adding source files for the above selected drivers.
138*87056d31SPankaj Guptainclude ${PLAT_DRIVERS_PATH}/drivers.mk
139*87056d31SPankaj Gupta
140*87056d31SPankaj Gupta # Adding SoC specific files
141*87056d31SPankaj Guptainclude ${PLAT_SOC_PATH}/erratas_soc.mk
142*87056d31SPankaj Gupta
143*87056d31SPankaj GuptaPLAT_INCLUDES		+=	${NV_STORAGE_INCLUDES}\
144*87056d31SPankaj Gupta				${WARM_RST_INCLUDES}
145*87056d31SPankaj Gupta
146*87056d31SPankaj GuptaBL31_SOURCES		+=	${PLAT_SOC_PATH}/$(ARCH)/${SOC}.S\
147*87056d31SPankaj Gupta				${WARM_RST_BL31_SOURCES}\
148*87056d31SPankaj Gupta				${PSCI_SOURCES}\
149*87056d31SPankaj Gupta				${SIPSVC_SOURCES}\
150*87056d31SPankaj Gupta				${PLAT_COMMON_PATH}/$(ARCH)/bl31_data.S
151*87056d31SPankaj Gupta
152*87056d31SPankaj GuptaPLAT_BL_COMMON_SOURCES	+=	${PLAT_COMMON_PATH}/$(ARCH)/ls_helpers.S\
153*87056d31SPankaj Gupta				${PLAT_SOC_PATH}/aarch64/${SOC}_helpers.S\
154*87056d31SPankaj Gupta				${NV_STORAGE_SOURCES}\
155*87056d31SPankaj Gupta				${WARM_RST_BL_COMM_SOURCES}\
156*87056d31SPankaj Gupta				${PLAT_SOC_PATH}/soc.c
157*87056d31SPankaj Gupta
158*87056d31SPankaj Guptaifeq (${TEST_BL31}, 1)
159*87056d31SPankaj GuptaBL31_SOURCES		+=	${PLAT_SOC_PATH}/$(ARCH)/bootmain64.S\
160*87056d31SPankaj Gupta				${PLAT_SOC_PATH}/$(ARCH)/nonboot64.S
161*87056d31SPankaj Guptaendif
162*87056d31SPankaj Gupta
163*87056d31SPankaj GuptaBL2_SOURCES		+=	${DDR_CNTLR_SOURCES}\
164*87056d31SPankaj Gupta				${TBBR_SOURCES}\
165*87056d31SPankaj Gupta				${FUSE_SOURCES}
166*87056d31SPankaj Gupta
167*87056d31SPankaj Gupta
168*87056d31SPankaj Gupta # Adding TFA setup files
169*87056d31SPankaj Guptainclude ${PLAT_PATH}/common/setup/common.mk
170*87056d31SPankaj Gupta
171*87056d31SPankaj Gupta
172*87056d31SPankaj Gupta # Adding source files to generate separate DDR FIP image
173*87056d31SPankaj Guptainclude ${PLAT_SOC_PATH}/ddr_fip.mk
174