]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - Makefile
Add ARM946E cpu and core module targets; remap memory to 0x00000000
[karo-tx-uboot.git] / Makefile
index ba52bdd37768cb06840894ccabdcb94f48eafabb..26fc73d85dfaf5c0a896745dab67d03b97a87d5a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2000-2004
+# (C) Copyright 2000-2005
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -29,10 +29,10 @@ HOSTARCH := $(shell uname -m | \
            -e s/powerpc/ppc/ \
            -e s/macppc/ppc/)
 
-HOSTOS := $(shell uname -s | tr A-Z a-z | \
+HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
            sed -e 's/\(cygwin\).*/cygwin/')
 
-export HOSTARCH
+export HOSTARCH HOSTOS
 
 # Deal with colliding definitions from tcsh etc.
 VENDOR=
@@ -45,7 +45,7 @@ export        TOPDIR
 ifeq (include/config.mk,$(wildcard include/config.mk))
 # load ARCH, BOARD, and CPU configuration
 include include/config.mk
-export ARCH CPU BOARD VENDOR
+export ARCH CPU BOARD VENDOR SOC
 # load other configuration
 include $(TOPDIR)/config.mk
 
@@ -54,7 +54,7 @@ ifeq ($(HOSTARCH),ppc)
 CROSS_COMPILE =
 else
 ifeq ($(ARCH),ppc)
-CROSS_COMPILE = ppc_8xx-
+CROSS_COMPILE = powerpc-linux-
 endif
 ifeq ($(ARCH),arm)
 CROSS_COMPILE = arm-linux-
@@ -72,6 +72,9 @@ endif
 ifeq ($(ARCH),nios)
 CROSS_COMPILE = nios-elf-
 endif
+ifeq ($(ARCH),nios2)
+CROSS_COMPILE = nios2-elf-
+endif
 ifeq ($(ARCH),m68k)
 CROSS_COMPILE = m68k-elf-
 endif
@@ -94,6 +97,9 @@ endif
 ifeq ($(CPU),ppc4xx)
 OBJS += cpu/$(CPU)/resetvec.o
 endif
+ifeq ($(CPU),mpc83xx)
+OBJS += cpu/$(CPU)/resetvec.o
+endif
 ifeq ($(CPU),mpc85xx)
 OBJS += cpu/$(CPU)/resetvec.o
 endif
@@ -101,9 +107,12 @@ endif
 LIBS  = lib_generic/libgeneric.a
 LIBS += board/$(BOARDDIR)/lib$(BOARD).a
 LIBS += cpu/$(CPU)/lib$(CPU).a
+ifdef SOC
+LIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).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/reiserfs/libreiserfs.a fs/ext2/libext2fs.a
 LIBS += net/libnet.a
 LIBS += disk/libdisk.a
 LIBS += rtc/librtc.a
@@ -115,7 +124,7 @@ LIBS += common/libcommon.a
 .PHONY : $(LIBS)
 
 # Add GCC lib
-PLATFORM_LIBS += --no-warn-mismatch -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
+PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
 
 
 # The "tools" are needed early, so put this first
@@ -133,6 +142,9 @@ ALL = u-boot.srec u-boot.bin System.map
 
 all:           $(ALL)
 
+u-boot.hex:    u-boot
+               $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@
+
 u-boot.srec:   u-boot
                $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
 
@@ -152,7 +164,7 @@ u-boot.dis: u-boot
 u-boot:                depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
                UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
                $(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) \
-                       --start-group $(LIBS) $(PLATFORM_LIBS) --end-group \
+                       --start-group $(LIBS) --end-group $(PLATFORM_LIBS) \
                        -Map u-boot.map -o u-boot
 
 $(LIBS):
@@ -206,6 +218,9 @@ unconfig:
 ## MPC5xx Systems
 #########################################################################
 
+canmb_config:  unconfig
+       @./mkconfig -a canmb ppc mpc5xxx canmb
+
 cmi_mpc5xx_config:     unconfig
        @./mkconfig $(@:_config=) ppc mpc5xx cmi
 
@@ -215,6 +230,16 @@ PATI_config:               unconfig
 #########################################################################
 ## MPC5xxx Systems
 #########################################################################
+
+aev_config: unconfig
+       @./mkconfig -a aev ppc mpc5xxx tqm5200
+
+cpci5200_config:  unconfig
+       @./mkconfig -a cpci5200  ppc mpc5xxx cpci5200 esd
+
+hmi1001_config:         unconfig
+       @./mkconfig hmi1001 ppc mpc5xxx hmi1001
+
 Lite5200_config                                \
 Lite5200_LOWBOOT_config                        \
 Lite5200_LOWBOOT08_config              \
@@ -252,6 +277,15 @@ icecube_5100_config:                       unconfig
                }
        @./mkconfig -a IceCube ppc mpc5xxx icecube
 
+inka4x0_config:                unconfig
+       @./mkconfig inka4x0 ppc mpc5xxx inka4x0
+
+o2dnt_config:
+       @./mkconfig -a o2dnt ppc mpc5xxx o2dnt
+
+pf5200_config:  unconfig
+       @./mkconfig -a pf5200  ppc mpc5xxx pf5200 esd
+
 PM520_config \
 PM520_DDR_config \
 PM520_ROMBOOT_config \
@@ -301,6 +335,7 @@ Total5200_Rev2_lowboot_config:      unconfig
                }
        @./mkconfig -a Total5200 ppc mpc5xxx total5200
 
+TQM5200_auto_config    \
 TQM5200_AA_config      \
 TQM5200_AB_config      \
 TQM5200_AC_config      \
@@ -325,8 +360,17 @@ MiniFAP_config:    unconfig
                  echo "... with 4 MB Flash, 128 MB SDRAM" ; \
                  echo "... with Graphics Controller"; \
                }
+       @[ -z "$(findstring auto,$@)" ] || \
+               { echo "#define CONFIG_CS_AUTOCONF"     >>include/config.h ; \
+                 echo "... with automatic CS configuration" ; \
+               }
        @./mkconfig -a TQM5200 ppc mpc5xxx tqm5200
 
+spieval_config:        unconfig
+       echo "#define CONFIG_CS_AUTOCONF">>include/config.h
+       echo "... with automatic CS configuration"
+       @./mkconfig -a spieval ppc mpc5xxx tqm5200
+
 #########################################################################
 ## MPC8xx Systems
 #########################################################################
@@ -553,6 +597,9 @@ QS823_config:       unconfig
 QS860T_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx qs860t snmc
 
+quantum_config:        unconfig
+       @./mkconfig $(@:_config=) ppc mpc8xx quantum
+
 R360MPI_config:        unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx r360mpi
 
@@ -606,6 +653,9 @@ SM850_config        :       unconfig
 SPD823TS_config:       unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx spd8xx
 
+stxxtc_config: unconfig
+       @./mkconfig $(@:_config=) ppc mpc8xx stxxtc
+
 svm_sc8xx_config:      unconfig
        @ >include/config.h
        @./mkconfig $(@:_config=) ppc mpc8xx svm_sc8xx
@@ -650,6 +700,9 @@ TTTech_config:      unconfig
        @echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
        @./mkconfig -a TQM823L ppc mpc8xx tqm8xx
 
+uc100_config   :       unconfig
+       @./mkconfig $(@:_config=) ppc mpc8xx uc100
+
 v37_config:    unconfig
        @echo "#define CONFIG_LCD" >include/config.h
        @echo "#define CONFIG_SHARP_LQ084V1DG21" >>include/config.h
@@ -668,25 +721,45 @@ xtract_4xx = $(subst _25,,$(subst _33,,$(subst _BA,,$(subst _ME,,$(subst _HI,,$(
 ADCIOP_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx adciop esd
 
+APC405_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx apc405 esd
+
 AR405_config:  unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx ar405 esd
 
 ASH405_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx ash405 esd
 
-BUBINGA405EP_config:   unconfig
-       @./mkconfig $(@:_config=) ppc ppc4xx bubinga405ep
+bamboo_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx bamboo amcc
+
+bubinga_config:        unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx bubinga amcc
 
 CANBT_config:  unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx canbt esd
 
-CATcenter_config:      unconfig
+CATcenter_config       \
+CATcenter_25_config    \
+CATcenter_33_config:   unconfig
        @ echo "/* CATcenter uses PPChameleon Model ME */"  > include/config.h
        @ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >> include/config.h
+       @[ -z "$(findstring _25,$@)" ] || \
+               { echo "#define CONFIG_PPCHAMELEON_CLK_25" >>include/config.h ; \
+                 echo "SysClk = 25MHz" ; \
+               }
+       @[ -z "$(findstring _33,$@)" ] || \
+               { echo "#define CONFIG_PPCHAMELEON_CLK_33" >>include/config.h ; \
+                 echo "SysClk = 33MHz" ; \
+               }
        @./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
 
+CPCI2DP_config:        unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx cpci2dp esd
+
 CPCI405_config \
 CPCI4052_config        \
+CPCI405DT_config       \
 CPCI405AB_config:      unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd
        @echo "BOARD_REVISION = $(@:_config=)"  >>include/config.mk
@@ -715,8 +788,8 @@ DP405_config:       unconfig
 DU405_config:  unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx du405 esd
 
-EBONY_config:  unconfig
-       @./mkconfig $(@:_config=) ppc ppc4xx ebony
+ebony_config:  unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx ebony amcc
 
 ERIC_config:   unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx eric
@@ -724,12 +797,24 @@ ERIC_config:      unconfig
 EXBITGEN_config:       unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx exbitgen
 
+G2000_config:  unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx g2000
+
+HH405_config:  unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx hh405 esd
+
 HUB405_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx hub405 esd
 
 JSE_config:    unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx jse
 
+KAREF_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx karef sandburst
+
+METROBOX_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx metrobox sandburst
+
 MIP405_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
 
@@ -744,8 +829,8 @@ ML2_config: unconfig
 ml300_config:  unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx ml300 xilinx
 
-OCOTEA_config: unconfig
-       @./mkconfig $(@:_config=) ppc ppc4xx ocotea
+ocotea_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx ocotea amcc
 
 OCRTC_config           \
 ORSG_config:   unconfig
@@ -771,41 +856,71 @@ PPChameleonEVB_BA_33_config       \
 PPChameleonEVB_ME_33_config    \
 PPChameleonEVB_HI_33_config:   unconfig
        @ >include/config.h
-       @[ -z "$(findstring _MODEL_BA,$@)" ] || \
+       @[ -z "$(findstring EVB_BA,$@)" ] || \
                { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>include/config.h ; \
                  echo "... BASIC model" ; \
                }
-       @[ -z "$(findstring _MODEL_ME,$@)" ] || \
+       @[ -z "$(findstring EVB_ME,$@)" ] || \
                { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>include/config.h ; \
                  echo "... MEDIUM model" ; \
                }
-       @[ -z "$(findstring _MODEL_HI,$@)" ] || \
+       @[ -z "$(findstring EVB_HI,$@)" ] || \
                { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>include/config.h ; \
                  echo "... HIGH-END model" ; \
                }
        @[ -z "$(findstring _25,$@)" ] || \
                { echo "#define CONFIG_PPCHAMELEON_CLK_25" >>include/config.h ; \
-                 echo " SysClk = 25MHz" ; \
+                 echo "SysClk = 25MHz" ; \
                }
        @[ -z "$(findstring _33,$@)" ] || \
                { echo "#define CONFIG_PPCHAMELEON_CLK_33" >>include/config.h ; \
-                 echo " SysClk = 33MHz" ; \
+                 echo "SysClk = 33MHz" ; \
                }
        @./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
 
+sbc405_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx sbc405
+
+sycamore_config:       unconfig
+       @echo "Configuring for sycamore board as subset of walnut..."
+       @./mkconfig -a walnut ppc ppc4xx walnut amcc
+
 VOH405_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx voh405 esd
 
+VOM405_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx vom405 esd
+
 W7OLMC_config  \
 W7OLMG_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx w7o
 
-WALNUT405_config:      unconfig
-       @./mkconfig $(@:_config=) ppc ppc4xx walnut405
+walnut_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx walnut amcc
+
+WUH405_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx wuh405 esd
 
 XPEDITE1K_config:      unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx xpedite1k
 
+yosemite_config:       unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx yosemite amcc
+
+yellowstone_config:    unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx yellowstone amcc
+
+#########################################################################
+## MPC8220 Systems
+#########################################################################
+
+Alaska8220_config      \
+Yukon8220_config:      unconfig
+       @./mkconfig $(@:_config=) ppc mpc8220 alaska
+
+sorcery_config:                unconfig
+       @./mkconfig $(@:_config=) ppc mpc8220 sorcery
+
 #########################################################################
 ## MPC824x Systems
 #########################################################################
@@ -839,6 +954,9 @@ debris_config: unconfig
 eXalion_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc824x eXalion
 
+HIDDEN_DRAGON_config: unconfig
+       @./mkconfig $(@:_config=) ppc mpc824x hidden_dragon
+
 MOUSSE_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc824x mousse
 
@@ -869,6 +987,9 @@ SL8245_config: unconfig
 utx8245_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc824x utx8245
 
+cobra5272_config :             unconfig
+       @./mkconfig $(@:_config=) m68k mcf52x2 cobra5272
+
 #########################################################################
 ## MPC8260 Systems
 #########################################################################
@@ -892,6 +1013,23 @@ CPU86_ROMBOOT_config: unconfig
        fi; \
        echo "export CONFIG_BOOT_ROM" >> config.mk;
 
+CPU87_config   \
+CPU87_ROMBOOT_config: unconfig
+       @./mkconfig $(call xtract_82xx,$@) ppc mpc8260 cpu87
+       @cd ./include ;                         \
+       if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
+               echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
+               echo "... booting from 8-bit flash" ; \
+       else \
+               echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
+               echo "... booting from 64-bit flash" ; \
+       fi; \
+       echo "export CONFIG_BOOT_ROM" >> config.mk;
+
+ep8248_config  \
+ep8248E_config :       unconfig
+       @./mkconfig ep8248 ppc mpc8260 ep8248
+
 ep8260_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc8260 ep8260
 
@@ -901,6 +1039,9 @@ gw8260_config:     unconfig
 hymod_config:  unconfig
        @./mkconfig $(@:_config=) ppc mpc8260 hymod
 
+IDS8247_config:        unconfig
+       @./mkconfig $(@:_config=) ppc mpc8260 ids8247
+
 IPHASE4539_config:     unconfig
        @./mkconfig $(@:_config=) ppc mpc8260 iphase4539
 
@@ -912,13 +1053,21 @@ ISPAN_REVB_config:       unconfig
        @./mkconfig -a ISPAN ppc mpc8260 ispan
 
 MPC8260ADS_config      \
+MPC8260ADS_lowboot_config      \
 MPC8260ADS_33MHz_config        \
+MPC8260ADS_33MHz_lowboot_config        \
 MPC8260ADS_40MHz_config        \
+MPC8260ADS_40MHz_lowboot_config        \
 MPC8272ADS_config      \
+MPC8272ADS_lowboot_config      \
 PQ2FADS_config         \
+PQ2FADS_lowboot_config         \
 PQ2FADS-VR_config      \
+PQ2FADS-VR_lowboot_config      \
 PQ2FADS-ZU_config      \
+PQ2FADS-ZU_lowboot_config      \
 PQ2FADS-ZU_66MHz_config        \
+PQ2FADS-ZU_66MHz_lowboot_config        \
        :               unconfig
        $(if $(findstring PQ2FADS,$@), \
        @echo "#define CONFIG_ADSTYPE CFG_PQ2FADS" > include/config.h, \
@@ -927,6 +1076,10 @@ PQ2FADS-ZU_66MHz_config   \
        @echo "#define CONFIG_8260_CLKIN" $(subst MHz,,$(word 2,$(subst _, ,$@)))"000000" >> include/config.h, \
        $(if $(findstring VR,$@), \
        @echo "#define CONFIG_8260_CLKIN 66000000" >> include/config.h))
+       @[ -z "$(findstring lowboot_,$@)" ] || \
+               { echo "TEXT_BASE = 0xFF800000" >board/mpc8260ads/config.tmp ; \
+                 echo "... with lowboot configuration" ; \
+               }
        @./mkconfig -a MPC8260ADS ppc mpc8260 mpc8260ads
 
 MPC8266ADS_config:     unconfig
@@ -986,6 +1139,12 @@ PM828_ROMBOOT_PCI_config: unconfig
 ppmc8260_config:       unconfig
        @./mkconfig $(@:_config=) ppc mpc8260 ppmc8260
 
+Rattler8248_config     \
+Rattler_config:                unconfig
+       $(if $(findstring 8248,$@), \
+       @echo "#define CONFIG_MPC8248" > include/config.h)
+       @./mkconfig -a Rattler ppc mpc8260 rattler
+
 RPXsuper_config:       unconfig
        @./mkconfig $(@:_config=) ppc mpc8260 rpxsuper
 
@@ -1045,6 +1204,11 @@ TQM8265_AA_config:  unconfig
        fi
        @./mkconfig -a TQM8260 ppc mpc8260 tqm8260
 
+VoVPN-GW_66MHz_config  \
+VoVPN-GW_100MHz_config:                unconfig
+       @echo "#define CONFIG_CLKIN_$(word 2,$(subst _, ,$@))" > include/config.h
+       @./mkconfig -a VoVPN-GW ppc mpc8260 vovpn-gw funkwerk
+
 ZPC1900_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc8260 zpc1900
 
@@ -1061,6 +1225,16 @@ M5272C3_config :         unconfig
 M5282EVB_config :              unconfig
        @./mkconfig $(@:_config=) m68k mcf52x2 m5282evb
 
+TASREG_config :                unconfig
+       @./mkconfig $(@:_config=) m68k mcf52x2 tasreg esd
+
+#########################################################################
+## MPC83xx Systems
+#########################################################################
+
+MPC8349ADS_config:     unconfig
+       @./mkconfig $(@:_config=) ppc mpc83xx mpc8349ads
+
 #########################################################################
 ## MPC85xx Systems
 #########################################################################
@@ -1068,17 +1242,61 @@ M5282EVB_config :               unconfig
 MPC8540ADS_config:     unconfig
        @./mkconfig $(@:_config=) ppc mpc85xx mpc8540ads
 
+MPC8540EVAL_config \
+MPC8540EVAL_33_config \
+MPC8540EVAL_66_config \
+MPC8540EVAL_33_slave_config \
+MPC8540EVAL_66_slave_config:      unconfig
+       @echo "" >include/config.h ; \
+       if [ "$(findstring _33_,$@)" ] ; then \
+               echo -n "... 33 MHz PCI" ; \
+       else \
+               echo "#define CONFIG_SYSCLK_66M" >>include/config.h ; \
+               echo -n "... 66 MHz PCI" ; \
+       fi ; \
+       if [ "$(findstring _slave_,$@)" ] ; then \
+               echo "#define CONFIG_PCI_SLAVE" >>include/config.h ; \
+               echo " slave" ; \
+       else \
+               echo " host" ; \
+       fi
+       @./mkconfig -a MPC8540EVAL ppc mpc85xx mpc8540eval
+
 MPC8560ADS_config:     unconfig
        @./mkconfig $(@:_config=) ppc mpc85xx mpc8560ads
 
-stxgp3_config:         unconfig
-       @./mkconfig $(@:_config=) ppc mpc85xx stxgp3
+MPC8541CDS_config:     unconfig
+       @./mkconfig $(@:_config=) ppc mpc85xx mpc8541cds cds
+
+MPC8548CDS_config:     unconfig
+       @./mkconfig $(@:_config=) ppc mpc85xx mpc8548cds cds
+
+MPC8555CDS_config:     unconfig
+       @./mkconfig $(@:_config=) ppc mpc85xx mpc8555cds cds
+
+PM854_config:  unconfig
+       @./mkconfig $(@:_config=) ppc mpc85xx pm854
+
+PM856_config:  unconfig
+       @./mkconfig $(@:_config=) ppc mpc85xx pm856
+
+sbc8540_config \
+sbc8540_33_config \
+sbc8540_66_config:     unconfig
+       @if [ "$(findstring _66_,$@)" ] ; then \
+               echo "#define CONFIG_PCI_66"    >>include/config.h ; \
+               echo "... 66 MHz PCI" ; \
+       else \
+               >include/config.h ; \
+               echo "... 33 MHz PCI" ; \
+       fi
+       @./mkconfig -a SBC8540 ppc mpc85xx sbc8560
 
 sbc8560_config \
 sbc8560_33_config \
 sbc8560_66_config:      unconfig
        @if [ "$(findstring _66_,$@)" ] ; then \
-               echo "#define CONFIG_PCI_66"  >>include/config.h ; \
+               echo "#define CONFIG_PCI_66"    >>include/config.h ; \
                echo "... 66 MHz PCI" ; \
        else \
                >include/config.h ; \
@@ -1086,6 +1304,15 @@ sbc8560_66_config:      unconfig
        fi
        @./mkconfig -a sbc8560 ppc mpc85xx sbc8560
 
+stxgp3_config:         unconfig
+       @./mkconfig $(@:_config=) ppc mpc85xx stxgp3
+
+TQM8540_config:      unconfig
+       @./mkconfig $(@:_config=) ppc mpc85xx tqm8540
+
+TQM8560_config:      unconfig
+       @./mkconfig $(@:_config=) ppc mpc85xx tqm8560
+
 #########################################################################
 ## 74xx/7xx Systems
 #########################################################################
@@ -1096,6 +1323,9 @@ AmigaOneG3SE_config:      unconfig
 BAB7xx_config: unconfig
        @./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
 
+CPCI750_config:        unconfig
+       @./mkconfig CPCI750 ppc 74xx_7xx cpci750 esd
+
 DB64360_config:  unconfig
        @./mkconfig DB64360 ppc 74xx_7xx db64360 Marvell
 
@@ -1151,21 +1381,194 @@ xtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$
 
 xtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1)))
 
-integratorcp_config :  unconfig
-       @./mkconfig $(@:_config=) arm arm926ejs integratorcp
+at91rm9200dk_config    :       unconfig
+       @./mkconfig $(@:_config=) arm arm920t at91rm9200dk NULL at91rm9200
+
+cmc_pu2_config :       unconfig
+       @./mkconfig $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
+
+########################################################################
+## ARM Integrator boards
+## There are two variants /AP && /CP
+## - many different core modules (CMs) can be used
+## - some share characteristics
+## Those without specific cpu support can still use U-Boot
+## provided the ARM boot monitor (or similar) runs before U-Boot
+## to set up the platform e.g. map writeable memory to 0x00000000
+## setup MMU, setup caches etc.
+## Ported cores are:-
+##     ARM926EJ-S
+##     ARM946E-S
+##
+########################################################################
+xtract_int_board = $(subst _$(subst integrator$1_,,$(subst _config,,$2)),,$(subst _config,,$2))
+xtract_int_cm    = $(subst integrator$1_,,$(subst _config,,$2))
+#########################################################################
+## Integrator/AP
+#########################################################################
+integratorap_config    :       unconfig
+       @echo -n "/* Integrator configuration implied " >  tmp.fil;     \
+        echo    " by Makefile target   */"             >> tmp.fil;     \
+        echo                                           >> tmp.fil 
+       @echo -n "#define CONFIG_INTEGRATOR     1"      >> tmp.fil;     \
+       echo     "      /* Integrator board     */"     >> tmp.fil;     \
+       echo  -n "#define CONFIG_ARCH_INTEGRATOR"       >> tmp.fil;     \
+       echo     "      1       /* Integrator/AP */"    >> tmp.fil;     \
+       echo "/* Core module not defined        */"     >> tmp.fil;     \
+       echo -n "#define CONFIG_ARM_INTCM       1"      >> tmp.fil;     \
+       echo -n "       /* Integrator core module "     >> tmp.fil;     \
+       echo    "with unknown core      */"             >> tmp.fil;     \
+       cpu=arm_intcm;                                                  \
+       mv tmp.fil ./include/config.h;                                  \
+       ubootlds=board/integratorap/u-boot.lds;                         \
+       sed -e 's/cpu\/.*\/st/cpu\/'$$cpu'\/st/'                        \
+                                          $$ubootlds > $$ubootlds.tmp; \
+       mv -f $$ubootlds.tmp $$ubootlds;                                \
+       ./mkconfig -a integratorap arm arm_intcm integratorap;
+
+integratorap_CM720T_config             integratorap_CM7TDMI_config     \
+integratorap_CM920T_config             integratorap_CM920T_ETM_config  \
+integratorap_CM922T_XA10_config                integratorap_CM926EJ_S_config   \
+integratorap_CM940T_config             integratorap_CM946E_S_config    \
+integratorap_CM966E_S_config           integratorap_CM10200E_config    \
+integratorap_CM10220E_config           integratorap_CM1026EJ_S_config  \
+integratorap_CM1136JF_S_config :       unconfig
+       @echo -n "/* Integrator configuration implied " >  tmp.fil;     \
+        echo    " by Makefile target   */"             >> tmp.fil;     \
+        echo                                           >> tmp.fil 
+       @echo -n "#define CONFIG_INTEGRATOR     1"      >>  tmp.fil;    \
+       echo     "      /* Integrator board     */"     >> tmp.fil;     \
+       echo  -n "#define CONFIG_ARCH_INTEGRATOR"       >> tmp.fil;     \
+       echo     "      1       /* Integrator/AP */"    >> tmp.fil;     \
+       cm=$(call xtract_int_cm,ap,$@);                                 \
+       echo  -n "#define CONFIG_$$cm           "       >> tmp.fil;     \
+       echo     "      /* core module */"              >> tmp.fil;     \
+       case $$cm in                                                    \
+       CM920T)                                                         \
+                       echo -n "#define CONFIG_ARM920" >> tmp.fil;     \
+                       echo -n "T      1       /* CPU" >> tmp.fil;     \
+                       echo -n " core is ARM920T"      >> tmp.fil;     \
+                       echo    "       */"             >> tmp.fil;     \
+                       cpu=arm920t;;                                   \
+       CM926EJ_S)      echo -n "#define CONFIG_ARM926" >> tmp.fil;     \
+                       echo -n "EJ_S   1       /* CPU" >> tmp.fil;     \
+                       echo -n " core is ARM926EJ-S"   >> tmp.fil;     \
+                       echo    "       */"             >> tmp.fil;     \
+                       cpu=arm926ejs;;                                 \
+       CM946E_S)       echo -n "#define CONFIG_ARM946" >> tmp.fil;     \
+                       echo -n "E_S    1       /* CPU" >> tmp.fil;     \
+                       echo -n " core is ARM946E-S"    >> tmp.fil;     \
+                       echo    "       */"             >> tmp.fil;     \
+                       cpu=arm946es;;                                  \
+       *)              echo -n "#define CONFIG_ARM_IN" >> tmp.fil;     \
+                       echo -n "TCM    1       /* Int" >> tmp.fil;     \
+                       echo -n "egrator core module w" >> tmp.fil;     \
+                       echo -n "ith unported core"     >> tmp.fil;     \
+                       echo    "       */"             >> tmp.fil;     \
+                       cpu=arm_intcm;;                                 \
+       esac;                                                           \
+       mv tmp.fil ./include/config.h;                                  \
+       ubootlds=board/$(call xtract_int_board,ap,$@)/u-boot.lds;       \
+       sed -e 's/cpu\/.*\/st/cpu\/'$$cpu'\/st/'                        \
+                                          $$ubootlds > $$ubootlds.tmp; \
+       mv -f $$ubootlds.tmp $$ubootlds;                                \
+       ./mkconfig -a $(call xtract_int_board,ap,$@) arm $$cpu          \
+                     $(call xtract_int_board,ap,$@);
 
-integratorap_config :  unconfig
-       @./mkconfig $(@:_config=) arm arm926ejs integratorap
+#########################################################################
+## Integrator/CP
+#########################################################################
+integratorcp_config    :       unconfig
+       @echo -n "/* Integrator configuration implied " >  tmp.fil;     \
+        echo    " by Makefile target   */"             >> tmp.fil;     \
+        echo                                           >> tmp.fil 
+       @echo -n "#define CONFIG_INTEGRATOR     1"      >> tmp.fil;     \
+       echo     "      /* Integrator board     */"     >> tmp.fil;     \
+       echo  -n "#define CONFIG_ARCH_CINTEGRATOR"      >> tmp.fil;     \
+       echo     "      1       /* Integrator/CP */"    >> tmp.fil;     \
+       echo     "/* Core module not defined    */"     >> tmp.fil;     \
+       echo -n "#define CONFIG_ARM_INTCM       1"      >> tmp.fil;     \
+       echo -n "       /* Integrator core module "     >> tmp.fil;     \
+       echo    "with unknown core      */"             >> tmp.fil;     \
+       cpu=arm_intcm;                                                  \
+       echo -n "#undef CONFIG_CM_MULTIPLE_SSRAM"       >> tmp.fil;     \
+       echo -n "               /* CM may not have "    >> tmp.fil;     \
+       echo    "multiple SSRAM mapping */"             >> tmp.fil;     \
+       echo -n "#undef CONFIG_CM_SPD_DETECT    "       >> tmp.fil;     \
+       echo -n "       /* CM may not support SPD "     >> tmp.fil;     \
+       echo    "query */"                              >> tmp.fil;     \
+       echo -n "#undef CONFIG_CM_REMAP         "       >> tmp.fil;     \
+       echo -n "       /* CM may not support "         >> tmp.fil;     \
+       echo    "remapping      */"                     >> tmp.fil;     \
+       echo -n "#undef CONFIG_CM_INIT          "       >> tmp.fil;     \
+       echo -n "       /* CM may not have  "           >> tmp.fil;     \
+       echo    "initialization reg     */"             >> tmp.fil;     \
+       echo -n "#undef CONFIG_CM_TCRAM         "       >> tmp.fil;     \
+       echo -n "       /* CM may not have TCRAM */"    >> tmp.fil;     \
+       mv tmp.fil ./include/config.h;                                  \
+       ubootlds=board/integratorcp/u-boot.lds;                         \
+       sed -e 's/cpu\/.*\/st/cpu\/'$$cpu'\/st/'                        \
+                                          $$ubootlds > $$ubootlds.tmp; \
+       mv -f $$ubootlds.tmp $$ubootlds;                                \
+       ./mkconfig -a integratorcp arm arm_intcm integratorcp;
+
+integratorcp_CM920T_config             integratorcp_CM920T_ETM_config  \
+integratorcp_CM922T_XA10_config                integratorcp_CM926EJ_S_config   \
+integratorcp_CM940T_config             integratorcp_CM946E_S_config    \
+integratorcp_CM966E_S_config           integratorcp_CM10200E_config    \
+integratorcp_CM10220E_config           integratorcp_CM1026EJ_S_config  \
+integratorcp_CM1136JF_S_config :       unconfig
+       @echo -n "/* Integrator configuration implied " >  tmp.fil;     \
+        echo    " by Makefile target   */"             >> tmp.fil;     \
+        echo                                           >> tmp.fil 
+       @echo -n "#define CONFIG_INTEGRATOR     1"      >> tmp.fil;     \
+       echo     "      /* Integrator board     */"     >> tmp.fil;     \
+       echo  -n "#define CONFIG_ARCH_CINTEGRATOR"      >> tmp.fil;     \
+       echo     "      1       /* Integrator/CP */"    >> tmp.fil;     \
+       cm=$(call xtract_int_cm,cp,$@);                                 \
+       echo  -n "#define CONFIG_$$cm           "       >> tmp.fil;     \
+       echo     "      /* core module */"              >> tmp.fil;     \
+       echo "/* $$cm core module       */"             >> tmp.fil;     \
+       case $$cm in                                                    \
+       CM920T)         echo -n "#define CONFIG_ARM920" >> tmp.fil;     \
+                       echo -n "T      1       /* CPU" >> tmp.fil;     \
+                       echo -n " core is ARM920T"      >> tmp.fil;     \
+                       echo    "       */"             >> tmp.fil;     \
+                       cpu=arm920t;;                                   \
+       CM946E_S)       echo -n "#define CONFIG_ARM946" >> tmp.fil;     \
+                       echo -n "E_S    1       /* CPU" >> tmp.fil;     \
+                       echo -n " core is ARM946E-S"    >> tmp.fil;     \
+                       echo    "       */"             >> tmp.fil;     \
+                       cpu=arm946es;;                                  \
+       CM926EJ_S)      echo -n "#define CONFIG_ARM926" >> tmp.fil;     \
+                       echo -n "EJ_S   1       /* CPU" >> tmp.fil;     \
+                       echo -n " core is ARM926EJ-S"   >> tmp.fil;     \
+                       echo    "       */"             >> tmp.fil;     \
+                       cpu=arm926ejs;;                                 \
+       *)              echo -n "#define CONFIG_ARM_IN" >> tmp.fil;     \
+                       echo -n "TCM    1       /* Int" >> tmp.fil;     \
+                       echo -n "egrator core module w" >> tmp.fil;     \
+                       echo -n "ith unported core"     >> tmp.fil;     \
+                       echo    "       */"             >> tmp.fil;     \
+                       cpu=arm_intcm;;                                 \
+       esac;                                                           \
+       mv tmp.fil ./include/config.h;                                  \
+       ubootlds=board/$(call xtract_int_board,cp,$@)/u-boot.lds;       \
+       sed -e 's/cpu\/.*\/st/cpu\/'$$cpu'\/st/'                        \
+                                          $$ubootlds > $$ubootlds.tmp; \
+       mv -f $$ubootlds.tmp $$ubootlds;                                \
+       ./mkconfig -a $(call xtract_int_board,cp,$@) arm $$cpu          \
+                     $(call xtract_int_board,cp,$@);
 
 lpd7a400_config \
 lpd7a404_config:       unconfig
        @./mkconfig $(@:_config=) arm lh7a40x lpd7a40x
 
 mx1ads_config  :       unconfig
-       @./mkconfig $(@:_config=) arm arm920t mx1ads
+       @./mkconfig $(@:_config=) arm arm920t mx1ads NULL imx
 
 mx1fs2_config  :       unconfig
-       @./mkconfig $(@:_config=) arm arm920t mx1fs2
+       @./mkconfig $(@:_config=) arm arm920t mx1fs2 NULL imx
 
 omap1510inn_config :   unconfig
        @./mkconfig $(@:_config=) arm arm925t omap1510inn
@@ -1206,13 +1609,13 @@ omap730p2_cs3boot_config :      unconfig
        @./mkconfig -a $(call xtract_omap730p2,$@) arm arm926ejs omap730p2
 
 scb9328_config :       unconfig
-       @./mkconfig $(@:_config=) arm arm920t scb9328
+       @./mkconfig $(@:_config=) arm arm920t scb9328 NULL imx
 
 smdk2400_config        :       unconfig
-       @./mkconfig $(@:_config=) arm arm920t smdk2400
+       @./mkconfig $(@:_config=) arm arm920t smdk2400 NULL s3c24x0
 
 smdk2410_config        :       unconfig
-       @./mkconfig $(@:_config=) arm arm920t smdk2410
+       @./mkconfig $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
 
 SX1_config :           unconfig
        @./mkconfig $(@:_config=) arm arm925t sx1
@@ -1240,14 +1643,33 @@ trab_old_config:        unconfig
                  echo "... with 8 MB Flash, 16 MB RAM" ; \
                  echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
                }
-       @./mkconfig -a $(call xtract_trab,$@) arm arm920t trab
+       @./mkconfig -a $(call xtract_trab,$@) arm arm920t trab NULL s3c24x0
 
 VCMA9_config   :       unconfig
-       @./mkconfig $(@:_config=) arm arm920t vcma9 mpl
+       @./mkconfig $(@:_config=) arm arm920t vcma9 mpl s3c24x0
 
 versatile_config :     unconfig
        @./mkconfig $(@:_config=) arm arm926ejs versatile
 
+voiceblue_smallflash_config    \
+voiceblue_config:      unconfig
+       @if [ "$(findstring _smallflash_,$@)" ] ; then \
+               echo "... boot from lower flash bank" ; \
+               echo "#define VOICEBLUE_SMALL_FLASH" >>include/config.h ; \
+               echo "VOICEBLUE_SMALL_FLASH=y" >board/voiceblue/config.tmp ; \
+       else \
+               echo "... boot from upper flash bank" ; \
+               >include/config.h ; \
+               echo "VOICEBLUE_SMALL_FLASH=n" >board/voiceblue/config.tmp ; \
+       fi
+       @./mkconfig -a voiceblue arm arm925t voiceblue
+
+cm4008_config  :       unconfig
+       @./mkconfig $(@:_config=) arm arm920t cm4008 NULL ks8695
+
+cm41xx_config  :       unconfig
+       @./mkconfig $(@:_config=) arm arm920t cm41xx NULL ks8695
+
 #########################################################################
 ## S3C44B0 Systems
 #########################################################################
@@ -1271,17 +1693,13 @@ modnet50_config :       unconfig
 evb4510_config :       unconfig
        @./mkconfig $(@:_config=) arm arm720t evb4510
 
-#########################################################################
-## AT91RM9200 Systems
-#########################################################################
-
-at91rm9200dk_config    :       unconfig
-       @./mkconfig $(@:_config=) arm at91rm9200 at91rm9200dk
-
 #########################################################################
 ## XScale Systems
 #########################################################################
 
+adsvix_config  :       unconfig
+       @./mkconfig $(@:_config=) arm pxa adsvix
+
 cerf250_config :       unconfig
        @./mkconfig $(@:_config=) arm pxa cerf250
 
@@ -1306,12 +1724,21 @@ logodl_config   :       unconfig
 wepep250_config        :       unconfig
        @./mkconfig $(@:_config=) arm pxa wepep250
 
+xaeniax_config :       unconfig
+       @./mkconfig $(@:_config=) arm pxa xaeniax
+
 xm250_config   :       unconfig
        @./mkconfig $(@:_config=) arm pxa xm250
 
 xsengine_config :      unconfig
        @./mkconfig $(@:_config=) arm pxa xsengine
 
+#########################################################################
+## ARM1136 Systems
+#########################################################################
+omap2420h4_config :    unconfig
+       @./mkconfig $(@:_config=) arm arm1136 omap2420h4
+
 #========================================================================
 # i386
 #========================================================================
@@ -1376,6 +1803,21 @@ dbau1500_config          :       unconfig
        @echo "#define CONFIG_DBAU1500 1" >>include/config.h
        @./mkconfig -a dbau1x00 mips mips dbau1x00
 
+dbau1550_config                :       unconfig
+       @ >include/config.h
+       @echo "#define CONFIG_DBAU1550 1" >>include/config.h
+       @./mkconfig -a dbau1x00 mips mips dbau1x00
+
+dbau1550_el_config     :       unconfig
+       @ >include/config.h
+       @echo "#define CONFIG_DBAU1550 1" >>include/config.h
+       @./mkconfig -a dbau1x00 mips mips dbau1x00
+
+pb1000_config          :       unconfig
+       @ >include/config.h
+       @echo "#define CONFIG_PB1000 1" >>include/config.h
+       @./mkconfig -a pb1x00 mips mips pb1x00
+
 #########################################################################
 ## MIPS64 5Kc
 #########################################################################
@@ -1449,6 +1891,15 @@ ADNPESC1_config: unconfig
                }
        @./mkconfig -a ADNPESC1 nios nios adnpesc1 ssv
 
+#########################################################################
+## Nios-II
+#########################################################################
+
+PK1C20_config : unconfig
+       @./mkconfig  PK1C20 nios2 nios2 pk1c20 psyent
+
+PCI5441_config : unconfig
+       @./mkconfig  PCI5441 nios2 nios2 pci5441 psyent
 
 #========================================================================
 # MicroBlaze
@@ -1471,14 +1922,15 @@ clean:
                | xargs rm -f
        rm -f examples/hello_world examples/timer \
              examples/eepro100_eeprom examples/sched \
-             examples/mem_to_mem_idma2intr examples/82559_eeprom
+             examples/mem_to_mem_idma2intr examples/82559_eeprom \
+             examples/test_burst
        rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr
        rm -f tools/mpc86x_clk tools/ncb
        rm -f tools/easylogo/easylogo tools/bmp_logo
        rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
        rm -f tools/env/fw_printenv tools/env/fw_setenv
        rm -f board/cray/L1/bootscript.c board/cray/L1/bootscript.image
-       rm -f board/trab/trab_fkt
+       rm -f board/trab/trab_fkt board/voiceblue/eeprom
 
 clobber:       clean
        find . -type f \( -name .depend \
@@ -1487,7 +1939,7 @@ clobber:  clean
                | xargs -0 rm -f
        rm -f $(OBJS) *.bak tags TAGS
        rm -fr *.*~
-       rm -f u-boot u-boot.map $(ALL)
+       rm -f u-boot u-boot.map u-boot.hex $(ALL)
        rm -f tools/crc32.c tools/environment.c tools/env/crc32.c
        rm -f tools/inca-swap-bytes cpu/mpc824x/bedbug_603e.c
        rm -f include/asm/proc include/asm/arch include/asm