blob: 6502aebd2960f420762874116909a79e77fe3ce7 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001# SPDX-License-Identifier: GPL-2.0+
Daniel Schwierzeck17def7d2014-11-21 23:51:33 +01002
Daniel Schwierzecked160502015-01-29 14:56:20 +01003head-y := arch/mips/cpu/start.o
Daniel Schwierzeck17def7d2014-11-21 23:51:33 +01004
Marek Vasutaa796b52016-05-25 02:17:42 +02005ifeq ($(CONFIG_SPL_BUILD),y)
6ifneq ($(CONFIG_SPL_START_S_PATH),)
7head-y := $(CONFIG_SPL_START_S_PATH:"%"=%)/start.o
8endif
9endif
10
Daniel Schwierzecked160502015-01-29 14:56:20 +010011libs-y += arch/mips/cpu/
Daniel Schwierzeck17def7d2014-11-21 23:51:33 +010012libs-y += arch/mips/lib/
Daniel Schwierzeck74fc3c02015-01-29 14:47:01 +010013
Wills Wang833a1a82016-03-16 16:59:52 +080014machine-$(CONFIG_ARCH_ATH79) += ath79
Álvaro Fernández Rojas98a97a82017-04-25 00:39:20 +020015machine-$(CONFIG_ARCH_BMIPS) += bmips
Paul Burton96c68472018-12-16 19:25:22 -030016machine-$(CONFIG_ARCH_JZ47XX) += jz47xx
Purna Chandra Mandal825b3212016-01-28 15:30:10 +053017machine-$(CONFIG_MACH_PIC32) += pic32
developer89f051b2019-04-30 11:13:58 +080018machine-$(CONFIG_ARCH_MTMIPS) += mtmips
Gregory CLEMENTaf05ee52018-12-14 16:16:47 +010019machine-$(CONFIG_ARCH_MSCC) += mscc
Aaron Williamsb2ea8182020-06-30 12:08:56 +020020machine-${CONFIG_ARCH_OCTEON} += octeon
Daniel Schwierzecke6e124b2015-12-21 16:35:13 +010021
22machdirs := $(patsubst %,arch/mips/mach-%/,$(machine-y))
23libs-y += $(machdirs)
24
25PLATFORM_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs))
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +010026
27# Optimize for MIPS architectures
28arch-$(CONFIG_CPU_MIPS32_R1) += -march=mips32 -Wa,-mips32
29arch-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -Wa,-mips32r2
Paul Burton55e29dd2016-05-16 10:52:12 +010030arch-$(CONFIG_CPU_MIPS32_R6) += -march=mips32r6 -Wa,-mips32r6
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +010031arch-$(CONFIG_CPU_MIPS64_R1) += -march=mips64 -Wa,-mips64
32arch-$(CONFIG_CPU_MIPS64_R2) += -march=mips64r2 -Wa,-mips64r2
Paul Burton55e29dd2016-05-16 10:52:12 +010033arch-$(CONFIG_CPU_MIPS64_R6) += -march=mips64r6 -Wa,-mips64r6
Aaron Williamsb2ea8182020-06-30 12:08:56 +020034arch-${CONFIG_CPU_MIPS64_OCTEON} += -march=octeon2
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +010035
36# Allow extra optimization for specific CPUs/SoCs
37tune-$(CONFIG_MIPS_TUNE_4KC) += -mtune=4kc
38tune-$(CONFIG_MIPS_TUNE_14KC) += -mtune=14kc
39tune-$(CONFIG_MIPS_TUNE_24KC) += -mtune=24kc
Daniel Schwierzeckc7661d52016-05-27 15:39:39 +020040tune-$(CONFIG_MIPS_TUNE_34KC) += -mtune=34kc
Marek Vasuta9c6e8b2016-05-06 20:10:33 +020041tune-$(CONFIG_MIPS_TUNE_74KC) += -mtune=74kc
Aaron Williamsb2ea8182020-06-30 12:08:56 +020042tune-${CONFIG_MIPS_TUNE_OCTEON3} += -mtune=octeon2
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +010043
Daniel Schwierzeckb01d3e12016-01-12 21:48:25 +010044# Include default header files
45cflags-y += -I$(srctree)/arch/mips/include/asm/mach-generic
46
47PLATFORM_CPPFLAGS += $(arch-y) $(tune-y) $(cflags-y)