soc.def 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #
  2. # Copyright (c) 2015, 2016 Freescale Semiconductor, Inc.
  3. # Copyright 2017-2022 NXP Semiconductors
  4. #
  5. # SPDX-License-Identifier: BSD-3-Clause
  6. #
  7. #
  8. #------------------------------------------------------------------------------
  9. #
  10. # This file contains the basic architecture definitions that drive the build
  11. #
  12. # -----------------------------------------------------------------------------
  13. CORE_TYPE := a72
  14. CACHE_LINE := 6
  15. # set to GIC400 or GIC500
  16. GIC := GIC500
  17. # set to CCI400 or CCN504 or CCN508
  18. INTERCONNECT := CCN508
  19. # indicate layerscape chassis level - set to 3=LSCH3 or 2=LSCH2
  20. CHASSIS := 3_2
  21. # TZC IP Details TZC used is TZC380 or TZC400
  22. TZC_ID := TZC400
  23. # CONSOLE Details available is NS16550 or PL011
  24. CONSOLE := PL011
  25. # Select the DDR PHY generation to be used
  26. PLAT_DDR_PHY := PHY_GEN2
  27. PHYS_SYS := 64
  28. # Area of OCRAM reserved by ROM code
  29. NXP_ROM_RSVD := 0xa000
  30. # Max Size of CSF header. Required to define BL2 TEXT LIMIT in soc.def
  31. # Input to CST create_hdr_esbc tool
  32. CSF_HDR_SZ := 0x3000
  33. NXP_SFP_VER := 3_4
  34. # In IMAGE_BL2, compile time flag for handling Cache coherency
  35. # with CAAM for BL2 running from OCRAM
  36. SEC_MEM_NON_COHERENT := yes
  37. # Defining the endianness for NXP ESDHC
  38. NXP_ESDHC_ENDIANNESS := LE
  39. # Defining the endianness for NXP SFP
  40. NXP_SFP_ENDIANNESS := LE
  41. # Defining the endianness for NXP GPIO
  42. NXP_GPIO_ENDIANNESS := LE
  43. # Defining the endianness for NXP SNVS
  44. NXP_SNVS_ENDIANNESS := LE
  45. # Defining the endianness for NXP CCSR GUR register
  46. NXP_GUR_ENDIANNESS := LE
  47. # Defining the endianness for NXP FSPI register
  48. NXP_FSPI_ENDIANNESS := LE
  49. # Defining the endianness for NXP SEC
  50. NXP_SEC_ENDIANNESS := LE
  51. # Defining the endianness for NXP DDR
  52. NXP_DDR_ENDIANNESS := LE
  53. NXP_DDR_INTLV_256B := 1
  54. # OCRAM MAP for BL2
  55. # Before BL2
  56. # 0x18000000 - 0x18009fff -> Used by ROM code
  57. # 0x1800a000 - 0x1800dfff -> CSF header for BL2
  58. # (The above area i.e 0x18000000 - 0x1800dfff is available
  59. # for DDR PHY images scratch pad region during BL2 run time)
  60. # For FlexSPI boot
  61. # 0x1800e000 - 0x18040000 -> Reserved for BL2 binary
  62. # For SD boot
  63. # 0x1800e000 - 0x18030000 -> Reserved for BL2 binary
  64. # 0x18030000 - 0x18040000 -> Reserved for SD buffer
  65. OCRAM_START_ADDR := 0x18000000
  66. OCRAM_SIZE := 0x40000
  67. # Location of BL2 on OCRAM
  68. BL2_BASE_ADDR := $(shell echo $$(( $(OCRAM_START_ADDR) + $(NXP_ROM_RSVD) + $(CSF_HDR_SZ) )))
  69. # Covert to HEX to be used by create_pbl.mk
  70. BL2_BASE := $(shell echo "0x"$$(echo "obase=16; ${BL2_BASE_ADDR}" | bc))
  71. # BL2_HDR_LOC is at (OCRAM_ADDR + NXP_ROM_RSVD)
  72. # This value BL2_HDR_LOC + CSF_HDR_SZ should not overalp with BL2_BASE
  73. BL2_HDR_LOC_HDR ?= $(shell echo $$(( $(OCRAM_START_ADDR) + $(NXP_ROM_RSVD) )))
  74. # Covert to HEX to be used by create_pbl.mk
  75. BL2_HDR_LOC := $$(echo "obase=16; ${BL2_HDR_LOC_HDR}" | bc)
  76. # SoC ERRATAS to be enabled
  77. #
  78. # Core Errata
  79. ERRATA_A72_859971 := 1
  80. # SoC Errata
  81. ERRATA_SOC_A050426 := 1
  82. # DDR Errata
  83. ERRATA_DDR_A011396 := 1
  84. ERRATA_DDR_A050450 := 1
  85. ERRATA_DDR_A050958 := 1
  86. # enable dynamic memory mapping
  87. PLAT_XLAT_TABLES_DYNAMIC := 1
  88. # OCRAM ECC Enabled
  89. OCRAM_ECC_EN := yes