2 # (C) Copyright 2000-2002
3 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5 # SPDX-License-Identifier: GPL-2.0+
8 CROSS_COMPILE ?= bfin-uclinux-
10 CONFIG_STANDALONE_LOAD_ADDR ?= 0x1000 -m elf32bfin
12 ifeq ($(CONFIG_BFIN_CPU),)
14 $(shell awk '$$2 == "CONFIG_BFIN_CPU" { print $$3 }' \
15 $(src)include/configs/$(BOARD).h)
17 CONFIG_BFIN_CPU := $(strip $(subst ",,$(CONFIG_BFIN_CPU)))
19 CONFIG_BFIN_BOOT_MODE := $(strip $(subst ",,$(CONFIG_BFIN_BOOT_MODE)))
21 PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic
22 PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN
24 LDFLAGS_FINAL += --gc-sections
25 LDFLAGS += -m elf32bfin
26 PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
28 PLATFORM_RELFLAGS += -mcpu=$(CONFIG_BFIN_CPU)
30 ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)
31 ALL-y += $(obj)u-boot.ldr
33 ifeq ($(CONFIG_ENV_IS_EMBEDDED_IN_LDR),y)
34 CREATE_LDR_ENV = $(obj)tools/envcrc --binary > $(obj)env-ldr.o
35 HOSTCFLAGS_NOPED_ADSP := \
36 $(shell $(CPP) -dD - -mcpu=$(CONFIG_BFIN_CPU) </dev/null \
37 | awk '$$2 ~ /ADSP/ { print "-D" $$2 }')
38 HOSTCFLAGS_NOPED += $(HOSTCFLAGS_NOPED_ADSP)
46 LDR_FLAGS-$(CONFIG_BFIN_BOOTROM_USES_EVT1) += -J
48 LDR_FLAGS += --bmode $(subst BFIN_BOOT_,,$(CONFIG_BFIN_BOOT_MODE))
49 LDR_FLAGS += --use-vmas
50 LDR_FLAGS += --initcode $(obj)$(CPUDIR)/initcode.o
51 ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_UART)
52 LDR_FLAGS-$(CONFIG_ENV_IS_EMBEDDED_IN_LDR) += \
53 --punchit $$(($(CONFIG_ENV_OFFSET))):$$(($(CONFIG_ENV_SIZE))):$(obj)env-ldr.o
55 ifneq (,$(findstring s,$(MAKEFLAGS)))
59 LDR_FLAGS += $(LDR_FLAGS-y)
61 # Set some default LDR flags based on boot mode.
62 LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
64 ifneq ($(CONFIG_SYS_TEXT_BASE),)
65 $(error do not set CONFIG_SYS_TEXT_BASE for Blackfin boards)