mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-20 11:43:22 +00:00
da34aae5fb
The gpio spec for bf54x and bf60x differ a lot from the old gpio driver for bf5xx. A lot of machine macros are used to accomodate both code in one gpio driver. This patch split the old gpio driver and move new gpio2 support to the generic gpio driver folder. - To enable gpio2 driver, macro CONFIG_ADI_GPIO2 should be defined in the board's config header file. - The gpio2 driver supports bf54x, bf60x and future ADI processors, while the older gpio driver supports bf50x, bf51x, bf52x, bf53x and bf561. - All blackfin specific gpio function names are replaced by the generic gpio APIs. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
73 lines
2.2 KiB
Makefile
73 lines
2.2 KiB
Makefile
#
|
|
# U-boot - Makefile
|
|
#
|
|
# Copyright (c) 2005-2008 Analog Device Inc.
|
|
#
|
|
# (C) Copyright 2000-2006
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
|
#
|
|
# Licensed under the GPL-2 or later.
|
|
#
|
|
|
|
include $(TOPDIR)/config.mk
|
|
|
|
LIB = $(obj)lib$(CPU).o
|
|
|
|
EXTRA := init.elf
|
|
CEXTRA := initcode.o
|
|
SEXTRA := start.o
|
|
SOBJS := interrupt.o cache.o
|
|
COBJS-y += cpu.o
|
|
COBJS-$(CONFIG_ADI_GPIO1) += gpio.o
|
|
COBJS-y += interrupts.o
|
|
COBJS-$(CONFIG_JTAG_CONSOLE) += jtag-console.o
|
|
COBJS-y += os_log.o
|
|
COBJS-y += reset.o
|
|
COBJS-y += traps.o
|
|
|
|
SRCS := $(SEXTRA:.o=.S) $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
|
|
OBJS := $(addprefix $(obj),$(COBJS-y) $(SOBJS))
|
|
EXTRA := $(addprefix $(obj),$(EXTRA))
|
|
CEXTRA := $(addprefix $(obj),$(CEXTRA))
|
|
SEXTRA := $(addprefix $(obj),$(SEXTRA))
|
|
|
|
all: $(obj).depend $(LIB) $(obj).depend $(EXTRA) $(CEXTRA) $(SEXTRA) check_initcode
|
|
|
|
$(LIB): $(OBJS)
|
|
$(call cmd_link_o_target, $(OBJS))
|
|
|
|
$(OBJS): $(obj)bootrom-asm-offsets.h
|
|
$(obj)bootrom-asm-offsets.c: bootrom-asm-offsets.c.in bootrom-asm-offsets.awk
|
|
echo '#include <asm/mach-common/bits/bootrom.h>' | $(CPP) $(CPPFLAGS) - | gawk -f ./bootrom-asm-offsets.awk > $@.tmp
|
|
mv $@.tmp $@
|
|
$(obj)bootrom-asm-offsets.s: $(obj)bootrom-asm-offsets.c
|
|
$(CC) $(CFLAGS) -S $^ -o $@.tmp
|
|
mv $@.tmp $@
|
|
$(obj)bootrom-asm-offsets.h: $(obj)bootrom-asm-offsets.s
|
|
sed -ne "/^->/{s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}" $^ > $@
|
|
|
|
# make sure our initcode (which goes into LDR) does not
|
|
# have relocs or external references
|
|
$(obj)initcode.o: CFLAGS += -fno-function-sections -fno-data-sections
|
|
READINIT = env LC_ALL=C $(CROSS_COMPILE)readelf -s $<
|
|
check_initcode: $(obj)initcode.o
|
|
ifneq ($(CONFIG_BFIN_BOOT_MODE),BFIN_BOOT_BYPASS)
|
|
@if $(READINIT) | grep '\<GLOBAL\>.*\<UND\>' ; then \
|
|
echo "$< contains external references!" 1>&2 ; \
|
|
exit 1 ; \
|
|
fi
|
|
endif
|
|
|
|
$(obj)init.lds: init.lds.S
|
|
$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P $^ -o $@
|
|
$(obj)init.elf: $(obj)init.lds $(obj)init.o $(obj)initcode.o
|
|
$(LD) $(LDFLAGS) -T $^ -o $@
|
|
|
|
#########################################################################
|
|
|
|
# defines $(obj).depend target
|
|
include $(SRCTREE)/rules.mk
|
|
|
|
sinclude $(obj).depend
|
|
|
|
#########################################################################
|