]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - Makefile
83xx: Add support for fsl_dma driver
[karo-tx-uboot.git] / Makefile
index 724d66ddb71e393327571f83847c9e6142aae4d9..191768ce87f8231f6208c6dfbfd8b6ff594506b6 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -22,7 +22,7 @@
 #
 
 VERSION = 2009
-PATCHLEVEL = 03
+PATCHLEVEL = 06
 SUBLEVEL =
 EXTRAVERSION =
 ifneq "$(SUBLEVEL)" ""
@@ -137,6 +137,14 @@ ifeq ($(ARCH),powerpc)
 ARCH = ppc
 endif
 
+# The "tools" are needed early, so put this first
+# Don't include stuff already done in $(LIBS)
+SUBDIRS        = tools \
+         examples \
+         api_examples
+
+.PHONY : $(SUBDIRS)
+
 ifeq ($(obj)include/config.mk,$(wildcard $(obj)include/config.mk))
 
 # load ARCH, BOARD, and CPU configuration
@@ -263,8 +271,11 @@ endif
 LIBS += drivers/rtc/librtc.a
 LIBS += drivers/serial/libserial.a
 LIBS += drivers/twserial/libtws.a
-LIBS += drivers/usb/libusb.a
+LIBS += drivers/usb/gadget/libusb_gadget.a
+LIBS += drivers/usb/host/libusb_host.a
+LIBS += drivers/usb/musb/libusb_musb.a
 LIBS += drivers/video/libvideo.a
+LIBS += drivers/watchdog/libwatchdog.a
 LIBS += common/libcommon.a
 LIBS += libfdt/libfdt.a
 LIBS += api/libapi.a
@@ -279,14 +290,6 @@ LIBBOARD := $(addprefix $(obj),$(LIBBOARD))
 # Add GCC lib
 PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
 
-# The "tools" are needed early, so put this first
-# Don't include stuff already done in $(LIBS)
-SUBDIRS        = tools \
-         examples \
-         api_examples
-
-.PHONY : $(SUBDIRS)
-
 ifeq ($(CONFIG_NAND_U_BOOT),y)
 NAND_SPL = nand_spl
 U_BOOT_NAND = $(obj)u-boot-nand.bin
@@ -303,10 +306,8 @@ __LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD))
 #########################################################################
 #########################################################################
 
+# Always append ALL so that arch config.mk's can add custom ones
 ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND)
-ifeq ($(ARCH),blackfin)
-ALL += $(obj)u-boot.ldr
-endif
 
 all:           $(ALL)
 
@@ -320,6 +321,7 @@ $(obj)u-boot.bin:   $(obj)u-boot
                $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
 
 $(obj)u-boot.ldr:      $(obj)u-boot
+               $(obj)tools/envcrc --binary > $(obj)env-ldr.o
                $(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS)
 
 $(obj)u-boot.ldr.hex:  $(obj)u-boot.ldr
@@ -341,38 +343,45 @@ $(obj)u-boot.sha1:        $(obj)u-boot.bin
 $(obj)u-boot.dis:      $(obj)u-boot
                $(OBJDUMP) -d $< > $@
 
-$(obj)u-boot:          depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT)
+GEN_UBOOT = \
                UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
                sed  -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
                cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
                        --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
                        -Map u-boot.map -o u-boot
+$(obj)u-boot:          depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT)
+               $(GEN_UBOOT)
+ifeq ($(CONFIG_KALLSYMS),y)
+               smap=`$(call SYSTEM_MAP,u-boot) | awk '$$2 ~ /[tTwW]/ {printf $$1 $$3 "\\0"}'` ; \
+               $(CC) $(CFLAGS) -DSYSTEM_MAP="\"$${smap}\"" -c common/system_map.c -o $(obj)common/system_map.o
+               $(GEN_UBOOT) $(obj)common/system_map.o
+endif
 
-$(OBJS):       depend $(obj)include/autoconf.mk
+$(OBJS):       depend
                $(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@))
 
-$(LIBS):       depend $(obj)include/autoconf.mk $(SUBDIRS)
+$(LIBS):       depend $(SUBDIRS)
                $(MAKE) -C $(dir $(subst $(obj),,$@))
 
-$(LIBBOARD):   depend $(LIBS) $(obj)include/autoconf.mk
+$(LIBBOARD):   depend $(LIBS)
                $(MAKE) -C $(dir $(subst $(obj),,$@))
 
-$(SUBDIRS):    depend $(obj)include/autoconf.mk
+$(SUBDIRS):    depend
                $(MAKE) -C $@ all
 
-$(LDSCRIPT):   depend $(obj)include/autoconf.mk
+$(LDSCRIPT):   depend
                $(MAKE) -C $(dir $@) $(notdir $@)
 
 $(NAND_SPL):   $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk
                $(MAKE) -C nand_spl/board/$(BOARDDIR) all
 
-$(U_BOOT_NAND):        $(NAND_SPL) $(obj)u-boot.bin $(obj)include/autoconf.mk
+$(U_BOOT_NAND):        $(NAND_SPL) $(obj)u-boot.bin
                cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin
 
 $(ONENAND_IPL):        $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk
                $(MAKE) -C onenand_ipl/board/$(BOARDDIR) all
 
-$(U_BOOT_ONENAND):     $(ONENAND_IPL) $(obj)u-boot.bin $(obj)include/autoconf.mk
+$(U_BOOT_ONENAND):     $(ONENAND_IPL) $(obj)u-boot.bin
                cat $(obj)onenand_ipl/onenand-ipl-2k.bin $(obj)u-boot.bin > $(obj)u-boot-onenand.bin
                cat $(obj)onenand_ipl/onenand-ipl-4k.bin $(obj)u-boot.bin > $(obj)u-boot-flexonenand.bin
 
@@ -394,7 +403,7 @@ updater:
 env:
                $(MAKE) -C tools/env all MTD_VERSION=${MTD_VERSION} || exit 1
 
-depend dep:    $(TIMESTAMP_FILE) $(VERSION_FILE)
+depend dep:    $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk
                for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done
 
 TAG_SUBDIRS += include
@@ -445,10 +454,12 @@ cscope:
                                                > cscope.files
                cscope -b -q -k
 
-$(obj)System.map:      $(obj)u-boot
-               @$(NM) $< | \
+SYSTEM_MAP = \
+               $(NM) $1 | \
                grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
-               sort > $(obj)System.map
+               LC_ALL=C sort
+$(obj)System.map:      $(obj)u-boot
+               @$(call SYSTEM_MAP,$<) > $(obj)System.map
 
 #
 # Auto-generate the autoconf.mk file (which is included by all makefiles)
@@ -809,15 +820,20 @@ v38b_config: unconfig
 ## MPC512x Systems
 #########################################################################
 
-ads5121_config \
-ads5121_rev2_config    \
+aria_config:   unconfig
+       @$(MKCONFIG) -a aria ppc mpc512x aria davedenx
+
+mecp5123_config:       unconfig
+       @$(MKCONFIG) -a mecp5123 ppc mpc512x mecp5123 esd
+
+mpc5121ads_config \
+mpc5121ads_rev2_config \
        : unconfig
        @mkdir -p $(obj)include
        @if [ "$(findstring rev2,$@)" ] ; then \
                echo "#define CONFIG_ADS5121_REV2 1" > $(obj)include/config.h; \
        fi
-       @$(MKCONFIG) -a ads5121 ppc mpc512x ads5121
-
+       @$(MKCONFIG) -a mpc5121ads ppc mpc512x mpc5121ads freescale
 
 #########################################################################
 ## MPC8xx Systems
@@ -1530,6 +1546,17 @@ rainier_nand_config: unconfig
        @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp
        @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
 
+sequoia_ramboot_config \
+rainier_ramboot_config: unconfig
+       @mkdir -p $(obj)include $(obj)board/amcc/sequoia
+       @echo "#define CONFIG_SYS_RAMBOOT" > $(obj)include/config.h
+       @echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \
+               tr '[:lower:]' '[:upper:]')" >> $(obj)include/config.h
+       @$(MKCONFIG) -n $@ -a sequoia ppc ppc4xx sequoia amcc
+       @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp
+       @echo "LDSCRIPT = board/amcc/sequoia/u-boot-ram.lds" >> \
+               $(obj)board/amcc/sequoia/config.tmp
+
 taihu_config:  unconfig
        @$(MKCONFIG) $(@:_config=) ppc ppc4xx taihu amcc
 
@@ -2453,6 +2480,15 @@ MPC8572DS_config:       unconfig
        fi
        @$(MKCONFIG) -a MPC8572DS ppc mpc85xx mpc8572ds freescale
 
+P2020DS_36BIT_config \
+P2020DS_config:                unconfig
+       @mkdir -p $(obj)include
+       @if [ "$(findstring _36BIT_,$@)" ] ; then \
+               echo "#define CONFIG_PHYS_64BIT" >>$(obj)include/config.h ; \
+               $(XECHO) "... enabling 36-bit physical addressing." ; \
+       fi
+       @$(MKCONFIG) -a P2020DS ppc mpc85xx p2020ds freescale
+
 PM854_config:  unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc85xx pm854
 
@@ -2544,6 +2580,9 @@ MPC8641HPCN_config:    unconfig
 sbc8641d_config:       unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc86xx sbc8641d
 
+XPEDITE5170_config:    unconfig
+       @$(MKCONFIG) $(@:_config=) ppc mpc86xx xpedite5170 xes
+
 #########################################################################
 ## 74xx/7xx Systems
 #########################################################################
@@ -2629,6 +2668,9 @@ shannon_config    :       unconfig
 at91rm9200dk_config    :       unconfig
        @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200dk atmel at91rm9200
 
+at91rm9200ek_config    :       unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200ek atmel at91rm9200
+
 cmc_pu2_config :       unconfig
        @$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
 
@@ -2743,6 +2785,9 @@ at91sam9rlek_config       :       unconfig
        fi;
        @$(MKCONFIG) -a at91sam9rlek arm arm926ejs at91sam9rlek atmel at91
 
+pm9263_config  :       unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm926ejs pm9263 ronetix at91
+
 ########################################################################
 ## ARM Integrator boards - see doc/README-integrator for more info.
 integratorap_config    \
@@ -2781,6 +2826,9 @@ davinci_sffsdr_config :   unconfig
 davinci_sonata_config :        unconfig
        @$(MKCONFIG) $(@:_config=) arm arm926ejs sonata davinci davinci
 
+davinci_dm355evm_config :      unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm926ejs dm355evm davinci davinci
+
 lpd7a400_config \
 lpd7a404_config:       unconfig
        @$(MKCONFIG) $(@:_config=) arm lh7a40x lpd7a40x
@@ -2974,6 +3022,9 @@ omap3_pandora_config :    unconfig
 omap3_zoom1_config :   unconfig
        @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom1 omap3 omap3
 
+omap3_zoom2_config :   unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom2 omap3 omap3
+
 #########################################################################
 ## XScale Systems
 #########################################################################
@@ -3066,6 +3117,7 @@ imx31_litekit_config      : unconfig
 
 imx31_phycore_eet_config \
 imx31_phycore_config   : unconfig
+       @mkdir -p $(obj)include
        @if [ -n "$(findstring _eet_,$@)" ]; then                       \
                echo "#define CONFIG_IMX31_PHYCORE_EET" >> $(obj)include/config.h;      \
        fi
@@ -3337,7 +3389,16 @@ suzaku_config:   unconfig
 
 # Analog Devices boards
 BFIN_BOARDS = bf518f-ezbrd bf526-ezbrd bf527-ezkit bf533-ezkit bf533-stamp \
-       bf537-stamp bf538f-ezkit bf548-ezkit bf561-ezkit
+       bf537-pnav bf537-stamp bf538f-ezkit bf548-ezkit bf561-ezkit
+
+# Bluetechnix tinyboards
+BFIN_BOARDS += cm-bf527 cm-bf533 cm-bf537e cm-bf548 cm-bf561 tcm-bf537
+
+# Misc third party boards
+BFIN_BOARDS += bf537-minotaur bf537-srv1 blackstamp
+
+# I-SYST Micromodule
+BFIN_BOARDS += ibf-dsp561
 
 $(BFIN_BOARDS:%=%_config)      : unconfig
        @$(MKCONFIG) $(@:_config=) blackfin blackfin $(@:_config=)
@@ -3511,8 +3572,7 @@ clean:
               $(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin}      \
               $(obj)board/trab/trab_fkt   $(obj)board/voiceblue/eeprom   \
               $(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds  \
-              $(obj)board/bf5{18f,26,27,33,38f,48,61}-ez{brd,kit}/u-boot.lds \
-              $(obj)board/bf5{33,37}-stamp/u-boot.lds                    \
+              $(obj)lib_blackfin/u-boot.lds                              \
               $(obj)cpu/blackfin/bootrom-asm-offsets.[chs]
        @rm -f $(obj)include/bmp_logo.h
        @rm -f $(obj)nand_spl/{u-boot-spl,u-boot-spl.map,System.map}
@@ -3520,7 +3580,7 @@ clean:
        @rm -f $(obj)api_examples/demo $(TIMESTAMP_FILE) $(VERSION_FILE)
        @find $(OBJTREE) -type f \
                \( -name 'core' -o -name '*.bak' -o -name '*~' \
-               -o -name '*.o'  -o -name '*.a'  \) -print \
+               -o -name '*.o'  -o -name '*.a' -o -name '*.exe' \) -print \
                | xargs rm -f
 
 clobber:       clean
@@ -3531,9 +3591,7 @@ clobber:  clean
        @rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS \
                $(obj)cscope.* $(obj)*.*~
        @rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL)
-       @rm -f $(obj)tools/{crc32.c,env_embedded.c,env/crc32.c,md5.c,sha1.c,inca-swap-bytes}
-       @rm -f $(obj)tools/{image.c,fdt.c,fdt_ro.c,fdt_rw.c,fdt_strerror.c,zlib.h}
-       @rm -f $(obj)tools/{fdt_wip.c,libfdt_internal.h}
+       @rm -f $(obj)tools/{env/crc32.c,inca-swap-bytes}
        @rm -f $(obj)cpu/mpc824x/bedbug_603e.c
        @rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm
        @[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -name "*" -type l -print | xargs rm -f