]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | # SPDX-License-Identifier: GPL-2.0+ |
e19db555 | 2 | |
bef9fdbe | 3 | ifeq ($(CONFIG_XPL_BUILD)$(CONFIG_ARCH_TEGRA),yy) |
acf15001 | 4 | CONFIG_CPU_V7A= |
bf71a29c MY |
5 | CONFIG_CPU_ARM720T=y |
6 | endif | |
7 | ||
79d75d75 MY |
8 | # This selects which instruction set is used. |
9 | arch-$(CONFIG_CPU_ARM720T) =-march=armv4 | |
02499e4e | 10 | arch-$(CONFIG_CPU_ARM920T) =-march=armv4t |
79d75d75 | 11 | arch-$(CONFIG_CPU_ARM926EJS) =-march=armv5te |
626f6e4f | 12 | arch-$(CONFIG_CPU_ARM946ES) =-march=armv5te |
0c5c3f29 HS |
13 | arch-$(CONFIG_CPU_ARM1136) =-march=armv5t |
14 | arch-$(CONFIG_CPU_ARM1176) =-march=armv5t | |
acf15001 | 15 | arch-$(CONFIG_CPU_V7A) =$(call cc-option, -march=armv7-a, \ |
de39dc71 | 16 | $(call cc-option, -march=armv7)) |
ea37f0b3 | 17 | arch-$(CONFIG_CPU_V7M) =-march=armv7-m |
4bbd6b1d | 18 | arch-$(CONFIG_CPU_V7R) =-march=armv7-r |
270f8710 MV |
19 | ifeq ($(CONFIG_ARM64_CRC32),y) |
20 | arch-$(CONFIG_ARM64) =-march=armv8-a+crc | |
21 | else | |
79d75d75 | 22 | arch-$(CONFIG_ARM64) =-march=armv8-a |
270f8710 | 23 | endif |
79d75d75 | 24 | |
a78cd861 TR |
25 | # On Tegra systems we must build SPL for the armv4 core on the device |
26 | # but otherwise we can use the value in CONFIG_SYS_ARM_ARCH | |
bef9fdbe | 27 | ifeq ($(CONFIG_XPL_BUILD)$(CONFIG_ARCH_TEGRA),yy) |
a78cd861 TR |
28 | arch-y += -D__LINUX_ARM_ARCH__=4 |
29 | else | |
30 | arch-y += -D__LINUX_ARM_ARCH__=$(CONFIG_SYS_ARM_ARCH) | |
31 | endif | |
32 | ||
79d75d75 MY |
33 | # Evaluate arch cc-option calls now |
34 | arch-y := $(arch-y) | |
35 | ||
36 | # This selects how we optimise for the processor. | |
37 | tune-$(CONFIG_CPU_ARM720T) =-mtune=arm7tdmi | |
38 | tune-$(CONFIG_CPU_ARM920T) = | |
39 | tune-$(CONFIG_CPU_ARM926EJS) = | |
40 | tune-$(CONFIG_CPU_ARM946ES) = | |
79d75d75 MY |
41 | tune-$(CONFIG_CPU_ARM1136) = |
42 | tune-$(CONFIG_CPU_ARM1176) = | |
de39dc71 | 43 | tune-$(CONFIG_CPU_V7A) =-mtune=generic-armv7-a |
4bbd6b1d | 44 | tune-$(CONFIG_CPU_V7R) = |
79d75d75 MY |
45 | tune-$(CONFIG_ARM64) = |
46 | ||
47 | # Evaluate tune cc-option calls now | |
48 | tune-y := $(tune-y) | |
49 | ||
50 | PLATFORM_CPPFLAGS += $(arch-y) $(tune-y) | |
51 | ||
01f14456 MY |
52 | # Machine directory name. This list is sorted alphanumerically |
53 | # by CONFIG_* macro name. | |
003b657e | 54 | machine-$(CONFIG_ARCH_APPLE) += apple |
4697abea | 55 | machine-$(CONFIG_ARCH_ASPEED) += aspeed |
62011840 | 56 | machine-$(CONFIG_ARCH_AT91) += at91 |
ddf6bd48 | 57 | machine-$(CONFIG_ARCH_BCM283X) += bcm283x |
f8209d30 | 58 | machine-$(CONFIG_ARCH_BCMBCA) += bcmbca |
894c3ad2 | 59 | machine-$(CONFIG_ARCH_BCMSTB) += bcmstb |
601fbec7 | 60 | machine-$(CONFIG_ARCH_DAVINCI) += davinci |
77b55e8c | 61 | machine-$(CONFIG_ARCH_EXYNOS) += exynos |
4276c9b2 | 62 | machine-$(CONFIG_ARCH_GXP) += hpe |
72a8ff4b | 63 | machine-$(CONFIG_ARCH_HIGHBANK) += highbank |
e90711f0 | 64 | machine-$(CONFIG_ARCH_HISTB) += histb |
e479a7d5 | 65 | machine-$(CONFIG_ARCH_IPQ40XX) += ipq40xx |
586bde93 | 66 | machine-$(CONFIG_ARCH_K3) += k3 |
39a72345 | 67 | machine-$(CONFIG_ARCH_KEYSTONE) += keystone |
bb0fb4c0 | 68 | machine-$(CONFIG_ARCH_KIRKWOOD) += kirkwood |
b3d9a8b1 | 69 | machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx |
cbd2fba1 | 70 | machine-$(CONFIG_ARCH_MEDIATEK) += mediatek |
bfcef28a | 71 | machine-$(CONFIG_ARCH_MESON) += meson |
81e33f4b | 72 | machine-$(CONFIG_ARCH_MVEBU) += mvebu |
95e9a8e2 | 73 | machine-$(CONFIG_ARCH_NEXELL) += nexell |
84335544 | 74 | machine-$(CONFIG_ARCH_NPCM) += npcm |
9bffc549 | 75 | machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2 |
b16a3316 | 76 | machine-$(CONFIG_ARCH_ORION5X) += orion5x |
97775d26 | 77 | machine-$(CONFIG_ARCH_OWL) += owl |
40b9d53c | 78 | machine-$(CONFIG_ARCH_RENESAS) += renesas |
9bffc549 | 79 | machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip |
225f5eec | 80 | machine-$(CONFIG_ARCH_S5PC1XX) += s5pc1xx |
03de305e | 81 | machine-$(CONFIG_ARCH_SC5XX) += sc5xx |
08592136 | 82 | machine-$(CONFIG_ARCH_SNAPDRAGON) += snapdragon |
05a21721 | 83 | machine-$(CONFIG_ARCH_SOCFPGA) += socfpga |
71f6354b | 84 | machine-$(CONFIG_ARCH_STM32) += stm32 |
2514c2d0 | 85 | machine-$(CONFIG_ARCH_STM32MP) += stm32mp |
9bffc549 | 86 | machine-$(CONFIG_ARCH_SUNXI) += sunxi |
18138ab2 | 87 | machine-$(CONFIG_ARCH_TEGRA) += tegra |
689088f9 | 88 | machine-$(CONFIG_ARCH_U8500) += u8500 |
03c22880 | 89 | machine-$(CONFIG_ARCH_OCTEONTX) += octeontx |
0a668f6d | 90 | machine-$(CONFIG_ARCH_OCTEONTX2) += octeontx2 |
4c425570 | 91 | machine-$(CONFIG_ARCH_UNIPHIER) += uniphier |
9bffc549 | 92 | machine-$(CONFIG_ARCH_VERSAL) += versal |
40f5046c | 93 | machine-$(CONFIG_ARCH_VERSAL2) += versal2 |
f6aebdf6 | 94 | machine-$(CONFIG_ARCH_VERSAL_NET) += versal-net |
5ca269a4 | 95 | machine-$(CONFIG_ARCH_ZYNQ) += zynq |
274ccb5b | 96 | machine-$(CONFIG_ARCH_ZYNQMP) += zynqmp |
1d6c54ec | 97 | machine-$(CONFIG_ARCH_ZYNQMP_R5) += zynqmp-r5 |
01f14456 | 98 | |
2f5ee7f8 PF |
99 | machine-$(CONFIG_MACH_IMX) += imx |
100 | ||
01f14456 MY |
101 | machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) |
102 | ||
30ebf88f MY |
103 | PLATFORM_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs)) |
104 | ||
01f14456 MY |
105 | libs-y += $(machdirs) |
106 | ||
e19db555 DS |
107 | head-y := arch/arm/cpu/$(CPU)/start.o |
108 | ||
bef9fdbe | 109 | ifeq ($(CONFIG_XPL_BUILD),y) |
dc22afb9 TR |
110 | ifeq ($(CONFIG_SYS_SOC)$(CONFIG_SPL_FRAMEWORK),"mxs") |
111 | head-y := arch/arm/cpu/arm926ejs/mxs/start.o | |
e19db555 DS |
112 | endif |
113 | endif | |
114 | ||
115 | libs-y += arch/arm/cpu/$(CPU)/ | |
116 | libs-y += arch/arm/cpu/ | |
117 | libs-y += arch/arm/lib/ | |
118 | ||
d0787656 SR |
119 | ifneq (,$(filter $(SOC), kirkwood)) |
120 | libs-y += arch/arm/mach-mvebu/ | |
e19db555 | 121 | endif |
01f14456 MY |
122 | |
123 | # deprecated | |
124 | -include $(machdirs)/config.mk |