]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - Makefile
drivers/twserial: Add protocol driver for "three wire serial" interface.
[people/ms/u-boot.git] / Makefile
index 2ac8141f9c1a21fecc449d043c3d09a3a287d9c4..b6fb939f691bf530d52d32d6cfae400f8b974323 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
@@ -21,8 +21,8 @@
 # MA 02111-1307 USA
 #
 
-VERSION = 2008
-PATCHLEVEL = 10
+VERSION = 2009
+PATCHLEVEL = 03
 SUBLEVEL =
 EXTRAVERSION =
 ifneq "$(SUBLEVEL)" ""
@@ -30,6 +30,7 @@ U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 else
 U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL)$(EXTRAVERSION)
 endif
+TIMESTAMP_FILE = $(obj)include/timestamp_autogenerated.h
 VERSION_FILE = $(obj)include/version_autogenerated.h
 
 HOSTARCH := $(shell uname -m | \
@@ -44,7 +45,12 @@ HOSTARCH := $(shell uname -m | \
 HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
            sed -e 's/\(cygwin\).*/cygwin/')
 
-export HOSTARCH HOSTOS
+# Set shell to bash if possible, otherwise fall back to sh
+SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
+       else if [ -x /bin/bash ]; then echo /bin/bash; \
+       else echo sh; fi; fi)
+
+export HOSTARCH HOSTOS SHELL
 
 # Deal with colliding definitions from tcsh etc.
 VENDOR=
@@ -191,7 +197,7 @@ include $(TOPDIR)/config.mk
 OBJS  = cpu/$(CPU)/start.o
 ifeq ($(CPU),i386)
 OBJS += cpu/$(CPU)/start16.o
-OBJS += cpu/$(CPU)/reset.o
+OBJS += cpu/$(CPU)/resetvec.o
 endif
 ifeq ($(CPU),ppc4xx)
 OBJS += cpu/$(CPU)/resetvec.o
@@ -204,6 +210,7 @@ OBJS := $(addprefix $(obj),$(OBJS))
 
 LIBS  = lib_generic/libgeneric.a
 LIBS += lib_generic/lzma/liblzma.a
+LIBS += lib_generic/lzo/liblzo.a
 LIBS += $(shell if [ -f board/$(VENDOR)/common/Makefile ]; then echo \
        "board/$(VENDOR)/common/lib$(VENDOR).a"; fi)
 LIBS += cpu/$(CPU)/lib$(CPU).a
@@ -215,12 +222,15 @@ 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
 LIBS += drivers/block/libblock.a
 LIBS += drivers/dma/libdma.a
+LIBS += drivers/fpga/libfpga.a
+LIBS += drivers/gpio/libgpio.a
 LIBS += drivers/hwmon/libhwmon.a
 LIBS += drivers/i2c/libi2c.a
 LIBS += drivers/input/libinput.a
@@ -252,6 +262,7 @@ TAG_SUBDIRS += cpu/mpc8xxx
 endif
 LIBS += drivers/rtc/librtc.a
 LIBS += drivers/serial/libserial.a
+LIBS += drivers/twserial/libtws.a
 LIBS += drivers/usb/libusb.a
 LIBS += drivers/video/libvideo.a
 LIBS += common/libcommon.a
@@ -260,7 +271,7 @@ LIBS += api/libapi.a
 LIBS += post/libpost.a
 
 LIBS := $(addprefix $(obj),$(LIBS))
-.PHONY : $(LIBS) $(VERSION_FILE)
+.PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE)
 
 LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a
 LIBBOARD := $(addprefix $(obj),$(LIBBOARD))
@@ -309,7 +320,7 @@ $(obj)u-boot.bin:   $(obj)u-boot
                $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
 
 $(obj)u-boot.ldr:      $(obj)u-boot
-               $(LDR) -T $(CONFIG_BFIN_CPU) -f -c $@ $< $(LDR_FLAGS)
+               $(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS)
 
 $(obj)u-boot.ldr.hex:  $(obj)u-boot.ldr
                $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ -I binary
@@ -340,7 +351,7 @@ $(obj)u-boot:               depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT)
 $(OBJS):       depend $(obj)include/autoconf.mk
                $(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@))
 
-$(LIBS):       depend $(obj)include/autoconf.mk
+$(LIBS):       depend $(obj)include/autoconf.mk $(SUBDIRS)
                $(MAKE) -C $(dir $(subst $(obj),,$@))
 
 $(LIBBOARD):   depend $(LIBS) $(obj)include/autoconf.mk
@@ -352,13 +363,13 @@ $(SUBDIRS):       depend $(obj)include/autoconf.mk
 $(LDSCRIPT):   depend $(obj)include/autoconf.mk
                $(MAKE) -C $(dir $@) $(notdir $@)
 
-$(NAND_SPL):   $(VERSION_FILE) $(obj)include/autoconf.mk
+$(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
                cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin
 
-$(ONENAND_IPL):        $(VERSION_FILE) $(obj)include/autoconf.mk
+$(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
@@ -367,10 +378,13 @@ $(U_BOOT_ONENAND):        $(ONENAND_IPL) $(obj)u-boot.bin $(obj)include/autoconf.mk
 
 $(VERSION_FILE):
                @( printf '#define U_BOOT_VERSION "U-Boot %s%s"\n' "$(U_BOOT_VERSION)" \
-                '$(shell $(CONFIG_SHELL) $(TOPDIR)/tools/setlocalversion $(TOPDIR))' \
-                ) > $@.tmp
+                '$(shell $(TOPDIR)/tools/setlocalversion $(TOPDIR))' ) > $@.tmp
                @cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@
 
+$(TIMESTAMP_FILE):
+               @date +'#define U_BOOT_DATE "%b %d %C%y"' > $@
+               @date +'#define U_BOOT_TIME "%T"' >> $@
+
 gdbtools:
                $(MAKE) -C tools/gdb all || exit 1
 
@@ -380,7 +394,7 @@ updater:
 env:
                $(MAKE) -C tools/env all MTD_VERSION=${MTD_VERSION} || exit 1
 
-depend dep:    $(VERSION_FILE)
+depend dep:    $(TIMESTAMP_FILE) $(VERSION_FILE)
                for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done
 
 TAG_SUBDIRS += include
@@ -397,6 +411,7 @@ TAG_SUBDIRS += disk
 TAG_SUBDIRS += common
 TAG_SUBDIRS += drivers/bios_emulator
 TAG_SUBDIRS += drivers/block
+TAG_SUBDIRS += drivers/gpio
 TAG_SUBDIRS += drivers/hwmon
 TAG_SUBDIRS += drivers/i2c
 TAG_SUBDIRS += drivers/input
@@ -453,7 +468,8 @@ $(obj)include/autoconf.mk: $(obj)include/config.h
        set -e ; \
        : Extract the config macros ; \
        $(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \
-               sed -n -f tools/scripts/define2mk.sed > $@
+               sed -n -f tools/scripts/define2mk.sed > $@.tmp && \
+       mv $@.tmp $@
 
 sinclude $(obj)include/autoconf.mk.dep
 
@@ -461,7 +477,7 @@ sinclude $(obj)include/autoconf.mk.dep
 else   # !config.mk
 all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \
 $(obj)u-boot.img $(obj)u-boot.dis $(obj)u-boot \
-$(SUBDIRS) $(VERSION_FILE) gdbtools updater env depend \
+$(SUBDIRS) $(TIMESTAMP_FILE) $(VERSION_FILE) gdbtools updater env depend \
 dep tags ctags etags cscope $(obj)System.map:
        @echo "System not configured - see README" >&2
        @ exit 1
@@ -514,6 +530,22 @@ cm5200_config:     unconfig
 cpci5200_config:  unconfig
        @$(MKCONFIG) -a cpci5200  ppc mpc5xxx cpci5200 esd
 
+digsy_mtc_config \
+digsy_mtc_LOWBOOT_config       \
+digsy_mtc_RAMBOOT_config:      unconfig
+       @mkdir -p $(obj)include
+       @mkdir -p $(obj)board/digsy_mtc
+       @ >$(obj)include/config.h
+       @[ -z "$(findstring LOWBOOT_,$@)" ] || \
+               { echo "TEXT_BASE = 0xFF000000" >$(obj)board/digsy_mtc/config.tmp ; \
+                 echo "... with LOWBOOT configuration" ; \
+               }
+       @[ -z "$(findstring RAMBOOT_,$@)" ] || \
+               { echo "TEXT_BASE = 0x00100000" >$(obj)board/digsy_mtc/config.tmp ; \
+                 echo "... with RAMBOOT configuration" ; \
+               }
+       @$(MKCONFIG) -a digsy_mtc  ppc mpc5xxx digsy_mtc
+
 hmi1001_config:        unconfig
        @$(MKCONFIG) hmi1001 ppc mpc5xxx hmi1001
 
@@ -908,6 +940,9 @@ IVMS8_config:       unconfig
                 }
        @$(MKCONFIG) -a IVMS8 ppc mpc8xx ivm
 
+kmsupx4_config:                unconfig
+       @$(MKCONFIG) $(@:_config=) ppc mpc8xx km8xx keymile
+
 KUP4K_config   :       unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc8xx kup4k kup
 
@@ -925,7 +960,7 @@ MBX860T_config:     unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc8xx mbx8xx
 
 mgsuvd_config:         unconfig
-       @$(MKCONFIG) $(@:_config=) ppc mpc8xx mgsuvd keymile
+       @$(MKCONFIG) $(@:_config=) ppc mpc8xx km8xx keymile
 
 MHPC_config:           unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc8xx mhpc eltec
@@ -1251,14 +1286,11 @@ CMS700_config:  unconfig
 CPCI2DP_config:        unconfig
        @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci2dp esd
 
-CPCI405_config:                unconfig
-       @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci405 esd
-
+CPCI405_config         \
 CPCI4052_config                \
 CPCI405DT_config       \
 CPCI405AB_config:      unconfig
        @mkdir -p $(obj)board/esd/cpci405
-       @echo "TEXT_BASE = 0xFFFC0000" > $(obj)board/esd/cpci405/config.tmp
        @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci405 esd
 
 CPCIISER4_config:      unconfig
@@ -1315,6 +1347,9 @@ fx12mm_config: unconfig
 G2000_config:  unconfig
        @$(MKCONFIG) $(@:_config=) ppc ppc4xx g2000
 
+gdppc440etx_config:    unconfig
+       @$(MKCONFIG) $(@:_config=) ppc ppc4xx gdppc440etx gdsys
+
 hcu4_config:   unconfig
        @mkdir -p $(obj)board/netstal/common
        @$(MKCONFIG) $(@:_config=) ppc ppc4xx hcu4 netstal
@@ -2176,6 +2211,9 @@ TASREG_config :           unconfig
 ## MPC83xx Systems
 #########################################################################
 
+kmeter1_config: unconfig
+       @$(MKCONFIG) kmeter1 ppc mpc83xx kmeter1 keymile
+
 MPC8313ERDB_33_config \
 MPC8313ERDB_66_config \
 MPC8313ERDB_NAND_33_config \
@@ -2315,6 +2353,21 @@ MVBLM7_config: unconfig
 sbc8349_config:                unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc83xx sbc8349
 
+SIMPC8313_LP_config \
+SIMPC8313_SP_config: unconfig
+       @mkdir -p $(obj)include
+       @mkdir -p $(obj)board/sheldon/simpc8313
+       @if [ "$(findstring _LP_,$@)" ] ; then \
+               $(XECHO) -n "...Large Page NAND..." ; \
+               echo "#define CONFIG_NAND_LP" >> $(obj)include/config.h ; \
+       fi ; \
+       if [ "$(findstring _SP_,$@)" ] ; then \
+               $(XECHO) -n "...Small Page NAND..." ; \
+               echo "#define CONFIG_NAND_SP" >> $(obj)include/config.h ; \
+       fi ;
+       @$(MKCONFIG) -a SIMPC8313 ppc mpc83xx simpc8313 sheldon
+       @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
+
 TQM834x_config:        unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc83xx tqm834x tqc
 
@@ -2388,8 +2441,14 @@ MPC8555CDS_config:       unconfig
 MPC8568MDS_config:     unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8568mds freescale
 
+MPC8572DS_36BIT_config \
 MPC8572DS_config:       unconfig
-       @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8572ds freescale
+       @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 MPC8572DS ppc mpc85xx mpc8572ds freescale
 
 PM854_config:  unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc85xx pm854
@@ -2442,16 +2501,26 @@ stxssa_4M_config:       unconfig
 TQM8540_config         \
 TQM8541_config         \
 TQM8548_config         \
+TQM8548_AG_config      \
+TQM8548_BE_config      \
 TQM8555_config         \
 TQM8560_config:                unconfig
        @mkdir -p $(obj)include
-       @CTYPE=$(subst TQM,,$(@:_config=)); \
-       $(XECHO) "... TQM"$${CTYPE}; \
+       @BTYPE=$(@:_config=); \
+       CTYPE=$(subst TQM,,$(subst _AG,,$(subst _BE,,$(@:_config=)))); \
+       $(XECHO) "... "$${BTYPE}" (MPC"$${CTYPE}")"; \
        echo "#define CONFIG_MPC$${CTYPE}">>$(obj)include/config.h; \
-       echo "#define CONFIG_TQM$${CTYPE}">>$(obj)include/config.h; \
+       echo "#define CONFIG_$${BTYPE}">>$(obj)include/config.h; \
        echo "#define CONFIG_HOSTNAME tqm$${CTYPE}">>$(obj)include/config.h; \
-       echo "#define CONFIG_BOARDNAME \"TQM$${CTYPE}\"">>$(obj)include/config.h;
+       echo "#define CONFIG_BOARDNAME \"$${BTYPE}\"">>$(obj)include/config.h;
        @$(MKCONFIG) -a TQM85xx ppc mpc85xx tqm85xx tqc
+       @echo "CONFIG_$(@:_config=) = y">>$(obj)include/config.mk;
+
+XPEDITE5200_config:    unconfig
+       @$(MKCONFIG) $(@:_config=) ppc mpc85xx xpedite5200 xes
+
+XPEDITE5370_config:    unconfig
+       @$(MKCONFIG) $(@:_config=) ppc mpc85xx xpedite5370 xes
 
 #########################################################################
 ## MPC86xx Systems
@@ -2585,7 +2654,18 @@ at91cap9adk_config       :       unconfig
 at91sam9260ek_nandflash_config \
 at91sam9260ek_dataflash_cs0_config \
 at91sam9260ek_dataflash_cs1_config \
-at91sam9260ek_config   :       unconfig
+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" ; \
@@ -2598,10 +2678,28 @@ at91sam9260ek_config    :       unconfig
        fi;
        @$(MKCONFIG) -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91
 
+at91sam9xeek_nandflash_config \
+at91sam9xeek_dataflash_cs0_config \
+at91sam9xeek_dataflash_cs1_config \
+at91sam9xeek_config    :       unconfig
+       @mkdir -p $(obj)include
+       @if [ "$(findstring _nandflash,$@)" ] ; then \
+               echo "#define CONFIG_SYS_USE_NANDFLASH 1"       >>$(obj)include/config.h ; \
+               $(XECHO) "... with environment variable in NAND FLASH" ; \
+       elif [ "$(findstring dataflash_cs0,$@)" ] ; then \
+               echo "#define CONFIG_SYS_USE_DATAFLASH_CS0 1"   >>$(obj)include/config.h ; \
+               $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
+       else \
+               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 at91
+
 at91sam9261ek_nandflash_config \
 at91sam9261ek_dataflash_cs0_config \
 at91sam9261ek_dataflash_cs3_config \
 at91sam9261ek_config   :       unconfig
+       @mkdir -p $(obj)include
        @if [ "$(findstring _nandflash,$@)" ] ; then \
                echo "#define CONFIG_SYS_USE_NANDFLASH 1"       >>$(obj)include/config.h ; \
                $(XECHO) "... with environment variable in NAND FLASH" ; \
@@ -2618,6 +2716,7 @@ at91sam9263ek_nandflash_config \
 at91sam9263ek_dataflash_config \
 at91sam9263ek_dataflash_cs0_config \
 at91sam9263ek_config   :       unconfig
+       @mkdir -p $(obj)include
        @if [ "$(findstring _nandflash,$@)" ] ; then \
                echo "#define CONFIG_SYS_USE_NANDFLASH 1"       >>$(obj)include/config.h ; \
                $(XECHO) "... with environment variable in NAND FLASH" ; \
@@ -2631,6 +2730,7 @@ at91sam9rlek_nandflash_config \
 at91sam9rlek_dataflash_config \
 at91sam9rlek_dataflash_cs0_config \
 at91sam9rlek_config    :       unconfig
+       @mkdir -p $(obj)include
        @if [ "$(findstring _nandflash,$@)" ] ; then \
                echo "#define CONFIG_SYS_USE_NANDFLASH 1"       >>$(obj)include/config.h ; \
                $(XECHO) "... with environment variable in NAND FLASH" ; \
@@ -2652,7 +2752,7 @@ ap720t_config             \
 ap920t_config          \
 ap926ejs_config                \
 ap946es_config: unconfig
-       @board/integratorap/split_by_variant.sh $@
+       @board/armltd/integratorap/split_by_variant.sh $@
 
 integratorcp_config    \
 cp_config              \
@@ -2664,7 +2764,7 @@ cp966_config              \
 cp922_config           \
 cp922_XA10_config      \
 cp1026_config: unconfig
-       @board/integratorcp/split_by_variant.sh $@
+       @board/armltd/integratorcp/split_by_variant.sh $@
 
 davinci_dvevm_config : unconfig
        @$(MKCONFIG) $(@:_config=) arm arm926ejs dvevm davinci davinci
@@ -2691,6 +2791,18 @@ mx1fs2_config    :       unconfig
 netstar_config:                unconfig
        @$(MKCONFIG) $(@:_config=) arm arm925t netstar
 
+nmdk8815_config \
+nmdk8815_onenand_config:       unconfig
+       @mkdir -p $(obj)include
+       @ > $(obj)include/config.h
+       @if [ "$(findstring _onenand, $@)" ] ; then \
+               echo "#define CONFIG_BOOT_ONENAND" >> $(obj)include/config.h; \
+               $(XECHO) "... configured for OneNand Flash"; \
+       else \
+               $(XECHO) "... configured for Nand Flash"; \
+       fi
+       @$(MKCONFIG) -a nmdk8815 arm arm926ejs nmdk8815 st nomadik
+
 omap1510inn_config :   unconfig
        @$(MKCONFIG) $(@:_config=) arm arm925t omap1510inn
 
@@ -2742,13 +2854,22 @@ scb9328_config  :       unconfig
        @$(MKCONFIG) $(@:_config=) arm arm920t scb9328 NULL imx
 
 smdk2400_config        :       unconfig
-       @$(MKCONFIG) $(@:_config=) arm arm920t smdk2400 NULL s3c24x0
+       @$(MKCONFIG) $(@:_config=) arm arm920t smdk2400 samsung s3c24x0
 
 smdk2410_config        :       unconfig
-       @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
+       @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0
 
-SX1_config :           unconfig
-       @$(MKCONFIG) $(@:_config=) arm arm925t sx1
+SX1_stdout_serial_config \
+SX1_config:            unconfig
+       @mkdir -p $(obj)include
+       @if [ "$(findstring _stdout_serial_, $@)" ] ; then \
+               echo "#undef CONFIG_STDOUT_USBTTY" >> $(obj)include/config.h ; \
+               $(XECHO) "... configured for stdout serial"; \
+       else \
+               echo "#define CONFIG_STDOUT_USBTTY" >> $(obj)include/config.h ; \
+               $(XECHO) "... configured for stdout usbtty"; \
+       fi;
+       @$(MKCONFIG) SX1 arm arm925t sx1
 
 # TRAB default configuration:  8 MB Flash, 32 MB RAM
 xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1))))
@@ -2794,7 +2915,7 @@ cm41xx_config     :       unconfig
 versatile_config       \
 versatileab_config     \
 versatilepb_config :   unconfig
-       @board/versatile/split_by_variant.sh $@
+       @board/armltd/versatile/split_by_variant.sh $@
 
 voiceblue_config:      unconfig
        @$(MKCONFIG) $(@:_config=) arm arm925t voiceblue
@@ -2831,6 +2952,25 @@ lpc2292sodimm_config:    unconfig
 SMN42_config   :       unconfig
        @$(MKCONFIG) $(@:_config=) arm arm720t SMN42 siemens lpc2292
 
+#########################################################################
+## ARM CORTEX Systems
+#########################################################################
+
+omap3_beagle_config :  unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 beagle omap3 omap3
+
+omap3_overo_config :   unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 overo omap3 omap3
+
+omap3_evm_config :     unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 evm omap3 omap3
+
+omap3_pandora_config : unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 pandora omap3 omap3
+
+omap3_zoom1_config :   unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom1 omap3 omap3
+
 #########################################################################
 ## XScale Systems
 #########################################################################
@@ -2921,8 +3061,12 @@ apollon_config           : unconfig
 imx31_litekit_config   : unconfig
        @$(MKCONFIG) $(@:_config=) arm arm1136 imx31_litekit NULL mx31
 
+imx31_phycore_eet_config \
 imx31_phycore_config   : unconfig
-       @$(MKCONFIG) $(@:_config=) arm arm1136 imx31_phycore NULL mx31
+       @if [ -n "$(findstring _eet_,$@)" ]; then                       \
+               echo "#define CONFIG_IMX31_PHYCORE_EET" >> $(obj)include/config.h;      \
+       fi
+       @$(MKCONFIG) -a imx31_phycore arm arm1136 imx31_phycore NULL mx31
 
 mx31ads_config         : unconfig
        @$(MKCONFIG) $(@:_config=) arm arm1136 mx31ads freescale mx31
@@ -2930,6 +3074,10 @@ mx31ads_config           : unconfig
 omap2420h4_config      : unconfig
        @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 NULL omap24xx
 
+qong_config            : unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm1136 qong davedenx mx31
+
+
 #########################################################################
 ## ARM1176 Systems
 #########################################################################
@@ -2953,14 +3101,17 @@ smdk6400_config :       unconfig
 #########################################################################
 ## AMD SC520 CDP
 #########################################################################
+eNET_config    :       unconfig
+       @$(MKCONFIG) $(@:_config=) i386 i386 eNET NULL sc520
+
 sc520_cdp_config       :       unconfig
-       @$(MKCONFIG) $(@:_config=) i386 i386 sc520_cdp
+       @$(MKCONFIG) $(@:_config=) i386 i386 sc520_cdp NULL sc520
 
 sc520_spunk_config     :       unconfig
-       @$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk
+       @$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk NULL sc520
 
 sc520_spunk_rel_config :       unconfig
-       @$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk
+       @$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk NULL sc520
 
 #========================================================================
 # MIPS
@@ -2993,6 +3144,41 @@ incaip_config: unconfig
 tb0229_config: unconfig
        @$(MKCONFIG) $(@:_config=) mips mips tb0229
 
+vct_premium_config             \
+vct_premium_small_config       \
+vct_premium_onenand_config     \
+vct_premium_onenand_small_config \
+vct_platinum_config            \
+vct_platinum_small_config      \
+vct_platinum_onenand_config    \
+vct_platinum_onenand_small_config \
+vct_platinumavc_config         \
+vct_platinumavc_small_config   \
+vct_platinumavc_onenand_config \
+vct_platinumavc_onenand_small_config: unconfig
+       @mkdir -p $(obj)include
+       @if [ "$(findstring _premium,$@)" ] ; then \
+               echo "#define CONFIG_VCT_PREMIUM" > $(obj)include/config.h ; \
+               $(XECHO) "... on Premium board variant" ; \
+       fi
+       @if [ "$(findstring _platinum_,$@)" ] ; then \
+               echo "#define CONFIG_VCT_PLATINUM" > $(obj)include/config.h ; \
+               $(XECHO) "... on Platinum board variant" ; \
+       fi
+       @if [ "$(findstring _platinumavc,$@)" ] ; then \
+               echo "#define CONFIG_VCT_PLATINUMAVC" > $(obj)include/config.h ; \
+               $(XECHO) "... on PlatinumAVC board variant" ; \
+       fi
+       @if [ "$(findstring _onenand,$@)" ] ; then \
+               echo "#define CONFIG_VCT_ONENAND" >> $(obj)include/config.h ; \
+               $(XECHO) "... on OneNAND board variant" ; \
+       fi
+       @if [ "$(findstring _small,$@)" ] ; then \
+               echo "#define CONFIG_VCT_SMALL_IMAGE" >> $(obj)include/config.h ; \
+               $(XECHO) "... stripped down image variant" ; \
+       fi
+       @$(MKCONFIG) -a vct mips mips vct micronas
+
 #########################################################################
 ## MIPS32 AU1X00
 #########################################################################
@@ -3133,21 +3319,15 @@ PCI5441_config : unconfig
 ## Microblaze
 #========================================================================
 
-ml401_config:  unconfig
+microblaze-generic_config:     unconfig
        @mkdir -p $(obj)include
-       @echo "#define CONFIG_ML401 1" > $(obj)include/config.h
-       @$(MKCONFIG) -a $(@:_config=) microblaze microblaze ml401 xilinx
+       @$(MKCONFIG) -a $(@:_config=) microblaze microblaze microblaze-generic xilinx
 
 suzaku_config: unconfig
        @mkdir -p $(obj)include
        @echo "#define CONFIG_SUZAKU 1" > $(obj)include/config.h
        @$(MKCONFIG) -a $(@:_config=) microblaze microblaze suzaku AtmarkTechno
 
-xupv2p_config: unconfig
-       @mkdir -p $(obj)include
-       @echo "#define CONFIG_XUPV2P 1" > $(obj)include/config.h
-       @$(MKCONFIG) -a $(@:_config=) microblaze microblaze xupv2p xilinx
-
 #========================================================================
 # Blackfin
 #========================================================================
@@ -3198,9 +3378,9 @@ mimc200_config            :       unconfig
 ## sh2 (Renesas SuperH)
 #########################################################################
 rsk7203_config: unconfig
-       @ >include/config.h
-       @echo "#define CONFIG_RSK7203 1" >include/config.h
-       @./mkconfig -a $(@:_config=) sh sh2 rsk7203 renesas
+       @mkdir -p $(obj)include
+       @echo "#define CONFIG_RSK7203 1" > $(obj)include/config.h
+       @$(MKCONFIG) -a $(@:_config=) sh sh2 rsk7203 renesas
 
 #########################################################################
 ## sh3 (Renesas SuperH)
@@ -3223,7 +3403,7 @@ ms7720se_config: unconfig
 MigoR_config :       unconfig
        @mkdir -p $(obj)include
        @echo "#define CONFIG_MIGO_R 1" > $(obj)include/config.h
-       @./mkconfig -a $(@:_config=) sh sh4 MigoR renesas
+       @$(MKCONFIG) -a $(@:_config=) sh sh4 MigoR renesas
 
 ms7750se_config: unconfig
        @mkdir -p $(obj)include
@@ -3250,10 +3430,23 @@ sh7763rdp_config  :   unconfig
        @echo "#define CONFIG_SH7763RDP 1" > $(obj)include/config.h
        @$(MKCONFIG) -a $(@:_config=) sh sh4 sh7763rdp renesas
 
+xtract_sh7785lcr = $(subst _32bit,,$(subst _config,,$1))
+sh7785lcr_32bit_config \
 sh7785lcr_config  :   unconfig
        @ >include/config.h
        @echo "#define CONFIG_SH7785LCR 1" >> include/config.h
-       @$(MKCONFIG) -a $(@:_config=) sh sh4 sh7785lcr renesas
+       @if [ "$(findstring 32bit, $@)" ] ; then \
+               echo "#define CONFIG_SH_32BIT 1" >> $(obj)include/config.h ; \
+               cp $(obj)board/renesas/sh7785lcr/u-boot_32bit \
+                       $(obj)board/renesas/sh7785lcr/u-boot.lds ; \
+               echo "TEXT_BASE = 0x8ff80000" > \
+                       $(obj)board/renesas/sh7785lcr/config.tmp ; \
+                 $(XECHO) " ... enable 32-Bit Address Extended Mode" ; \
+       else \
+               cp $(obj)board/renesas/sh7785lcr/u-boot_29bit \
+                       $(obj)board/renesas/sh7785lcr/u-boot.lds ; \
+       fi
+       @$(MKCONFIG) -a $(call xtract_sh7785lcr,$@) sh sh4 sh7785lcr renesas
 
 ap325rxa_config  :   unconfig
        @mkdir -p $(obj)include
@@ -3313,13 +3506,13 @@ clean:
        @rm -f $(obj)board/cray/L1/{bootscript.c,bootscript.image}        \
               $(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin}      \
               $(obj)board/trab/trab_fkt   $(obj)board/voiceblue/eeprom   \
-              $(obj)board/{integratorap,integratorcp}/u-boot.lds         \
+              $(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds  \
               $(obj)board/{bf533-ezkit,bf533-stamp,bf537-stamp,bf561-ezkit}/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}
        @rm -f $(obj)onenand_ipl/onenand-{ipl,ipl.bin,ipl-2k.bin,ipl-4k.bin,ipl.map}
-       @rm -f $(obj)api_examples/demo $(VERSION_FILE)
+       @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 \