1PLATFORM_FLAVOR ?= mx6ulevk 2 3# Get SoC associated with the PLATFORM_FLAVOR 4mx6ul-flavorlist = \ 5 mx6ulevk \ 6 7mx6ull-flavorlist = \ 8 mx6ullevk \ 9 10mx6q-flavorlist = \ 11 mx6qsabrelite \ 12 mx6qsabresd \ 13 mx6qhmbedge \ 14 15mx6sx-flavorlist = \ 16 mx6sxsabreauto \ 17 18mx6d-flavorlist = \ 19 mx6dhmbedge \ 20 21mx6dl-flavorlist = \ 22 mx6dlsabresd \ 23 mx6dlhmbedge \ 24 25mx6s-flavorlist = \ 26 mx6shmbedge \ 27 28mx7-flavorlist = \ 29 mx7dsabresd \ 30 mx7swarp7 \ 31 32ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6ul-flavorlist))) 33$(call force,CFG_MX6UL,y) 34else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6ull-flavorlist))) 35$(call force,CFG_MX6ULL,y) 36else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6q-flavorlist))) 37$(call force,CFG_MX6Q,y) 38else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6d-flavorlist))) 39$(call force,CFG_MX6D,y) 40else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6dl-flavorlist))) 41$(call force,CFG_MX6DL,y) 42else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6s-flavorlist))) 43$(call force,CFG_MX6S,y) 44else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6sx-flavorlist))) 45$(call force,CFG_MX6,y) 46$(call force,CFG_MX6SX,y) 47$(call force,CFG_IMX_UART,y) 48else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx7-flavorlist))) 49$(call force,CFG_MX7,y) 50else 51$(error Unsupported PLATFORM_FLAVOR "$(PLATFORM_FLAVOR)") 52endif 53 54ifneq (,$(filter $(PLATFORM_FLAVOR),mx7dsabresd)) 55CFG_DDR_SIZE ?= 0x40000000 56CFG_DT ?= y 57CFG_NS_ENTRY_ADDR ?= 0x80800000 58CFG_PSCI_ARM32 ?= y 59$(call force,CFG_TEE_CORE_NB_CORE,2) 60endif 61 62ifneq (,$(filter $(PLATFORM_FLAVOR),mx7swarp7)) 63CFG_DDR_SIZE ?= 0x20000000 64CFG_DT ?= y 65CFG_NS_ENTRY_ADDR ?= 0x80800000 66CFG_PSCI_ARM32 ?= y 67$(call force,CFG_TEE_CORE_NB_CORE,1) 68endif 69 70# Common i.MX6 config 71$(call force,CFG_GENERIC_BOOT,y) 72$(call force,CFG_GIC,y) 73$(call force,CFG_IMX_UART,y) 74$(call force,CFG_PM_STUBS,y) 75$(call force,CFG_WITH_SOFTWARE_PRNG,y) 76 77CFG_CRYPTO_SIZE_OPTIMIZATION ?= n 78CFG_WITH_STACK_CANARIES ?= y 79 80 81# i.MX6UL/ULL specific config 82ifneq (,$(filter y, $(CFG_MX6UL) $(CFG_MX6ULL))) 83include core/arch/arm/cpu/cortex-a7.mk 84 85$(call force,CFG_MX6,y) 86$(call force,CFG_SECURE_TIME_SOURCE_REE,y) 87 88CFG_DDR_TEETZ_RESERVED_START ?= 0x9E000000 89CFG_TZDRAM_START ?= $(CFG_DDR_TEETZ_RESERVED_START) 90CFG_TZDRAM_SIZE ?= 0x01E00000 91CFG_SHMEM_START ?= ($(CFG_TZDRAM_START) + $(CFG_TZDRAM_SIZE)) 92CFG_SHMEM_SIZE ?= 0x00200000 93endif 94 95 96# i.MX6 Solo/SoloX/DualLite/Dual/Quad specific config 97ifeq ($(filter y, $(CFG_MX6Q) $(CFG_MX6D) $(CFG_MX6DL) $(CFG_MX6S) \ 98 $(CFG_MX6SX)), y) 99include core/arch/arm/cpu/cortex-a9.mk 100 101$(call force,CFG_MX6,y) 102$(call force,CFG_PL310,y) 103$(call force,CFG_SECURE_TIME_SOURCE_REE,y) 104 105CFG_PL310_LOCKED ?= y 106CFG_BOOT_SYNC_CPU ?= y 107CFG_BOOT_SECONDARY_REQUEST ?= y 108CFG_ENABLE_SCTLR_RR ?= y 109endif 110 111# i.MX6 Solo/DualLite/Dual/Quad specific config 112ifeq ($(filter y, $(CFG_MX6Q) $(CFG_MX6D) $(CFG_MX6DL) $(CFG_MX6S)), y) 113CFG_TZDRAM_START ?= 0x4E000000 114CFG_TZDRAM_SIZE ?= 0x01F00000 115CFG_SHMEM_START ?= ($(CFG_TZDRAM_START) + $(CFG_TZDRAM_SIZE)) 116CFG_SHMEM_SIZE ?= 0x00100000 117endif 118 119# i.MX6 SoloX specific config 120ifeq ($(filter y, $(CFG_MX6SX)), y) 121CFG_TZDRAM_START ?= (0x80000000 + $(CFG_DDR_SIZE) - 0x02000000) 122CFG_TZDRAM_SIZE ?= 0x01e00000 123CFG_SHMEM_START ?= ($(CFG_TZDRAM_START) + $(CFG_TZDRAM_SIZE)) 124CFG_SHMEM_SIZE ?= 0x00200000 125endif 126 127ifeq ($(filter y, $(CFG_MX7)), y) 128include core/arch/arm/cpu/cortex-a7.mk 129 130$(call force,CFG_SECURE_TIME_SOURCE_REE,y) 131CFG_BOOT_SECONDARY_REQUEST ?= y 132CFG_INIT_CNTVOFF ?= y 133 134CFG_TZDRAM_START ?= (0x80000000 + $(CFG_DDR_SIZE) - 0x02000000) 135CFG_TZDRAM_SIZE ?= 0x01e00000 136CFG_SHMEM_START ?= ($(CFG_TZDRAM_START) + $(CFG_TZDRAM_SIZE)) 137CFG_SHMEM_SIZE ?= 0x00200000 138endif 139 140ifneq (,$(filter $(PLATFORM_FLAVOR),mx6sxsabreauto)) 141CFG_PAGEABLE_ADDR ?= 0 142CFG_DDR_SIZE ?= 0x80000000 143CFG_DT ?= y 144CFG_NS_ENTRY_ADDR ?= 0x80800000 145CFG_PSCI_ARM32 ?= y 146CFG_BOOT_SYNC_CPU = n 147CFG_BOOT_SECONDARY_REQUEST = n 148$(call force,CFG_TEE_CORE_NB_CORE,1) 149endif 150 151ifeq ($(filter y, $(CFG_PSCI_ARM32)), y) 152CFG_HWSUPP_MEM_PERM_WXN = n 153CFG_IMX_WDOG ?= y 154endif 155 156CFG_MMAP_REGIONS ?= 24 157 158ta-targets = ta_arm32 159