1PLATFORM_FLAVOR ?= mx6ulevk 2 3# Get SoC associated with the PLATFORM_FLAVOR 4mx6ul-flavorlist = mx6ulevk 5mx6ull-flavorlist = mx6ullevk 6mx6q-flavorlist = mx6qsabrelite mx6qsabresd 7mx6sx-flavorlist = mx6sxsabreauto 8mx6d-flavorlist = 9mx6dl-flavorlist = mx6dlsabresd 10mx6s-flavorlist = 11mx7-flavorlist = mx7dsabresd mx7swarp7 12 13ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6ul-flavorlist))) 14$(call force,CFG_MX6UL,y) 15else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6ull-flavorlist))) 16$(call force,CFG_MX6ULL,y) 17else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6q-flavorlist))) 18$(call force,CFG_MX6Q,y) 19else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6d-flavorlist))) 20$(call force,CFG_MX6D,y) 21else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6dl-flavorlist))) 22$(call force,CFG_MX6DL,y) 23else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6s-flavorlist))) 24$(call force,CFG_MX6S,y) 25else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx6sx-flavorlist))) 26$(call force,CFG_MX6,y) 27$(call force,CFG_MX6SX,y) 28$(call force,CFG_IMX_UART,y) 29else ifneq (,$(filter $(PLATFORM_FLAVOR),$(mx7-flavorlist))) 30$(call force,CFG_MX7,y) 31else 32$(error Unsupported PLATFORM_FLAVOR "$(PLATFORM_FLAVOR)") 33endif 34 35ifneq (,$(filter $(PLATFORM_FLAVOR),mx7dsabresd)) 36CFG_DDR_SIZE ?= 0x40000000 37CFG_DT ?= y 38CFG_NS_ENTRY_ADDR ?= 0x80800000 39CFG_PSCI_ARM32 ?= y 40CFG_TEE_CORE_NB_CORE ?= 2 41endif 42 43ifneq (,$(filter $(PLATFORM_FLAVOR),mx7swarp7)) 44CFG_DDR_SIZE ?= 0x20000000 45CFG_DT ?= y 46CFG_NS_ENTRY_ADDR ?= 0x80800000 47CFG_PSCI_ARM32 ?= y 48CFG_TEE_CORE_NB_CORE ?= 1 49endif 50 51# Common i.MX6 config 52$(call force,CFG_GENERIC_BOOT,y) 53$(call force,CFG_GIC,y) 54$(call force,CFG_IMX_UART,y) 55$(call force,CFG_PM_STUBS,y) 56$(call force,CFG_WITH_SOFTWARE_PRNG,y) 57 58CFG_CRYPTO_SIZE_OPTIMIZATION ?= n 59CFG_WITH_STACK_CANARIES ?= y 60 61 62# i.MX6UL/ULL specific config 63ifneq (,$(filter y, $(CFG_MX6UL) $(CFG_MX6ULL))) 64include core/arch/arm/cpu/cortex-a7.mk 65 66$(call force,CFG_MX6,y) 67$(call force,CFG_SECURE_TIME_SOURCE_REE,y) 68endif 69 70 71# i.MX6 Solo/DualLite/Dual/Quad specific config 72ifeq ($(filter y, $(CFG_MX6Q) $(CFG_MX6D) $(CFG_MX6DL) $(CFG_MX6S) \ 73 $(CFG_MX6SX)), y) 74include core/arch/arm/cpu/cortex-a9.mk 75 76$(call force,CFG_MX6,y) 77$(call force,CFG_PL310,y) 78$(call force,CFG_SECURE_TIME_SOURCE_REE,y) 79 80CFG_PL310_LOCKED ?= y 81CFG_BOOT_SYNC_CPU ?= y 82CFG_BOOT_SECONDARY_REQUEST ?= y 83CFG_ENABLE_SCTLR_RR ?= y 84endif 85 86ifeq ($(filter y, $(CFG_MX7)), y) 87include core/arch/arm/cpu/cortex-a7.mk 88 89$(call force,CFG_SECURE_TIME_SOURCE_REE,y) 90CFG_BOOT_SECONDARY_REQUEST ?= y 91CFG_INIT_CNTVOFF ?= y 92endif 93 94ifneq (,$(filter $(PLATFORM_FLAVOR),mx6sxsabreauto)) 95CFG_PAGEABLE_ADDR ?= 0 96CFG_DDR_SIZE ?= 0x80000000 97CFG_DT ?= y 98CFG_NS_ENTRY_ADDR ?= 0x80800000 99CFG_PSCI_ARM32 ?= y 100CFG_BOOT_SYNC_CPU = n 101CFG_BOOT_SECONDARY_REQUEST = n 102CFG_TEE_CORE_NB_CORE ?= 1 103endif 104 105ifeq ($(filter y, $(CFG_PSCI_ARM32)), y) 106CFG_HWSUPP_MEM_PERM_WXN = n 107CFG_IMX_WDOG ?= y 108endif 109 110CFG_MMAP_REGIONS ?= 24 111 112ta-targets = ta_arm32 113