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