xref: /arm-trusted-firmware/plat/nxp/soc-lx2160a/ddr_fip.mk (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu#
2*91f16700Schasinglulu# Copyright 2020 NXP
3*91f16700Schasinglulu#
4*91f16700Schasinglulu# SPDX-License-Identifier: BSD-3-Clause
5*91f16700Schasinglulu#
6*91f16700Schasinglulu
7*91f16700SchasingluluDDR_PHY_BIN_PATH	?=	./ddr-phy-binary/lx2160a
8*91f16700Schasinglulu
9*91f16700Schasingluluifeq (${DDR_IMEM_UDIMM_1D},)
10*91f16700Schasinglulu    DDR_IMEM_UDIMM_1D	:=	${DDR_PHY_BIN_PATH}/ddr4_pmu_train_imem.bin
11*91f16700Schasingluluendif
12*91f16700Schasinglulu
13*91f16700Schasingluluifeq (${DDR_IMEM_UDIMM_2D},)
14*91f16700Schasinglulu    DDR_IMEM_UDIMM_2D	:=	${DDR_PHY_BIN_PATH}/ddr4_2d_pmu_train_imem.bin
15*91f16700Schasingluluendif
16*91f16700Schasinglulu
17*91f16700Schasingluluifeq (${DDR_DMEM_UDIMM_1D},)
18*91f16700Schasinglulu    DDR_DMEM_UDIMM_1D	:=	${DDR_PHY_BIN_PATH}/ddr4_pmu_train_dmem.bin
19*91f16700Schasingluluendif
20*91f16700Schasinglulu
21*91f16700Schasingluluifeq (${DDR_DMEM_UDIMM_2D},)
22*91f16700Schasinglulu    DDR_DMEM_UDIMM_2D	:=	${DDR_PHY_BIN_PATH}/ddr4_2d_pmu_train_dmem.bin
23*91f16700Schasingluluendif
24*91f16700Schasinglulu
25*91f16700Schasingluluifeq (${DDR_IMEM_RDIMM_1D},)
26*91f16700Schasinglulu    DDR_IMEM_RDIMM_1D	:=	${DDR_PHY_BIN_PATH}/ddr4_rdimm_pmu_train_imem.bin
27*91f16700Schasingluluendif
28*91f16700Schasinglulu
29*91f16700Schasingluluifeq (${DDR_IMEM_RDIMM_2D},)
30*91f16700Schasinglulu    DDR_IMEM_RDIMM_2D	:=	${DDR_PHY_BIN_PATH}/ddr4_rdimm2d_pmu_train_imem.bin
31*91f16700Schasingluluendif
32*91f16700Schasinglulu
33*91f16700Schasingluluifeq (${DDR_DMEM_RDIMM_1D},)
34*91f16700Schasinglulu    DDR_DMEM_RDIMM_1D	:=	${DDR_PHY_BIN_PATH}/ddr4_rdimm_pmu_train_dmem.bin
35*91f16700Schasingluluendif
36*91f16700Schasinglulu
37*91f16700Schasingluluifeq (${DDR_DMEM_RDIMM_2D},)
38*91f16700Schasinglulu    DDR_DMEM_RDIMM_2D	:=	${DDR_PHY_BIN_PATH}/ddr4_rdimm2d_pmu_train_dmem.bin
39*91f16700Schasingluluendif
40*91f16700Schasinglulu
41*91f16700Schasinglulu$(shell mkdir -p '${BUILD_PLAT}')
42*91f16700Schasinglulu
43*91f16700Schasingluluifeq (${DDR_FIP_NAME},)
44*91f16700Schasingluluifeq (${TRUSTED_BOARD_BOOT},1)
45*91f16700Schasinglulu	DDR_FIP_NAME	:= ddr_fip_sec.bin
46*91f16700Schasingluluelse
47*91f16700Schasinglulu	DDR_FIP_NAME	:= ddr_fip.bin
48*91f16700Schasingluluendif
49*91f16700Schasingluluendif
50*91f16700Schasinglulu
51*91f16700Schasingluluifneq (${TRUSTED_BOARD_BOOT},1)
52*91f16700Schasinglulu
53*91f16700SchasingluluDDR_FIP_ARGS += --ddr-immem-udimm-1d ${DDR_IMEM_UDIMM_1D} \
54*91f16700Schasinglulu		--ddr-immem-udimm-2d ${DDR_IMEM_UDIMM_2D} \
55*91f16700Schasinglulu		--ddr-dmmem-udimm-1d ${DDR_DMEM_UDIMM_1D} \
56*91f16700Schasinglulu		--ddr-dmmem-udimm-2d ${DDR_DMEM_UDIMM_2D} \
57*91f16700Schasinglulu		--ddr-immem-rdimm-1d ${DDR_IMEM_RDIMM_1D} \
58*91f16700Schasinglulu		--ddr-immem-rdimm-2d ${DDR_IMEM_RDIMM_2D} \
59*91f16700Schasinglulu		--ddr-dmmem-rdimm-1d ${DDR_DMEM_RDIMM_1D} \
60*91f16700Schasinglulu		--ddr-dmmem-rdimm-2d ${DDR_DMEM_RDIMM_2D}
61*91f16700Schasingluluendif
62*91f16700Schasinglulu
63*91f16700Schasinglulu
64*91f16700Schasingluluifeq (${TRUSTED_BOARD_BOOT},1)
65*91f16700Schasingluluifeq (${MBEDTLS_DIR},)
66*91f16700Schasingluluinclude plat/nxp/soc-lx2160a/ddr_sb.mk
67*91f16700Schasingluluelse
68*91f16700Schasingluluinclude plat/nxp/soc-lx2160a/ddr_tbbr.mk
69*91f16700Schasinglulu
70*91f16700Schasinglulu# Variables for use with Certificate Generation Tool
71*91f16700SchasingluluCRTTOOLPATH	?=	tools/cert_create
72*91f16700SchasingluluCRTTOOL		?=	${CRTTOOLPATH}/cert_create${BIN_EXT}
73*91f16700Schasinglulu
74*91f16700Schasingluluifneq (${GENERATE_COT},0)
75*91f16700Schasingluluddr_certificates: ${DDR_CRT_DEPS} ${CRTTOOL}
76*91f16700Schasinglulu	${Q}${CRTTOOL} ${DDR_CRT_ARGS}
77*91f16700Schasinglulu	@${ECHO_BLANK_LINE}
78*91f16700Schasinglulu	@echo "Built $@ successfully"
79*91f16700Schasinglulu	@echo "DDR certificates can be found in ${BUILD_PLAT}"
80*91f16700Schasinglulu	@${ECHO_BLANK_LINE}
81*91f16700Schasingluluendif
82*91f16700Schasingluluendif
83*91f16700Schasingluluendif
84*91f16700Schasinglulu
85*91f16700Schasinglulu# Variables for use with Firmware Image Package
86*91f16700SchasingluluFIPTOOLPATH	?=	tools/fiptool
87*91f16700SchasingluluFIPTOOL		?=	${FIPTOOLPATH}/fiptool${BIN_EXT}
88*91f16700Schasinglulu
89*91f16700Schasinglulu${BUILD_PLAT}/${DDR_FIP_NAME}: ${DDR_FIP_DEPS} ${FIPTOOL}
90*91f16700Schasinglulu	$(eval ${CHECK_DDR_FIP_CMD})
91*91f16700Schasinglulu	${Q}${FIPTOOL} create ${DDR_FIP_ARGS} $@
92*91f16700Schasinglulu	${Q}${FIPTOOL} info $@
93*91f16700Schasinglulu	@${ECHO_BLANK_LINE}
94*91f16700Schasinglulu	@echo "Built $@ successfully"
95*91f16700Schasinglulu	@${ECHO_BLANK_LINE}
96*91f16700Schasinglulu
97*91f16700Schasinglulufip_ddr: ${BUILD_PLAT}/${DDR_FIP_NAME}
98