blob: 453c7885075344704e7b8e22640ddd675c8a1822 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001# SPDX-License-Identifier: GPL-2.0+
Daniel Schwierzecke19db552014-11-21 23:51:33 +01002
Daniel Schwierzeckeef88df2015-01-29 14:56:20 +01003head-y := arch/mips/cpu/start.o
Daniel Schwierzecke19db552014-11-21 23:51:33 +01004
Simon Glassbef9fdb2024-09-29 19:49:46 -06005ifeq ($(CONFIG_XPL_BUILD),y)
Tom Rinidc22afb2022-05-28 12:40:40 -04006head-$(CONFIG_ARCH_JZ47XX) := arch/mips/mach-jz47xx/start.o
Weijie Gao4bc01042022-05-20 11:22:21 +08007head-$(CONFIG_SOC_MT7621) := arch/mips/mach-mtmips/mt7621/spl/start.o
8endif
9
10ifeq ($(CONFIG_TPL_BUILD),y)
11head-$(CONFIG_SOC_MT7621) := arch/mips/mach-mtmips/mt7621/tpl/start.o
Marek Vasutecc9d262016-05-25 02:17:42 +020012endif
13
Daniel Schwierzeckeef88df2015-01-29 14:56:20 +010014libs-y += arch/mips/cpu/
Daniel Schwierzecke19db552014-11-21 23:51:33 +010015libs-y += arch/mips/lib/
Daniel Schwierzeckd9a4a622015-01-29 14:47:01 +010016
Wills Wang1d3d0f12016-03-16 16:59:52 +080017machine-$(CONFIG_ARCH_ATH79) += ath79
Álvaro Fernández Rojasee422142017-04-25 00:39:20 +020018machine-$(CONFIG_ARCH_BMIPS) += bmips
Paul Burtoncd71b1d2018-12-16 19:25:22 -030019machine-$(CONFIG_ARCH_JZ47XX) += jz47xx
Purna Chandra Mandal32c1a6e2016-01-28 15:30:10 +053020machine-$(CONFIG_MACH_PIC32) += pic32
Weijie Gao16b94902019-04-30 11:13:58 +080021machine-$(CONFIG_ARCH_MTMIPS) += mtmips
Gregory CLEMENTdd1033e2018-12-14 16:16:47 +010022machine-$(CONFIG_ARCH_MSCC) += mscc
Aaron Williams0dc4ab92020-06-30 12:08:56 +020023machine-${CONFIG_ARCH_OCTEON} += octeon
Daniel Schwierzeck6479b692015-12-21 16:35:13 +010024
25machdirs := $(patsubst %,arch/mips/mach-%/,$(machine-y))
26libs-y += $(machdirs)
27
28PLATFORM_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs))
Daniel Schwierzeck0315a282015-12-26 19:55:37 +010029
30# Optimize for MIPS architectures
31arch-$(CONFIG_CPU_MIPS32_R1) += -march=mips32 -Wa,-mips32
32arch-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -Wa,-mips32r2
Paul Burtonc52ebea2016-05-16 10:52:12 +010033arch-$(CONFIG_CPU_MIPS32_R6) += -march=mips32r6 -Wa,-mips32r6
Daniel Schwierzeck0315a282015-12-26 19:55:37 +010034arch-$(CONFIG_CPU_MIPS64_R1) += -march=mips64 -Wa,-mips64
35arch-$(CONFIG_CPU_MIPS64_R2) += -march=mips64r2 -Wa,-mips64r2
Paul Burtonc52ebea2016-05-16 10:52:12 +010036arch-$(CONFIG_CPU_MIPS64_R6) += -march=mips64r6 -Wa,-mips64r6
Aaron Williams0dc4ab92020-06-30 12:08:56 +020037arch-${CONFIG_CPU_MIPS64_OCTEON} += -march=octeon2
Daniel Schwierzeck0315a282015-12-26 19:55:37 +010038
39# Allow extra optimization for specific CPUs/SoCs
40tune-$(CONFIG_MIPS_TUNE_4KC) += -mtune=4kc
41tune-$(CONFIG_MIPS_TUNE_14KC) += -mtune=14kc
42tune-$(CONFIG_MIPS_TUNE_24KC) += -mtune=24kc
Daniel Schwierzeck5f9cc362016-05-27 15:39:39 +020043tune-$(CONFIG_MIPS_TUNE_34KC) += -mtune=34kc
Marek Vasut0a0a9582016-05-06 20:10:33 +020044tune-$(CONFIG_MIPS_TUNE_74KC) += -mtune=74kc
Aaron Williams0dc4ab92020-06-30 12:08:56 +020045tune-${CONFIG_MIPS_TUNE_OCTEON3} += -mtune=octeon2
Daniel Schwierzeck0315a282015-12-26 19:55:37 +010046
Daniel Schwierzeck23ff8632016-01-12 21:48:25 +010047# Include default header files
48cflags-y += -I$(srctree)/arch/mips/include/asm/mach-generic
49
50PLATFORM_CPPFLAGS += $(arch-y) $(tune-y) $(cflags-y)