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