1# 2# SPDX-License-Identifier: GPL-2.0+ 3# 4 5# This selects which instruction set is used. 6arch-$(CONFIG_CPU_ARM720T) =-march=armv4 7arch-$(CONFIG_CPU_ARM920T) =-march=armv4 8arch-$(CONFIG_CPU_ARM926EJS) =-march=armv5te 9arch-$(CONFIG_CPU_ARM946ES) =-march=armv4 10arch-$(CONFIG_CPU_SA1100) =-march=armv4 11arch-$(CONFIG_CPU_PXA) = 12arch-$(CONFIG_CPU_ARM1136) =-march=armv5 13arch-$(CONFIG_CPU_ARM1176) =-march=armv5t 14arch-$(CONFIG_CPU_V7) =$(call cc-option, -march=armv7-a, -march=armv5) 15arch-$(CONFIG_ARM64) =-march=armv8-a 16 17# Evaluate arch cc-option calls now 18arch-y := $(arch-y) 19 20# This selects how we optimise for the processor. 21tune-$(CONFIG_CPU_ARM720T) =-mtune=arm7tdmi 22tune-$(CONFIG_CPU_ARM920T) = 23tune-$(CONFIG_CPU_ARM926EJS) = 24tune-$(CONFIG_CPU_ARM946ES) = 25tune-$(CONFIG_CPU_SA1100) =-mtune=strongarm1100 26tune-$(CONFIG_CPU_PXA) =-mcpu=xscale 27tune-$(CONFIG_CPU_ARM1136) = 28tune-$(CONFIG_CPU_ARM1176) = 29tune-$(CONFIG_CPU_V7) = 30tune-$(CONFIG_ARM64) = 31 32# Evaluate tune cc-option calls now 33tune-y := $(tune-y) 34 35PLATFORM_CPPFLAGS += $(arch-y) $(tune-y) 36 37# Machine directory name. This list is sorted alphanumerically 38# by CONFIG_* macro name. 39machine-$(CONFIG_ARCH_AT91) += at91 40machine-$(CONFIG_ARCH_BCM283X) += bcm283x 41machine-$(CONFIG_ARCH_DAVINCI) += davinci 42machine-$(CONFIG_ARCH_HIGHBANK) += highbank 43machine-$(CONFIG_ARCH_KEYSTONE) += keystone 44# TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD 45machine-$(CONFIG_KIRKWOOD) += kirkwood 46# TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA 47machine-$(CONFIG_ARCH_NOMADIK) += nomadik 48# TODO: rename CONFIG_ORION5X -> CONFIG_ARCH_ORION5X 49machine-$(CONFIG_ORION5X) += orion5x 50machine-$(CONFIG_TEGRA) += tegra 51machine-$(CONFIG_ARCH_UNIPHIER) += uniphier 52machine-$(CONFIG_ARCH_VERSATILE) += versatile 53 54machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) 55 56PLATFORM_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs)) 57 58libs-y += $(machdirs) 59 60head-y := arch/arm/cpu/$(CPU)/start.o 61 62ifeq ($(CONFIG_SPL_BUILD),y) 63ifneq ($(CONFIG_SPL_START_S_PATH),) 64head-y := $(CONFIG_SPL_START_S_PATH:"%"=%)/start.o 65endif 66endif 67 68libs-y += arch/arm/cpu/$(CPU)/ 69libs-y += arch/arm/cpu/ 70libs-y += arch/arm/lib/ 71 72ifeq ($(CONFIG_SPL_BUILD),y) 73ifneq (,$(CONFIG_MX23)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35)) 74libs-y += arch/arm/imx-common/ 75endif 76else 77ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35 mxs vf610)) 78libs-y += arch/arm/imx-common/ 79endif 80endif 81 82ifneq (,$(filter $(SOC), armada-xp kirkwood)) 83libs-y += arch/arm/mvebu-common/ 84endif 85 86# deprecated 87-include $(machdirs)/config.mk 88