* Add support for IceCube board (with MGT5100 and MPC5200 CPUs)
[oweals/u-boot.git] / Makefile
index 5b9e3c8858c6f4db979aac00c3a23177b5826375..37eca7d9bf61bf1f3057e51f34eba43f252fd09b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -60,7 +60,11 @@ ifeq ($(ARCH),arm)
 CROSS_COMPILE = arm-linux-
 endif
 ifeq ($(ARCH),i386)
-#CROSS_COMPILE = i386-elf-
+ifeq ($(HOSTARCH),i386)
+CROSS_COMPILE =
+else
+CROSS_COMPILE = i386-linux-
+endif
 endif
 ifeq ($(ARCH),mips)
 CROSS_COMPILE = mips_4KC-
@@ -102,7 +106,7 @@ endif
 LIBS  =        board/$(BOARDDIR)/lib$(BOARD).a
 LIBS += cpu/$(CPU)/lib$(CPU).a
 LIBS += lib_$(ARCH)/lib$(ARCH).a
-LIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a
+LIBS += fs/jffs2/libjffs2.a fs/fdos/libfdos.a fs/fat/libfat.a
 LIBS += net/libnet.a
 LIBS += disk/libdisk.a
 LIBS += rtc/librtc.a
@@ -130,7 +134,8 @@ u-boot.dis: u-boot
                $(OBJDUMP) -d $< > $@
 
 u-boot:                depend subdirs $(OBJS) $(LIBS) $(LDSCRIPT)
-               $(LD) $(LDFLAGS) $(OBJS) \
+               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) --end-group \
                        -Map u-boot.map -o u-boot
 
@@ -168,6 +173,30 @@ unconfig:
 #========================================================================
 # PowerPC
 #========================================================================
+
+#########################################################################
+## MPC5xx Systems
+#########################################################################
+
+cmi_mpc5xx_config:     unconfig
+       @./mkconfig $(@:_config=) ppc mpc5xx cmi
+
+#########################################################################
+## MPC5xxx Systems
+#########################################################################
+IceCube_5200_config    \
+IceCube_5100_config:           unconfig
+       @ >include/config.h
+       @[ -z "$(findstring _5200,$@)" ] || \
+               { echo "#define CONFIG_MPC5200"         >>include/config.h ; \
+                 echo "... with MPC5200 processor" ; \
+               }
+       @[ -z "$(findstring _5100,$@)" ] || \
+               { echo "#define CONFIG_MGT5100"         >>include/config.h ; \
+                 echo "... with MGT5100 processor" ; \
+               }
+       @./mkconfig -a IceCube ppc mpc5xxx icecube
+
 #########################################################################
 ## MPC8xx Systems
 #########################################################################
@@ -204,8 +233,16 @@ FADS860T_config:   unconfig
 FLAGADM_config:        unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx flagadm
 
+xtract_GEN860T = $(subst _SC,,$(subst _config,,$1))
+
+GEN860T_SC_config      \
 GEN860T_config: unconfig
-       @./mkconfig $(@:_config=) ppc mpc8xx gen860t
+       @ >include/config.h
+       @[ -z "$(findstring _SC,$@)" ] || \
+               { echo "#define CONFIG_SC" >>include/config.h ; \
+                 echo "With reduced H/W feature set (SC)..." ; \
+               }
+       @./mkconfig -a $(call xtract_GEN860T,$@) ppc mpc8xx gen860t
 
 GENIETV_config:        unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx genietv
@@ -282,8 +319,20 @@ MHPC_config:               unconfig
 MVS1_config :          unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx mvs1
 
+xtract_NETVIA = $(subst _V2,,$(subst _config,,$1))
+
+NETVIA_V2_config \
 NETVIA_config:         unconfig
-       @./mkconfig $(@:_config=) ppc mpc8xx netvia
+       @ >include/config.h
+       @[ -z "$(findstring NETVIA_config,$@)" ] || \
+                { echo "#define CONFIG_NETVIA_VERSION 1" >>include/config.h ; \
+                 echo "... Version 1" ; \
+                }
+       @[ -z "$(findstring NETVIA_V2_config,$@)" ] || \
+                { echo "#define CONFIG_NETVIA_VERSION 2" >>include/config.h ; \
+                 echo "... Version 2" ; \
+                }
+       @./mkconfig -a $(call xtract_NETVIA,$@) ppc mpc8xx netvia
 
 NX823_config:          unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx nx823
@@ -294,12 +343,18 @@ pcu_e_config:             unconfig
 R360MPI_config:        unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx r360mpi
 
+RBC823_config: unconfig
+       @./mkconfig $(@:_config=) ppc mpc8xx rbc823
+
 RPXClassic_config:     unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx RPXClassic
 
 RPXlite_config:                unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx RPXlite
 
+rmu_config:    unconfig
+       @./mkconfig $(@:_config=) ppc mpc8xx rmu
+
 RRvision_config:       unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx RRvision
 
@@ -326,13 +381,14 @@ TOP860_config:            unconfig
        @./mkconfig $(@:_config=) ppc mpc8xx top860 emk
 
 # Play some tricks for configuration selection
-# All boards can come with 50 MHz (default), 66MHz or 80MHz clock,
+# All boards can come with 50 MHz (default), 66MHz, 80MHz or 100 MHz clock,
 # but only 855 and 860 boards may come with FEC
 # and 823 boards may have LCD support
-xtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _LCD,,$(subst _FEC,,$(subst _config,,$1)))))
+xtract_8xx = $(subst _66MHz,,$(subst _80MHz,,$(subst _100MHz,,$(subst _LCD,,$(subst _config,,$1)))))
 
 FPS850L_config         \
 FPS860L_config         \
+NSCU_config            \
 TQM823L_config         \
 TQM823L_66MHz_config   \
 TQM823L_80MHz_config   \
@@ -345,20 +401,23 @@ TQM850L_80MHz_config      \
 TQM855L_config         \
 TQM855L_66MHz_config   \
 TQM855L_80MHz_config   \
-TQM855L_FEC_config     \
-TQM855L_FEC_66MHz_config \
-TQM855L_FEC_80MHz_config \
 TQM860L_config         \
 TQM860L_66MHz_config   \
 TQM860L_80MHz_config   \
-TQM860L_FEC_config     \
-TQM860L_FEC_66MHz_config       \
-TQM860L_FEC_80MHz_config:      unconfig
+TQM862L_config         \
+TQM862L_66MHz_config   \
+TQM862L_80MHz_config   \
+TQM855M_config         \
+TQM855M_66MHz_config   \
+TQM855M_80MHz_config   \
+TQM860M_config         \
+TQM860M_66MHz_config   \
+TQM860M_80MHz_config   \
+TQM862M_config         \
+TQM862M_66MHz_config   \
+TQM862M_80MHz_config   \
+TQM862M_100MHz_config: unconfig
        @ >include/config.h
-       @[ -z "$(findstring _FEC,$@)" ] || \
-               { echo "#define CONFIG_FEC_ENET"        >>include/config.h ; \
-                 echo "... with FEC support" ; \
-               }
        @[ -z "$(findstring _66MHz,$@)" ] || \
                { echo "#define CONFIG_66MHz"           >>include/config.h ; \
                  echo "... with 66MHz system clock" ; \
@@ -367,6 +426,10 @@ TQM860L_FEC_80MHz_config:  unconfig
                { echo "#define CONFIG_80MHz"           >>include/config.h ; \
                  echo "... with 80MHz system clock" ; \
                }
+       @[ -z "$(findstring _100MHz,$@)" ] || \
+               { echo "#define CONFIG_100MHz"          >>include/config.h ; \
+                 echo "... with 100MHz system clock" ; \
+               }
        @[ -z "$(findstring _LCD,$@)" ] || \
                { echo "#define CONFIG_LCD"             >>include/config.h ; \
                  echo "#define CONFIG_NEC_NL6648BC20"  >>include/config.h ; \
@@ -394,11 +457,18 @@ ADCIOP_config:    unconfig
 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
+
 CANBT_config:  unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx canbt esd
 
-CPCI405_config         \
-CPCI4052_config:       unconfig
+CPCI405_config \
+CPCI4052_config        \
+CPCI405AB_config:      unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd
        @echo "BOARD_REVISION = $(@:_config=)"  >>include/config.mk
 
@@ -423,9 +493,17 @@ EBONY_config:unconfig
 ERIC_config:unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx eric
 
+EXBITGEN_config:unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx exbitgen
+
 MIP405_config:unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
 
+MIP405T_config:unconfig
+       @echo "#define CONFIG_MIP405T" >include/config.h
+       @echo "Enable subset config for MIP405T"
+       @./mkconfig -a MIP405 ppc ppc4xx mip405 mpl
+
 ML2_config:unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx ml2
 
@@ -439,6 +517,9 @@ PCI405_config:      unconfig
 PIP405_config:unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl
 
+PMC405_config: unconfig
+       @./mkconfig $(@:_config=) ppc ppc4xx pmc405 esd
+
 W7OLMC_config  \
 W7OLMG_config: unconfig
        @./mkconfig $(@:_config=) ppc ppc4xx w7o
@@ -451,6 +532,9 @@ WALNUT405_config:unconfig
 #########################################################################
 xtract_82xx = $(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1)))))
 
+A3000_config: unconfig
+       @./mkconfig $(@:_config=) ppc mpc824x a3000
+
 BMW_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc824x bmw
 
@@ -488,6 +572,9 @@ Sandpoint8240_config: unconfig
 Sandpoint8245_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc824x sandpoint
 
+SL8245_config: unconfig
+       @./mkconfig $(@:_config=) ppc mpc824x sl8245
+
 utx8245_config: unconfig
        @./mkconfig $(@:_config=) ppc mpc824x utx8245
 
@@ -574,10 +661,13 @@ sbc8260_config:   unconfig
 SCM_config:            unconfig
        @./mkconfig $(@:_config=) ppc mpc8260 SCM siemens
 
+TQM8255_config \
 TQM8260_config \
 TQM8260_L2_config      \
+TQM8255_266MHz_config  \
 TQM8260_266MHz_config  \
 TQM8260_L2_266MHz_config \
+TQM8255_300MHz_config  \
 TQM8260_300MHz_config: unconfig
        @ >include/config.h
        @if [ "$(findstring _L2_,$@)" ] ; then \
@@ -595,7 +685,12 @@ TQM8260_300MHz_config:     unconfig
                { echo "#define CONFIG_300MHz"  >>include/config.h ; \
                  echo "... with 300MHz system clock" ; \
                }
-       @./mkconfig -a $(call xtract_82xx,$@) ppc mpc8260 tqm8260
+       @[ -z "$(findstring TQM8255_,$@)" ] || \
+               { echo "#define CONFIG_MPC8255" >>include/config.h ; }
+       @./mkconfig -a TQM8260 ppc mpc8260 tqm8260
+
+atc_config:    unconfig
+       @./mkconfig $(@:_config=) ppc mpc8260 atc
 
 #########################################################################
 ## 74xx/7xx Systems
@@ -641,11 +736,14 @@ shannon_config    :       unconfig
        @./mkconfig $(@:_config=) arm sa1100 shannon
 
 #########################################################################
-## ARM920T Systems
+## ARM92xT Systems
 #########################################################################
 
 xtract_trab = $(subst _big_flash,,$(subst _config,,$1))
 
+omap1510inn_config :   unconfig
+       @./mkconfig $(@:_config=) arm arm925t omap1510inn
+
 smdk2400_config        :       unconfig
        @./mkconfig $(@:_config=) arm arm920t smdk2400
 
@@ -679,16 +777,22 @@ ep7312_config     :       unconfig
 #########################################################################
 
 cradle_config  :       unconfig
-       @./mkconfig $(@:_config=) arm xscale cradle
+       @./mkconfig $(@:_config=) arm pxa cradle
 
 csb226_config  :       unconfig
-       @./mkconfig $(@:_config=) arm xscale csb226
+       @./mkconfig $(@:_config=) arm pxa csb226
 
 innokom_config :       unconfig
-       @./mkconfig $(@:_config=) arm xscale innokom
+       @./mkconfig $(@:_config=) arm pxa innokom
 
 lubbock_config :       unconfig
-       @./mkconfig $(@:_config=) arm xscale lubbock
+       @./mkconfig $(@:_config=) arm pxa lubbock
+
+logodl_config  :       unconfig
+       @./mkconfig $(@:_config=) arm pxa logodl
+
+wepep250_config        :       unconfig
+       @./mkconfig $(@:_config=) arm pxa wepep250
 
 #========================================================================
 # i386
@@ -699,6 +803,12 @@ lubbock_config     :       unconfig
 sc520_cdp_config       :       unconfig
        @./mkconfig $(@:_config=) i386 i386 sc520_cdp
 
+sc520_spunk_config     :       unconfig
+       @./mkconfig $(@:_config=) i386 i386 sc520_spunk
+
+sc520_spunk_rel_config :       unconfig
+       @./mkconfig $(@:_config=) i386 i386 sc520_spunk
+
 #========================================================================
 # MIPS
 #========================================================================
@@ -709,7 +819,11 @@ sc520_cdp_config   :       unconfig
 incaip_config :                unconfig
        @./mkconfig $(@:_config=) mips mips incaip
 
+purple_config :                unconfig
+       @./mkconfig $(@:_config=) mips mips purple
 
+#########################################################################
+#########################################################################
 
 clean:
        find . -type f \
@@ -717,11 +831,14 @@ clean:
                -o -name '*.o'  -o -name '*.a'  \) -print \
                | xargs rm -f
        rm -f examples/hello_world examples/timer \
-             examples/eepro100_eeprom examples/sched
+             examples/eepro100_eeprom examples/sched \
+             examples/mem_to_mem_idma2intr examples/82559_eeprom
+
        rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr
        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
 
 clobber:       clean
        find . -type f \
@@ -730,10 +847,10 @@ clobber:  clean
                | xargs rm -f
        rm -f $(OBJS) *.bak tags TAGS
        rm -fr *.*~
-       rm -f u-boot u-boot.bin u-boot.elf u-boot.srec u-boot.map System.map
+       rm -f u-boot u-boot.bin u-boot.srec u-boot.map System.map
        rm -f tools/crc32.c tools/environment.c tools/env/crc32.c
-       rm -f cpu/mpc824x/bedbug_603e.c
-       rm -f include/asm/arch include/asm
+       rm -f tools/inca-swap-bytes cpu/mpc824x/bedbug_603e.c
+       rm -f include/asm/proc include/asm/arch include/asm
 
 mrproper \
 distclean:     clobber unconfig