]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | # SPDX-License-Identifier: GPL-2.0+ |
e19db555 | 2 | |
18138ab2 | 3 | ifeq ($(CONFIG_SPL_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 |
79d75d75 MY |
13 | arch-$(CONFIG_CPU_SA1100) =-march=armv4 |
14 | arch-$(CONFIG_CPU_PXA) = | |
0c5c3f29 HS |
15 | arch-$(CONFIG_CPU_ARM1136) =-march=armv5t |
16 | arch-$(CONFIG_CPU_ARM1176) =-march=armv5t | |
acf15001 | 17 | arch-$(CONFIG_CPU_V7A) =$(call cc-option, -march=armv7-a, \ |
de39dc71 | 18 | $(call cc-option, -march=armv7)) |
ea37f0b3 | 19 | arch-$(CONFIG_CPU_V7M) =-march=armv7-m |
4bbd6b1d | 20 | arch-$(CONFIG_CPU_V7R) =-march=armv7-r |
79d75d75 MY |
21 | arch-$(CONFIG_ARM64) =-march=armv8-a |
22 | ||
a78cd861 TR |
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 | |
18138ab2 | 25 | ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_ARCH_TEGRA),yy) |
a78cd861 TR |
26 | arch-y += -D__LINUX_ARM_ARCH__=4 |
27 | else | |
28 | arch-y += -D__LINUX_ARM_ARCH__=$(CONFIG_SYS_ARM_ARCH) | |
29 | endif | |
30 | ||
79d75d75 MY |
31 | # Evaluate arch cc-option calls now |
32 | arch-y := $(arch-y) | |
33 | ||
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) = | |
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. | |
4697abea | 54 | machine-$(CONFIG_ARCH_ASPEED) += aspeed |
62011840 | 55 | machine-$(CONFIG_ARCH_AT91) += at91 |
ddf6bd48 | 56 | machine-$(CONFIG_ARCH_BCM283X) += bcm283x |
894c3ad2 | 57 | machine-$(CONFIG_ARCH_BCMSTB) += bcmstb |
601fbec7 | 58 | machine-$(CONFIG_ARCH_DAVINCI) += davinci |
77b55e8c | 59 | machine-$(CONFIG_ARCH_EXYNOS) += exynos |
72a8ff4b | 60 | machine-$(CONFIG_ARCH_HIGHBANK) += highbank |
e479a7d5 | 61 | machine-$(CONFIG_ARCH_IPQ40XX) += ipq40xx |
586bde93 | 62 | machine-$(CONFIG_ARCH_K3) += k3 |
39a72345 | 63 | machine-$(CONFIG_ARCH_KEYSTONE) += keystone |
bb0fb4c0 | 64 | machine-$(CONFIG_ARCH_KIRKWOOD) += kirkwood |
b3d9a8b1 | 65 | machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx |
cbd2fba1 | 66 | machine-$(CONFIG_ARCH_MEDIATEK) += mediatek |
bfcef28a | 67 | machine-$(CONFIG_ARCH_MESON) += meson |
81e33f4b | 68 | machine-$(CONFIG_ARCH_MVEBU) += mvebu |
95e9a8e2 | 69 | machine-$(CONFIG_ARCH_NEXELL) += nexell |
9bffc549 | 70 | machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2 |
b16a3316 | 71 | machine-$(CONFIG_ARCH_ORION5X) += orion5x |
97775d26 | 72 | machine-$(CONFIG_ARCH_OWL) += owl |
9bffc549 TW |
73 | machine-$(CONFIG_ARCH_RMOBILE) += rmobile |
74 | machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip | |
225f5eec | 75 | machine-$(CONFIG_ARCH_S5PC1XX) += s5pc1xx |
08592136 | 76 | machine-$(CONFIG_ARCH_SNAPDRAGON) += snapdragon |
05a21721 | 77 | machine-$(CONFIG_ARCH_SOCFPGA) += socfpga |
71f6354b | 78 | machine-$(CONFIG_ARCH_STM32) += stm32 |
2514c2d0 | 79 | machine-$(CONFIG_ARCH_STM32MP) += stm32mp |
9bffc549 | 80 | machine-$(CONFIG_ARCH_SUNXI) += sunxi |
18138ab2 | 81 | machine-$(CONFIG_ARCH_TEGRA) += tegra |
689088f9 | 82 | machine-$(CONFIG_ARCH_U8500) += u8500 |
03c22880 | 83 | machine-$(CONFIG_ARCH_OCTEONTX) += octeontx |
0a668f6d | 84 | machine-$(CONFIG_ARCH_OCTEONTX2) += octeontx2 |
4c425570 | 85 | machine-$(CONFIG_ARCH_UNIPHIER) += uniphier |
9bffc549 | 86 | machine-$(CONFIG_ARCH_VERSAL) += versal |
5ca269a4 | 87 | machine-$(CONFIG_ARCH_ZYNQ) += zynq |
274ccb5b | 88 | machine-$(CONFIG_ARCH_ZYNQMP) += zynqmp |
1d6c54ec | 89 | machine-$(CONFIG_ARCH_ZYNQMP_R5) += zynqmp-r5 |
01f14456 MY |
90 | |
91 | machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) | |
92 | ||
30ebf88f MY |
93 | PLATFORM_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs)) |
94 | ||
01f14456 MY |
95 | libs-y += $(machdirs) |
96 | ||
e19db555 DS |
97 | head-y := arch/arm/cpu/$(CPU)/start.o |
98 | ||
99 | ifeq ($(CONFIG_SPL_BUILD),y) | |
100 | ifneq ($(CONFIG_SPL_START_S_PATH),) | |
101 | head-y := $(CONFIG_SPL_START_S_PATH:"%"=%)/start.o | |
102 | endif | |
103 | endif | |
104 | ||
105 | libs-y += arch/arm/cpu/$(CPU)/ | |
106 | libs-y += arch/arm/cpu/ | |
107 | libs-y += arch/arm/lib/ | |
108 | ||
109 | ifeq ($(CONFIG_SPL_BUILD),y) | |
77eb9a90 | 110 | ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx5 mx6 mx7 mx35 imx8m imx8 imxrt)) |
552a848e | 111 | libs-y += arch/arm/mach-imx/ |
e19db555 DS |
112 | endif |
113 | else | |
77eb9a90 | 114 | ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx7ulp mx31 mx35 mxs imx8m imx8 imxrt vf610)) |
552a848e | 115 | libs-y += arch/arm/mach-imx/ |
e19db555 DS |
116 | endif |
117 | endif | |
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 |