]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - Makefile
integratorcp: split timer support
[karo-tx-uboot.git] / Makefile
index 199a224e85f818ae75e7bf32d9f89a1ee72ed3e0..a6f42319366806fc46caafd8b9e1752e8c14495f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2000-2008
+# (C) Copyright 2000-2009
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -22,9 +22,9 @@
 #
 
 VERSION = 2009
-PATCHLEVEL = 03
+PATCHLEVEL = 06
 SUBLEVEL =
-EXTRAVERSION = -rc2
+EXTRAVERSION =
 ifneq "$(SUBLEVEL)" ""
 U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 else
@@ -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
@@ -222,7 +230,8 @@ LIBS += cpu/ixp/npe/libnpe.a
 endif
 LIBS += lib_$(ARCH)/lib$(ARCH).a
 LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
-       fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a
+       fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a \
+       fs/ubifs/libubifs.a
 LIBS += net/libnet.a
 LIBS += disk/libdisk.a
 LIBS += drivers/bios_emulator/libatibiosemu.a
@@ -261,8 +270,12 @@ TAG_SUBDIRS += cpu/mpc8xxx
 endif
 LIBS += drivers/rtc/librtc.a
 LIBS += drivers/serial/libserial.a
-LIBS += drivers/usb/libusb.a
+LIBS += drivers/twserial/libtws.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
@@ -277,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
@@ -301,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)
 
@@ -318,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
@@ -339,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
 
@@ -392,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
@@ -443,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)
@@ -807,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
@@ -1528,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
 
@@ -2439,6 +2468,9 @@ MPC8555CDS_config:        unconfig
 MPC8568MDS_config:     unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8568mds freescale
 
+MPC8569MDS_config:     unconfig
+       @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8569mds freescale
+
 MPC8572DS_36BIT_config \
 MPC8572DS_config:       unconfig
        @mkdir -p $(obj)include
@@ -2448,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
 
@@ -2624,6 +2665,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
 
@@ -2652,8 +2696,18 @@ at91cap9adk_config       :       unconfig
 at91sam9260ek_nandflash_config \
 at91sam9260ek_dataflash_cs0_config \
 at91sam9260ek_dataflash_cs1_config \
-at91sam9260ek_config   :       unconfig
-       @mkdir -p $(obj)include
+at91sam9260ek_config \
+at91sam9g20ek_nandflash_config \
+at91sam9g20ek_dataflash_cs0_config \
+at91sam9g20ek_dataflash_cs1_config \
+at91sam9g20ek_config   :       unconfig
+       @mkdir -p $(obj)include
+       @if [ "$(findstring 9g20,$@)" ] ; then \
+               echo "#define CONFIG_AT91SAM9G20EK 1"   >>$(obj)include/config.h ; \
+               $(XECHO) "... 9G20 Variant" ; \
+       else \
+               echo "#define CONFIG_AT91SAM9260EK 1"   >>$(obj)include/config.h ; \
+       fi;
        @if [ "$(findstring _nandflash,$@)" ] ; then \
                echo "#define CONFIG_SYS_USE_NANDFLASH 1"       >>$(obj)include/config.h ; \
                $(XECHO) "... with environment variable in NAND FLASH" ; \
@@ -2681,7 +2735,7 @@ at91sam9xeek_config       :       unconfig
                echo "#define CONFIG_SYS_USE_DATAFLASH_CS1 1"   >>$(obj)include/config.h ; \
                $(XECHO) "... with environment variable in SPI DATAFLASH CS1" ; \
        fi;
-       @$(MKCONFIG) -n at91sam9xeek -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91sam9
+       @$(MKCONFIG) -n at91sam9xeek -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91
 
 at91sam9261ek_nandflash_config \
 at91sam9261ek_dataflash_cs0_config \
@@ -2700,6 +2754,8 @@ at91sam9261ek_config      :       unconfig
        fi;
        @$(MKCONFIG) -a at91sam9261ek arm arm926ejs at91sam9261ek atmel at91
 
+at91sam9263ek_norflash_config \
+at91sam9263ek_norflash_boot_config \
 at91sam9263ek_nandflash_config \
 at91sam9263ek_dataflash_config \
 at91sam9263ek_dataflash_cs0_config \
@@ -2708,10 +2764,17 @@ at91sam9263ek_config    :       unconfig
        @if [ "$(findstring _nandflash,$@)" ] ; then \
                echo "#define CONFIG_SYS_USE_NANDFLASH 1"       >>$(obj)include/config.h ; \
                $(XECHO) "... with environment variable in NAND FLASH" ; \
+       elif [ "$(findstring norflash,$@)" ] ; then \
+               echo "#define CONFIG_SYS_USE_NORFLASH 1"        >>$(obj)include/config.h ; \
+               $(XECHO) "... with environment variable in NOR FLASH" ; \
        else \
                echo "#define CONFIG_SYS_USE_DATAFLASH 1"       >>$(obj)include/config.h ; \
                $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
        fi;
+       @if [ "$(findstring norflash_boot,$@)" ] ; then \
+               echo "#define CONFIG_SYS_USE_BOOT_NORFLASH 1"   >>$(obj)include/config.h ; \
+               $(XECHO) "... and boot from NOR FLASH" ; \
+       fi;
        @$(MKCONFIG) -a at91sam9263ek arm arm926ejs at91sam9263ek atmel at91
 
 at91sam9rlek_nandflash_config \
@@ -2728,6 +2791,12 @@ at91sam9rlek_config      :       unconfig
        fi;
        @$(MKCONFIG) -a at91sam9rlek arm arm926ejs at91sam9rlek atmel at91
 
+pm9261_config  :       unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm926ejs pm9261 ronetix at91
+
+pm9263_config  :       unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm926ejs pm9263 ronetix at91
+
 ########################################################################
 ## ARM Integrator boards - see doc/README-integrator for more info.
 integratorap_config    \
@@ -2766,6 +2835,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
@@ -2932,7 +3004,7 @@ modnet50_config : unconfig
        @$(MKCONFIG) $(@:_config=) arm arm720t modnet50
 
 evb4510_config :       unconfig
-       @$(MKCONFIG) $(@:_config=) arm arm720t evb4510
+       @$(MKCONFIG) $(@:_config=) arm arm720t evb4510 NULL s3c4510b
 
 lpc2292sodimm_config:  unconfig
        @$(MKCONFIG) $(@:_config=) arm arm720t lpc2292sodimm NULL lpc2292
@@ -2959,6 +3031,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
 #########################################################################
@@ -3051,6 +3126,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
@@ -3321,7 +3397,17 @@ suzaku_config:   unconfig
 #========================================================================
 
 # Analog Devices boards
-BFIN_BOARDS = bf533-ezkit bf533-stamp bf537-stamp bf561-ezkit
+BFIN_BOARDS = bf518f-ezbrd bf526-ezbrd bf527-ezkit bf533-ezkit bf533-stamp \
+       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=)
@@ -3495,7 +3581,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/{bf533-ezkit,bf533-stamp,bf537-stamp,bf561-ezkit}/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}
@@ -3503,7 +3589,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
@@ -3514,9 +3600,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