blob: c1f14dc1422f7680c922fed11dcd5acff1508806 [file] [log] [blame]
Pankaj Guptae64a7a52020-12-09 14:02:41 +05301#
2# Copyright 2020 NXP
Chris Kayfaab7482025-01-13 15:57:32 +00003# Copyright (c) 2025, Arm Limited and Contributors. All rights reserved.
Pankaj Guptae64a7a52020-12-09 14:02:41 +05304#
5# SPDX-License-Identifier: BSD-3-Clause
6#
7
8DDR_PHY_BIN_PATH ?= ./ddr-phy-binary/lx2160a
9
10ifeq (${DDR_IMEM_UDIMM_1D},)
11 DDR_IMEM_UDIMM_1D := ${DDR_PHY_BIN_PATH}/ddr4_pmu_train_imem.bin
12endif
13
14ifeq (${DDR_IMEM_UDIMM_2D},)
15 DDR_IMEM_UDIMM_2D := ${DDR_PHY_BIN_PATH}/ddr4_2d_pmu_train_imem.bin
16endif
17
18ifeq (${DDR_DMEM_UDIMM_1D},)
19 DDR_DMEM_UDIMM_1D := ${DDR_PHY_BIN_PATH}/ddr4_pmu_train_dmem.bin
20endif
21
22ifeq (${DDR_DMEM_UDIMM_2D},)
23 DDR_DMEM_UDIMM_2D := ${DDR_PHY_BIN_PATH}/ddr4_2d_pmu_train_dmem.bin
24endif
25
26ifeq (${DDR_IMEM_RDIMM_1D},)
27 DDR_IMEM_RDIMM_1D := ${DDR_PHY_BIN_PATH}/ddr4_rdimm_pmu_train_imem.bin
28endif
29
30ifeq (${DDR_IMEM_RDIMM_2D},)
31 DDR_IMEM_RDIMM_2D := ${DDR_PHY_BIN_PATH}/ddr4_rdimm2d_pmu_train_imem.bin
32endif
33
34ifeq (${DDR_DMEM_RDIMM_1D},)
35 DDR_DMEM_RDIMM_1D := ${DDR_PHY_BIN_PATH}/ddr4_rdimm_pmu_train_dmem.bin
36endif
37
38ifeq (${DDR_DMEM_RDIMM_2D},)
39 DDR_DMEM_RDIMM_2D := ${DDR_PHY_BIN_PATH}/ddr4_rdimm2d_pmu_train_dmem.bin
40endif
41
Pankaj Guptae64a7a52020-12-09 14:02:41 +053042ifeq (${DDR_FIP_NAME},)
43ifeq (${TRUSTED_BOARD_BOOT},1)
44 DDR_FIP_NAME := ddr_fip_sec.bin
45else
46 DDR_FIP_NAME := ddr_fip.bin
47endif
48endif
49
50ifneq (${TRUSTED_BOARD_BOOT},1)
51
52DDR_FIP_ARGS += --ddr-immem-udimm-1d ${DDR_IMEM_UDIMM_1D} \
53 --ddr-immem-udimm-2d ${DDR_IMEM_UDIMM_2D} \
54 --ddr-dmmem-udimm-1d ${DDR_DMEM_UDIMM_1D} \
55 --ddr-dmmem-udimm-2d ${DDR_DMEM_UDIMM_2D} \
56 --ddr-immem-rdimm-1d ${DDR_IMEM_RDIMM_1D} \
57 --ddr-immem-rdimm-2d ${DDR_IMEM_RDIMM_2D} \
58 --ddr-dmmem-rdimm-1d ${DDR_DMEM_RDIMM_1D} \
59 --ddr-dmmem-rdimm-2d ${DDR_DMEM_RDIMM_2D}
60endif
61
62
63ifeq (${TRUSTED_BOARD_BOOT},1)
64ifeq (${MBEDTLS_DIR},)
65include plat/nxp/soc-lx2160a/ddr_sb.mk
66else
67include plat/nxp/soc-lx2160a/ddr_tbbr.mk
68
69# Variables for use with Certificate Generation Tool
70CRTTOOLPATH ?= tools/cert_create
Chris Kayfaab7482025-01-13 15:57:32 +000071CRTTOOL ?= ${CRTTOOLPATH}/cert_create$(.exe)
Pankaj Guptae64a7a52020-12-09 14:02:41 +053072
73ifneq (${GENERATE_COT},0)
74ddr_certificates: ${DDR_CRT_DEPS} ${CRTTOOL}
Chris Kay1870c722024-05-02 17:52:37 +000075 $(q)${CRTTOOL} ${DDR_CRT_ARGS}
76 $(s)echo
77 $(s)echo "Built $@ successfully"
78 $(s)echo "DDR certificates can be found in ${BUILD_PLAT}"
79 $(s)echo
Pankaj Guptae64a7a52020-12-09 14:02:41 +053080endif
81endif
82endif
83
84# Variables for use with Firmware Image Package
85FIPTOOLPATH ?= tools/fiptool
Chris Kayfaab7482025-01-13 15:57:32 +000086FIPTOOL ?= ${FIPTOOLPATH}/fiptool$(.exe)
Pankaj Guptae64a7a52020-12-09 14:02:41 +053087
88${BUILD_PLAT}/${DDR_FIP_NAME}: ${DDR_FIP_DEPS} ${FIPTOOL}
89 $(eval ${CHECK_DDR_FIP_CMD})
Chris Kay1870c722024-05-02 17:52:37 +000090 $(q)${FIPTOOL} create ${DDR_FIP_ARGS} $@
91 $(q)${FIPTOOL} info $@
92 $(s)echo
93 $(s)echo "Built $@ successfully"
94 $(s)echo
Pankaj Guptae64a7a52020-12-09 14:02:41 +053095
96fip_ddr: ${BUILD_PLAT}/${DDR_FIP_NAME}