]>
Commit | Line | Data |
---|---|---|
83d290c5 | 1 | # SPDX-License-Identifier: GPL-2.0+ |
e19db555 | 2 | |
bf71a29c | 3 | ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_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 | |
25 | ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_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 | ||
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 |
586bde93 | 61 | machine-$(CONFIG_ARCH_K3) += k3 |
39a72345 | 62 | machine-$(CONFIG_ARCH_KEYSTONE) += keystone |
56f86e39 MY |
63 | # TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD |
64 | machine-$(CONFIG_KIRKWOOD) += kirkwood | |
cbd2fba1 | 65 | machine-$(CONFIG_ARCH_MEDIATEK) += mediatek |
bfcef28a | 66 | machine-$(CONFIG_ARCH_MESON) += meson |
81e33f4b | 67 | machine-$(CONFIG_ARCH_MVEBU) += mvebu |
09f455dc | 68 | # TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA |
3e93b4e6 MY |
69 | # TODO: rename CONFIG_ORION5X -> CONFIG_ARCH_ORION5X |
70 | machine-$(CONFIG_ORION5X) += orion5x | |
a93fbf4a | 71 | machine-$(CONFIG_ARCH_OMAP2PLUS) += omap2 |
97775d26 | 72 | machine-$(CONFIG_ARCH_OWL) += owl |
225f5eec | 73 | machine-$(CONFIG_ARCH_S5PC1XX) += s5pc1xx |
e6e505b9 | 74 | machine-$(CONFIG_ARCH_SUNXI) += sunxi |
08592136 | 75 | machine-$(CONFIG_ARCH_SNAPDRAGON) += snapdragon |
05a21721 | 76 | machine-$(CONFIG_ARCH_SOCFPGA) += socfpga |
1cc95f6e | 77 | machine-$(CONFIG_ARCH_RMOBILE) += rmobile |
2444dae5 | 78 | machine-$(CONFIG_ARCH_ROCKCHIP) += rockchip |
0a61ee88 | 79 | machine-$(CONFIG_STM32) += stm32 |
2514c2d0 | 80 | machine-$(CONFIG_ARCH_STM32MP) += stm32mp |
09f455dc | 81 | machine-$(CONFIG_TEGRA) += tegra |
689088f9 | 82 | machine-$(CONFIG_ARCH_U8500) += u8500 |
4c425570 | 83 | machine-$(CONFIG_ARCH_UNIPHIER) += uniphier |
5ca269a4 | 84 | machine-$(CONFIG_ARCH_ZYNQ) += zynq |
274ccb5b | 85 | machine-$(CONFIG_ARCH_ZYNQMP) += zynqmp |
ec48b6c9 | 86 | machine-$(CONFIG_ARCH_VERSAL) += versal |
1d6c54ec | 87 | machine-$(CONFIG_ARCH_ZYNQMP_R5) += zynqmp-r5 |
01f14456 MY |
88 | |
89 | machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y)) | |
90 | ||
30ebf88f MY |
91 | PLATFORM_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs)) |
92 | ||
01f14456 MY |
93 | libs-y += $(machdirs) |
94 | ||
e19db555 DS |
95 | head-y := arch/arm/cpu/$(CPU)/start.o |
96 | ||
97 | ifeq ($(CONFIG_SPL_BUILD),y) | |
98 | ifneq ($(CONFIG_SPL_START_S_PATH),) | |
99 | head-y := $(CONFIG_SPL_START_S_PATH:"%"=%)/start.o | |
100 | endif | |
101 | endif | |
102 | ||
103 | libs-y += arch/arm/cpu/$(CPU)/ | |
104 | libs-y += arch/arm/cpu/ | |
105 | libs-y += arch/arm/lib/ | |
106 | ||
107 | ifeq ($(CONFIG_SPL_BUILD),y) | |
77eb9a90 | 108 | ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx5 mx6 mx7 mx35 imx8m imx8 imxrt)) |
552a848e | 109 | libs-y += arch/arm/mach-imx/ |
e19db555 DS |
110 | endif |
111 | else | |
77eb9a90 | 112 | ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx7ulp mx31 mx35 mxs imx8m imx8 imxrt vf610)) |
552a848e | 113 | libs-y += arch/arm/mach-imx/ |
e19db555 DS |
114 | endif |
115 | endif | |
116 | ||
d0787656 SR |
117 | ifneq (,$(filter $(SOC), kirkwood)) |
118 | libs-y += arch/arm/mach-mvebu/ | |
e19db555 | 119 | endif |
01f14456 MY |
120 | |
121 | # deprecated | |
122 | -include $(machdirs)/config.mk |