]>
Commit | Line | Data |
---|---|---|
1 | # SPDX-License-Identifier: GPL-2.0+ | |
2 | ||
3 | ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_ARCH_TEGRA),yy) | |
4 | CONFIG_CPU_V7A= | |
5 | CONFIG_CPU_ARM720T=y | |
6 | endif | |
7 | ||
8 | # This selects which instruction set is used. | |
9 | arch-$(CONFIG_CPU_ARM720T) =-march=armv4 | |
10 | arch-$(CONFIG_CPU_ARM920T) =-march=armv4t | |
11 | arch-$(CONFIG_CPU_ARM926EJS) =-march=armv5te | |
12 | arch-$(CONFIG_CPU_ARM946ES) =-march=armv5te | |
13 | arch-$(CONFIG_CPU_SA1100) =-march=armv4 | |
14 | arch-$(CONFIG_CPU_PXA) = | |
15 | arch-$(CONFIG_CPU_ARM1136) =-march=armv5t | |
16 | arch-$(CONFIG_CPU_ARM1176) =-march=armv5t | |
17 | arch-$(CONFIG_CPU_V7A) =$(call cc-option, -march=armv7-a, \ | |
18 | $(call cc-option, -march=armv7)) | |
19 | arch-$(CONFIG_CPU_V7M) =-march=armv7-m | |
20 | arch-$(CONFIG_CPU_V7R) =-march=armv7-r | |
21 | arch-$(CONFIG_ARM64) =-march=armv8-a | |
22 | ||
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_ARCH_TEGRA),yy) | |
26 | arch-y += -D__LINUX_ARM_ARCH__=4 | |
27 | else | |
28 | arch-y += -D__LINUX_ARM_ARCH__=$(CONFIG_SYS_ARM_ARCH) | |
29 | endif | |
30 | ||
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) = | |
43 | tune-$(CONFIG_CPU_V7A) =-mtune=generic-armv7-a | |
44 | tune-$(CONFIG_CPU_V7R) = | |
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 | ||
52 | # Machine directory name. This list is sorted alphanumerically | |
53 | # by CONFIG_* macro name. | |
54 | machine-$(CONFIG_ARCH_ASPEED) += aspeed | |
55 | machine-$(CONFIG_ARCH_AT91) += at91 | |
56 | machine-$(CONFIG_ARCH_BCM283X) += bcm283x | |
57 | machine-$(CONFIG_ARCH_BCMSTB) += bcmstb | |
58 | machine-$(CONFIG_ARCH_DAVINCI) += davinci | |
59 | machine-$(CONFIG_ARCH_EXYNOS) += exynos | |
60 | machine-$(CONFIG_ARCH_HIGHBANK) += highbank | |
61 | machine-$(CONFIG_ARCH_IPQ40XX) += ipq40xx | |
62 | machine-$(CONFIG_ARCH_K3) += k3 | |
63 | machine-$(CONFIG_ARCH_KEYSTONE) += keystone | |
64 | machine-$(CONFIG_ARCH_KIRKWOOD) += kirkwood | |
65 | machine-$(CONFIG_ARCH_LPC32XX) += lpc32xx | |
66 | machine-$(CONFIG_ARCH_MEDIATEK) += mediatek | |
67 | machine-$(CONFIG_ARCH_MESON) += meson | |
68 | machine-$(CONFIG_ARCH_MVEBU) += mvebu | |
69 | machine-$(CONFIG_ARCH_NEXELL) += nexell | |
70 | machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2 | |
71 | machine-$(CONFIG_ARCH_ORION5X) += orion5x | |
72 | machine-$(CONFIG_ARCH_OWL) += owl | |
73 | machine-$(CONFIG_ARCH_RMOBILE) += rmobile | |
74 | machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip | |
75 | machine-$(CONFIG_ARCH_S5PC1XX) += s5pc1xx | |
76 | machine-$(CONFIG_ARCH_SNAPDRAGON) += snapdragon | |
77 | machine-$(CONFIG_ARCH_SOCFPGA) += socfpga | |
78 | machine-$(CONFIG_ARCH_STM32) += stm32 | |
79 | machine-$(CONFIG_ARCH_STM32MP) += stm32mp | |
80 | machine-$(CONFIG_ARCH_SUNXI) += sunxi | |
81 | machine-$(CONFIG_ARCH_TEGRA) += tegra | |
82 | machine-$(CONFIG_ARCH_U8500) += u8500 | |
83 | machine-$(CONFIG_ARCH_OCTEONTX) += octeontx | |
84 | machine-$(CONFIG_ARCH_OCTEONTX2) += octeontx2 | |
85 | machine-$(CONFIG_ARCH_UNIPHIER) += uniphier | |
86 | machine-$(CONFIG_ARCH_VERSAL) += versal | |
87 | machine-$(CONFIG_ARCH_ZYNQ) += zynq | |
88 | machine-$(CONFIG_ARCH_ZYNQMP) += zynqmp | |
89 | machine-$(CONFIG_ARCH_ZYNQMP_R5) += zynqmp-r5 | |
90 | ||
91 | machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) | |
92 | ||
93 | PLATFORM_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs)) | |
94 | ||
95 | libs-y += $(machdirs) | |
96 | ||
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) | |
110 | ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx5 mx6 mx7 mx35 imx8m imx8 imxrt)) | |
111 | libs-y += arch/arm/mach-imx/ | |
112 | endif | |
113 | else | |
114 | ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx7ulp mx31 mx35 mxs imx8m imx8 imxrt vf610)) | |
115 | libs-y += arch/arm/mach-imx/ | |
116 | endif | |
117 | endif | |
118 | ||
119 | ifneq (,$(filter $(SOC), kirkwood)) | |
120 | libs-y += arch/arm/mach-mvebu/ | |
121 | endif | |
122 | ||
123 | # deprecated | |
124 | -include $(machdirs)/config.mk |