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