Make STANDALONE_LOAD_ADDR configurable per board
[kernel/u-boot.git] / arch / blackfin / config.mk
1 #
2 # (C) Copyright 2000-2002
3 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4 #
5 # See file CREDITS for list of people who contributed to this
6 # project.
7 #
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public License as
10 # published by the Free Software Foundation; either version 2 of
11 # the License, or (at your option) any later version.
12 #
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program; if not, write to the Free Software
20 # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 # MA 02111-1307 USA
22 #
23
24 CROSS_COMPILE ?= bfin-uclinux-
25
26 CONFIG_STANDALONE_LOAD_ADDR ?= 0x1000 -m elf32bfin
27
28 ifeq ($(CONFIG_BFIN_CPU),)
29 CONFIG_BFIN_CPU := \
30         $(shell awk '$$2 == "CONFIG_BFIN_CPU" { print $$3 }' \
31                 $(src)include/configs/$(BOARD).h)
32 else
33 CONFIG_BFIN_CPU := $(strip $(subst ",,$(CONFIG_BFIN_CPU)))
34 endif
35 CONFIG_BFIN_BOOT_MODE := $(strip $(subst ",,$(CONFIG_BFIN_BOOT_MODE)))
36
37 PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic
38 PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN
39
40 LDFLAGS_FINAL += --gc-sections
41 LDFLAGS += -m elf32bfin
42 PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
43
44 PLATFORM_RELFLAGS += -mcpu=$(CONFIG_BFIN_CPU)
45
46 ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)
47 ALL += $(obj)u-boot.ldr
48 endif
49 ifeq ($(CONFIG_ENV_IS_EMBEDDED_IN_LDR),y)
50 CREATE_LDR_ENV = $(obj)tools/envcrc --binary > $(obj)env-ldr.o
51 HOSTCFLAGS_NOPED += \
52         $(shell $(CPP) -dD - -mcpu=$(CONFIG_BFIN_CPU) </dev/null \
53                 | awk '$$2 ~ /ADSP/ { print "-D" $$2 }')
54 else
55 CREATE_LDR_ENV =
56 endif
57
58 SYM_PREFIX = _
59
60 LDR_FLAGS-y :=
61 LDR_FLAGS-$(CONFIG_BFIN_BOOTROM_USES_EVT1) += -J
62
63 LDR_FLAGS += --bmode $(subst BFIN_BOOT_,,$(CONFIG_BFIN_BOOT_MODE))
64 LDR_FLAGS += --use-vmas
65 LDR_FLAGS += --initcode $(obj)$(CPUDIR)/initcode.o
66 ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_UART)
67 LDR_FLAGS-$(CONFIG_ENV_IS_EMBEDDED_IN_LDR) += \
68         --punchit $$(($(CONFIG_ENV_OFFSET))):$$(($(CONFIG_ENV_SIZE))):$(obj)env-ldr.o
69 endif
70 ifneq (,$(findstring s,$(MAKEFLAGS)))
71 LDR_FLAGS += --quiet
72 endif
73
74 LDR_FLAGS += $(LDR_FLAGS-y)
75
76 # Set some default LDR flags based on boot mode.
77 LDR_FLAGS += $(LDR_FLAGS-$(CONFIG_BFIN_BOOT_MODE))
78
79 ifeq ($(wildcard $(TOPDIR)/board/$(BOARD)/u-boot.lds*),)
80 LDSCRIPT = $(obj)arch/$(ARCH)/lib/u-boot.lds.S
81 endif
82
83 ifneq ($(CONFIG_SYS_TEXT_BASE),)
84 $(error do not set CONFIG_SYS_TEXT_BASE for Blackfin boards)
85 endif