123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- #
- # Copyright (c) 2015, 2016 Freescale Semiconductor, Inc.
- # Copyright 2017-2022 NXP Semiconductors
- #
- # SPDX-License-Identifier: BSD-3-Clause
- #
- #
- #------------------------------------------------------------------------------
- #
- # This file contains the basic architecture definitions that drive the build
- #
- # -----------------------------------------------------------------------------
- CORE_TYPE := a72
- CACHE_LINE := 6
- # set to GIC400 or GIC500
- GIC := GIC500
- # set to CCI400 or CCN504 or CCN508
- INTERCONNECT := CCN508
- # indicate layerscape chassis level - set to 3=LSCH3 or 2=LSCH2
- CHASSIS := 3_2
- # TZC IP Details TZC used is TZC380 or TZC400
- TZC_ID := TZC400
- # CONSOLE Details available is NS16550 or PL011
- CONSOLE := PL011
- # Select the DDR PHY generation to be used
- PLAT_DDR_PHY := PHY_GEN2
- PHYS_SYS := 64
- # Area of OCRAM reserved by ROM code
- NXP_ROM_RSVD := 0xa000
- # Max Size of CSF header. Required to define BL2 TEXT LIMIT in soc.def
- # Input to CST create_hdr_esbc tool
- CSF_HDR_SZ := 0x3000
- NXP_SFP_VER := 3_4
- # In IMAGE_BL2, compile time flag for handling Cache coherency
- # with CAAM for BL2 running from OCRAM
- SEC_MEM_NON_COHERENT := yes
- # Defining the endianness for NXP ESDHC
- NXP_ESDHC_ENDIANNESS := LE
- # Defining the endianness for NXP SFP
- NXP_SFP_ENDIANNESS := LE
- # Defining the endianness for NXP GPIO
- NXP_GPIO_ENDIANNESS := LE
- # Defining the endianness for NXP SNVS
- NXP_SNVS_ENDIANNESS := LE
- # Defining the endianness for NXP CCSR GUR register
- NXP_GUR_ENDIANNESS := LE
- # Defining the endianness for NXP FSPI register
- NXP_FSPI_ENDIANNESS := LE
- # Defining the endianness for NXP SEC
- NXP_SEC_ENDIANNESS := LE
- # Defining the endianness for NXP DDR
- NXP_DDR_ENDIANNESS := LE
- NXP_DDR_INTLV_256B := 1
- # OCRAM MAP for BL2
- # Before BL2
- # 0x18000000 - 0x18009fff -> Used by ROM code
- # 0x1800a000 - 0x1800dfff -> CSF header for BL2
- # (The above area i.e 0x18000000 - 0x1800dfff is available
- # for DDR PHY images scratch pad region during BL2 run time)
- # For FlexSPI boot
- # 0x1800e000 - 0x18040000 -> Reserved for BL2 binary
- # For SD boot
- # 0x1800e000 - 0x18030000 -> Reserved for BL2 binary
- # 0x18030000 - 0x18040000 -> Reserved for SD buffer
- OCRAM_START_ADDR := 0x18000000
- OCRAM_SIZE := 0x40000
- # Location of BL2 on OCRAM
- BL2_BASE_ADDR := $(shell echo $$(( $(OCRAM_START_ADDR) + $(NXP_ROM_RSVD) + $(CSF_HDR_SZ) )))
- # Covert to HEX to be used by create_pbl.mk
- BL2_BASE := $(shell echo "0x"$$(echo "obase=16; ${BL2_BASE_ADDR}" | bc))
- # BL2_HDR_LOC is at (OCRAM_ADDR + NXP_ROM_RSVD)
- # This value BL2_HDR_LOC + CSF_HDR_SZ should not overalp with BL2_BASE
- BL2_HDR_LOC_HDR ?= $(shell echo $$(( $(OCRAM_START_ADDR) + $(NXP_ROM_RSVD) )))
- # Covert to HEX to be used by create_pbl.mk
- BL2_HDR_LOC := $$(echo "obase=16; ${BL2_HDR_LOC_HDR}" | bc)
- # SoC ERRATAS to be enabled
- #
- # Core Errata
- ERRATA_A72_859971 := 1
- # SoC Errata
- ERRATA_SOC_A050426 := 1
- # DDR Errata
- ERRATA_DDR_A011396 := 1
- ERRATA_DDR_A050450 := 1
- ERRATA_DDR_A050958 := 1
- # enable dynamic memory mapping
- PLAT_XLAT_TABLES_DYNAMIC := 1
- # OCRAM ECC Enabled
- OCRAM_ECC_EN := yes
|