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 mx7dclsom \ 32 33ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6ul-flavorlist))) 34$(call force,CFG_MX6,y) 35$(call force,CFG_MX6UL,y) 36$(call force,CFG_TEE_CORE_NB_CORE,1) 37include core/arch/arm/cpu/cortex-a7.mk 38else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6ull-flavorlist))) 39$(call force,CFG_MX6,y) 40$(call force,CFG_MX6ULL,y) 41$(call force,CFG_TEE_CORE_NB_CORE,1) 42include core/arch/arm/cpu/cortex-a7.mk 43else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6q-flavorlist))) 44$(call force,CFG_MX6,y) 45$(call force,CFG_MX6Q,y) 46$(call force,CFG_TEE_CORE_NB_CORE,4) 47else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6d-flavorlist))) 48$(call force,CFG_MX6,y) 49$(call force,CFG_MX6D,y) 50$(call force,CFG_TEE_CORE_NB_CORE,2) 51else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6dl-flavorlist))) 52$(call force,CFG_MX6,y) 53$(call force,CFG_MX6DL,y) 54$(call force,CFG_TEE_CORE_NB_CORE,2) 55else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6s-flavorlist))) 56$(call force,CFG_MX6,y) 57$(call force,CFG_MX6S,y) 58$(call force,CFG_TEE_CORE_NB_CORE,1) 59else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6sx-flavorlist))) 60$(call force,CFG_MX6,y) 61$(call force,CFG_MX6SX,y) 62$(call force,CFG_TEE_CORE_NB_CORE,1) 63else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx7-flavorlist))) 64$(call force,CFG_MX7,y) 65CFG_TEE_CORE_NB_CORE ?= 2 66include core/arch/arm/cpu/cortex-a7.mk 67else 68$(error Unsupported PLATFORM_FLAVOR "$(PLATFORM_FLAVOR)") 69endif 70 71ifneq (,$(filter $(PLATFORM_FLAVOR),mx7dsabresd)) 72CFG_DDR_SIZE ?= 0x40000000 73CFG_NS_ENTRY_ADDR ?= 0x80800000 74$(call force,CFG_TEE_CORE_NB_CORE,2) 75endif 76 77ifneq (,$(filter $(PLATFORM_FLAVOR),mx7dclsom)) 78CFG_DDR_SIZE ?= 0x40000000 79CFG_UART_BASE ?= UART1_BASE 80endif 81 82ifneq (,$(filter $(PLATFORM_FLAVOR),mx7swarp7)) 83CFG_DDR_SIZE ?= 0x20000000 84CFG_NS_ENTRY_ADDR ?= 0x80800000 85CFG_BOOT_SECONDARY_REQUEST ?= n 86$(call force,CFG_TEE_CORE_NB_CORE,1) 87endif 88 89ifneq (,$(filter $(PLATFORM_FLAVOR),mx6qsabresd mx6dlsabresd \ 90 mx6dlsabrelite mx6dhmbedge mx6dlhmbedge)) 91CFG_DDR_SIZE ?= 0x40000000 92CFG_NS_ENTRY_ADDR ?= 0x12000000 93endif 94 95ifneq (,$(filter $(PLATFORM_FLAVOR),mx6qhmbedge)) 96CFG_DDR_SIZE ?= 0x80000000 97CFG_UART_BASE ?= UART1_BASE 98endif 99 100ifneq (,$(filter $(PLATFORM_FLAVOR),mx6shmbedge)) 101CFG_DDR_SIZE ?= 0x40000000 102CFG_NS_ENTRY_ADDR ?= 0x12000000 103endif 104 105ifneq (,$(filter $(PLATFORM_FLAVOR),mx6qsabrelite mx6dlsabrelite)) 106CFG_DDR_SIZE ?= 0x40000000 107CFG_NS_ENTRY_ADDR ?= 0x12000000 108CFG_UART_BASE ?= UART2_BASE 109endif 110 111ifneq (,$(filter $(PLATFORM_FLAVOR),mx6sxsabreauto)) 112CFG_DDR_SIZE ?= 0x80000000 113CFG_NS_ENTRY_ADDR ?= 0x80800000 114endif 115 116ifneq (,$(filter $(PLATFORM_FLAVOR),mx6ulevk mx6ullevk)) 117CFG_DDR_SIZE ?= 0x20000000 118CFG_NS_ENTRY_ADDR ?= 0x80800000 119endif 120 121# i.MX6 Solo/SoloX/DualLite/Dual/Quad specific config 122ifeq ($(filter y, $(CFG_MX6Q) $(CFG_MX6D) $(CFG_MX6DL) $(CFG_MX6S) \ 123 $(CFG_MX6SX)), y) 124include core/arch/arm/cpu/cortex-a9.mk 125 126$(call force,CFG_PL310,y) 127 128CFG_PL310_LOCKED ?= y 129CFG_ENABLE_SCTLR_RR ?= y 130endif 131 132ifeq ($(filter y, $(CFG_MX6Q) $(CFG_MX6D) $(CFG_MX6DL) $(CFG_MX6S)), y) 133CFG_DRAM_BASE ?= 0x10000000 134endif 135 136ifneq (,$(filter y, $(CFG_MX6UL) $(CFG_MX6ULL) $(CFG_MX6SX))) 137CFG_DRAM_BASE ?= 0x80000000 138endif 139 140ifeq ($(filter y, $(CFG_MX7)), y) 141CFG_INIT_CNTVOFF ?= y 142CFG_DRAM_BASE ?= 0x80000000 143endif 144 145ifneq (,$(filter y, $(CFG_MX6) $(CFG_MX7))) 146$(call force,CFG_GENERIC_BOOT,y) 147$(call force,CFG_GIC,y) 148$(call force,CFG_IMX_UART,y) 149$(call force,CFG_PM_STUBS,y) 150$(call force,CFG_WITH_SOFTWARE_PRNG,y) 151 152CFG_BOOT_SYNC_CPU ?= n 153CFG_BOOT_SECONDARY_REQUEST ?= y 154CFG_CRYPTO_SIZE_OPTIMIZATION ?= n 155CFG_DT ?= y 156CFG_PAGEABLE_ADDR ?= 0 157CFG_PSCI_ARM32 ?= y 158CFG_SECURE_TIME_SOURCE_REE ?= y 159CFG_UART_BASE ?= UART1_BASE 160CFG_WITH_STACK_CANARIES ?= y 161 162CFG_TZDRAM_START ?= ($(CFG_DRAM_BASE) - 0x02000000 + $(CFG_DDR_SIZE)) 163CFG_TZDRAM_SIZE ?= 0x01e00000 164CFG_SHMEM_START ?= ($(CFG_TZDRAM_START) + $(CFG_TZDRAM_SIZE)) 165CFG_SHMEM_SIZE ?= 0x00200000 166 167ta-targets = ta_arm32 168endif 169 170ifeq ($(filter y, $(CFG_PSCI_ARM32)), y) 171CFG_HWSUPP_MEM_PERM_WXN = n 172CFG_IMX_WDOG ?= y 173endif 174 175CFG_MMAP_REGIONS ?= 24 176