2 # SPDX-License-Identifier: GPL-2.0+
5 ifeq ($(CONFIG_SPL_BUILD
)$(CONFIG_TEGRA
),yy
)
10 # This selects which instruction set is used.
11 arch-
$(CONFIG_CPU_ARM720T
) =-march
=armv4
12 arch-
$(CONFIG_CPU_ARM920T
) =-march
=armv4t
13 arch-
$(CONFIG_CPU_ARM926EJS
) =-march
=armv5te
14 arch-
$(CONFIG_CPU_ARM946ES
) =-march
=armv5te
15 arch-
$(CONFIG_CPU_SA1100
) =-march
=armv4
16 arch-
$(CONFIG_CPU_PXA
) =
17 arch-
$(CONFIG_CPU_ARM1136
) =-march
=armv5
18 arch-
$(CONFIG_CPU_ARM1176
) =-march
=armv5t
19 arch-
$(CONFIG_CPU_V7
) =$(call cc-option
, -march
=armv7-a
, \
20 $(call cc-option
, -march
=armv7
, -march
=armv5
))
21 arch-
$(CONFIG_ARM64
) =-march
=armv8-a
23 # On Tegra systems we must build SPL for the armv4 core on the device
24 # but otherwise we can use the value in CONFIG_SYS_ARM_ARCH
25 ifeq ($(CONFIG_SPL_BUILD
)$(CONFIG_TEGRA
),yy
)
26 arch-y
+= -D__LINUX_ARM_ARCH__
=4
28 arch-y
+= -D__LINUX_ARM_ARCH__
=$(CONFIG_SYS_ARM_ARCH
)
31 # Evaluate arch cc-option calls now
34 # This selects how we optimise for the processor.
35 tune-
$(CONFIG_CPU_ARM720T
) =-mtune
=arm7tdmi
36 tune-
$(CONFIG_CPU_ARM920T
) =
37 tune-
$(CONFIG_CPU_ARM926EJS
) =
38 tune-
$(CONFIG_CPU_ARM946ES
) =
39 tune-
$(CONFIG_CPU_SA1100
) =-mtune
=strongarm1100
40 tune-
$(CONFIG_CPU_PXA
) =-mcpu
=xscale
41 tune-
$(CONFIG_CPU_ARM1136
) =
42 tune-
$(CONFIG_CPU_ARM1176
) =
43 tune-
$(CONFIG_CPU_V7
) =
44 tune-
$(CONFIG_ARM64
) =
46 # Evaluate tune cc-option calls now
49 PLATFORM_CPPFLAGS
+= $(arch-y
) $(tune-y
)
51 # Machine directory name. This list is sorted alphanumerically
52 # by CONFIG_* macro name.
53 machine-
$(CONFIG_ARCH_AT91
) += at91
54 machine-
$(CONFIG_ARCH_BCM283X
) += bcm283x
55 machine-
$(CONFIG_ARCH_DAVINCI
) += davinci
56 machine-
$(CONFIG_ARCH_EXYNOS
) += exynos
57 machine-
$(CONFIG_ARCH_HIGHBANK
) += highbank
58 machine-
$(CONFIG_ARCH_KEYSTONE
) += keystone
59 # TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD
60 machine-
$(CONFIG_KIRKWOOD
) += kirkwood
61 machine-
$(CONFIG_ARCH_MESON
) += meson
62 machine-
$(CONFIG_ARCH_MVEBU
) += mvebu
63 # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA
64 # TODO: rename CONFIG_ORION5X -> CONFIG_ARCH_ORION5X
65 machine-
$(CONFIG_ORION5X
) += orion5x
66 machine-
$(CONFIG_ARCH_S5PC1XX
) += s5pc1xx
67 machine-
$(CONFIG_ARCH_SUNXI
) += sunxi
68 machine-
$(CONFIG_ARCH_SNAPDRAGON
) += snapdragon
69 machine-
$(CONFIG_ARCH_SOCFPGA
) += socfpga
70 machine-
$(CONFIG_ARCH_RMOBILE
) += rmobile
71 machine-
$(CONFIG_ARCH_ROCKCHIP
) += rockchip
72 machine-
$(CONFIG_STM32
) += stm32
73 machine-
$(CONFIG_TEGRA
) += tegra
74 machine-
$(CONFIG_ARCH_UNIPHIER
) += uniphier
75 machine-
$(CONFIG_ARCH_ZYNQ
) += zynq
77 machdirs
:= $(patsubst %,arch
/arm
/mach-
%/,$(machine-y
))
79 PLATFORM_CPPFLAGS
+= $(patsubst %,-I
$(srctree
)/%include,$(machdirs
))
83 head-y
:= arch
/arm
/cpu
/$(CPU
)/start.o
85 ifeq ($(CONFIG_SPL_BUILD
),y
)
86 ifneq ($(CONFIG_SPL_START_S_PATH
),)
87 head-y
:= $(CONFIG_SPL_START_S_PATH
:"%"=%)/start.o
91 libs-y
+= arch
/arm
/cpu
/$(CPU
)/
92 libs-y
+= arch
/arm
/cpu
/
93 libs-y
+= arch
/arm
/lib
/
95 ifeq ($(CONFIG_SPL_BUILD
),y
)
96 ifneq (,$(CONFIG_MX23
)$(CONFIG_MX28
)$(CONFIG_MX35
)$(filter $(SOC
), mx25 mx27 mx5 mx6 mx7 mx31 mx35
))
97 libs-y
+= arch
/arm
/imx-common
/
100 ifneq (,$(filter $(SOC
), mx25 mx27 mx5 mx6 mx7 mx31 mx35 mxs vf610
))
101 libs-y
+= arch
/arm
/imx-common
/
105 ifneq (,$(filter $(SOC
), kirkwood
))
106 libs-y
+= arch
/arm
/mach-mvebu
/
110 -include $(machdirs
)/config.mk