xref: /rk3399_rockchip-uboot/arch/arm/Makefile (revision f36ea2f6e17621c4d9dd97c4dbfab62d03d061df)
1e19db555SDaniel Schwierzeck#
2e19db555SDaniel Schwierzeck# SPDX-License-Identifier:	GPL-2.0+
3e19db555SDaniel Schwierzeck#
4e19db555SDaniel Schwierzeck
5bf71a29cSMasahiro Yamadaifeq ($(CONFIG_SPL_BUILD)$(CONFIG_TEGRA),yy)
6bf71a29cSMasahiro YamadaCONFIG_CPU_V7=
7bf71a29cSMasahiro YamadaCONFIG_CPU_ARM720T=y
8bf71a29cSMasahiro Yamadaendif
9bf71a29cSMasahiro Yamada
1079d75d75SMasahiro Yamada# This selects which instruction set is used.
1179d75d75SMasahiro Yamadaarch-$(CONFIG_CPU_ARM720T)	=-march=armv4
1202499e4eSDavid Müller (ELSOFT AG)arch-$(CONFIG_CPU_ARM920T)	=-march=armv4t
1379d75d75SMasahiro Yamadaarch-$(CONFIG_CPU_ARM926EJS)	=-march=armv5te
14626f6e4fSMarek Vasutarch-$(CONFIG_CPU_ARM946ES)	=-march=armv5te
1579d75d75SMasahiro Yamadaarch-$(CONFIG_CPU_SA1100)	=-march=armv4
1679d75d75SMasahiro Yamadaarch-$(CONFIG_CPU_PXA)		=
1779d75d75SMasahiro Yamadaarch-$(CONFIG_CPU_ARM1136)	=-march=armv5
1879d75d75SMasahiro Yamadaarch-$(CONFIG_CPU_ARM1176)	=-march=armv5t
19b745e828STom Riniarch-$(CONFIG_CPU_V7)		=$(call cc-option, -march=armv7-a, \
20b745e828STom Rini				 $(call cc-option, -march=armv7, -march=armv5))
2126e9b49cSJoseph Chenarch-$(CONFIG_ARM64)		=-march=armv8-a+nosimd
2279d75d75SMasahiro Yamada
23a78cd861STom Rini# On Tegra systems we must build SPL for the armv4 core on the device
24a78cd861STom Rini# but otherwise we can use the value in CONFIG_SYS_ARM_ARCH
25a78cd861STom Riniifeq ($(CONFIG_SPL_BUILD)$(CONFIG_TEGRA),yy)
26a78cd861STom Riniarch-y += -D__LINUX_ARM_ARCH__=4
27a78cd861STom Rinielse
28a78cd861STom Riniarch-y += -D__LINUX_ARM_ARCH__=$(CONFIG_SYS_ARM_ARCH)
29a78cd861STom Riniendif
30a78cd861STom Rini
3179d75d75SMasahiro Yamada# Evaluate arch cc-option calls now
3279d75d75SMasahiro Yamadaarch-y := $(arch-y)
3379d75d75SMasahiro Yamada
3479d75d75SMasahiro Yamada# This selects how we optimise for the processor.
3579d75d75SMasahiro Yamadatune-$(CONFIG_CPU_ARM720T)	=-mtune=arm7tdmi
3679d75d75SMasahiro Yamadatune-$(CONFIG_CPU_ARM920T)	=
3779d75d75SMasahiro Yamadatune-$(CONFIG_CPU_ARM926EJS)	=
3879d75d75SMasahiro Yamadatune-$(CONFIG_CPU_ARM946ES)	=
3979d75d75SMasahiro Yamadatune-$(CONFIG_CPU_SA1100)	=-mtune=strongarm1100
4079d75d75SMasahiro Yamadatune-$(CONFIG_CPU_PXA)		=-mcpu=xscale
4179d75d75SMasahiro Yamadatune-$(CONFIG_CPU_ARM1136)	=
4279d75d75SMasahiro Yamadatune-$(CONFIG_CPU_ARM1176)	=
4379d75d75SMasahiro Yamadatune-$(CONFIG_CPU_V7)		=
4479d75d75SMasahiro Yamadatune-$(CONFIG_ARM64)		=
4579d75d75SMasahiro Yamada
4679d75d75SMasahiro Yamada# Evaluate tune cc-option calls now
4779d75d75SMasahiro Yamadatune-y := $(tune-y)
4879d75d75SMasahiro Yamada
4979d75d75SMasahiro YamadaPLATFORM_CPPFLAGS += $(arch-y) $(tune-y)
5079d75d75SMasahiro Yamada
5101f14456SMasahiro Yamada# Machine directory name.  This list is sorted alphanumerically
5201f14456SMasahiro Yamada# by CONFIG_* macro name.
534697abeaSmaxims@google.commachine-$(CONFIG_ARCH_ASPEED)		+= aspeed
5462011840SMasahiro Yamadamachine-$(CONFIG_ARCH_AT91)		+= at91
55ddf6bd48SMasahiro Yamadamachine-$(CONFIG_ARCH_BCM283X)		+= bcm283x
56*f36ea2f6SThomas Fitzsimmonsmachine-$(CONFIG_ARCH_BCMSTB)		+= bcmstb
57601fbec7SMasahiro Yamadamachine-$(CONFIG_ARCH_DAVINCI)		+= davinci
5877b55e8cSThomas Abrahammachine-$(CONFIG_ARCH_EXYNOS)		+= exynos
5972a8ff4bSMasahiro Yamadamachine-$(CONFIG_ARCH_HIGHBANK)		+= highbank
6039a72345SMasahiro Yamadamachine-$(CONFIG_ARCH_KEYSTONE)		+= keystone
6156f86e39SMasahiro Yamada# TODO: rename CONFIG_KIRKWOOD -> CONFIG_ARCH_KIRKWOOD
6256f86e39SMasahiro Yamadamachine-$(CONFIG_KIRKWOOD)		+= kirkwood
63bfcef28aSBeniamino Galvanimachine-$(CONFIG_ARCH_MESON)		+= meson
6481e33f4bSStefan Roesemachine-$(CONFIG_ARCH_MVEBU)		+= mvebu
6509f455dcSMasahiro Yamada# TODO: rename CONFIG_TEGRA -> CONFIG_ARCH_TEGRA
663e93b4e6SMasahiro Yamada# TODO: rename CONFIG_ORION5X -> CONFIG_ARCH_ORION5X
673e93b4e6SMasahiro Yamadamachine-$(CONFIG_ORION5X)		+= orion5x
68a93fbf4aSMasahiro Yamadamachine-$(CONFIG_ARCH_OMAP2PLUS)	+= omap2
69225f5eecSMinkyu Kangmachine-$(CONFIG_ARCH_S5PC1XX)		+= s5pc1xx
70e6e505b9SAlexander Grafmachine-$(CONFIG_ARCH_SUNXI)		+= sunxi
7108592136SMateusz Kulikowskimachine-$(CONFIG_ARCH_SNAPDRAGON)	+= snapdragon
7205a21721SMasahiro Yamadamachine-$(CONFIG_ARCH_SOCFPGA)		+= socfpga
731cc95f6eSNobuhiro Iwamatsumachine-$(CONFIG_ARCH_RMOBILE)		+= rmobile
742444dae5SSimon Glassmachine-$(CONFIG_ARCH_ROCKCHIP)		+= rockchip
750a61ee88SVikas Manochamachine-$(CONFIG_STM32)			+= stm32
7609f455dcSMasahiro Yamadamachine-$(CONFIG_TEGRA)			+= tegra
774c425570SMasahiro Yamadamachine-$(CONFIG_ARCH_UNIPHIER)		+= uniphier
785ca269a4SMasahiro Yamadamachine-$(CONFIG_ARCH_ZYNQ)		+= zynq
7901f14456SMasahiro Yamada
8001f14456SMasahiro Yamadamachdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
8101f14456SMasahiro Yamada
8230ebf88fSMasahiro YamadaPLATFORM_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs))
8330ebf88fSMasahiro Yamada
8401f14456SMasahiro Yamadalibs-y += $(machdirs)
8501f14456SMasahiro Yamada
86e19db555SDaniel Schwierzeckhead-y := arch/arm/cpu/$(CPU)/start.o
87e19db555SDaniel Schwierzeck
88e19db555SDaniel Schwierzeckifeq ($(CONFIG_SPL_BUILD),y)
89e19db555SDaniel Schwierzeckifneq ($(CONFIG_SPL_START_S_PATH),)
90e19db555SDaniel Schwierzeckhead-y := $(CONFIG_SPL_START_S_PATH:"%"=%)/start.o
91e19db555SDaniel Schwierzeckendif
92e19db555SDaniel Schwierzeckendif
93e19db555SDaniel Schwierzeck
94e19db555SDaniel Schwierzecklibs-y += arch/arm/cpu/$(CPU)/
95e19db555SDaniel Schwierzecklibs-y += arch/arm/cpu/
96e19db555SDaniel Schwierzecklibs-y += arch/arm/lib/
97e19db555SDaniel Schwierzeck
98e19db555SDaniel Schwierzeckifeq ($(CONFIG_SPL_BUILD),y)
9999f49fddSSven Ebenfeldifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx5 mx6 mx7 mx35))
100552a848eSStefano Babiclibs-y += arch/arm/mach-imx/
101e19db555SDaniel Schwierzeckendif
102e19db555SDaniel Schwierzeckelse
1031b409828SPeng Fanifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx7ulp mx31 mx35 mxs vf610))
104552a848eSStefano Babiclibs-y += arch/arm/mach-imx/
105e19db555SDaniel Schwierzeckendif
106e19db555SDaniel Schwierzeckendif
107e19db555SDaniel Schwierzeck
108d0787656SStefan Roeseifneq (,$(filter $(SOC), kirkwood))
109d0787656SStefan Roeselibs-y += arch/arm/mach-mvebu/
110e19db555SDaniel Schwierzeckendif
11101f14456SMasahiro Yamada
11201f14456SMasahiro Yamada# deprecated
11301f14456SMasahiro Yamada-include $(machdirs)/config.mk
114