ifeq ($(HOSTARCH),ppc)
CROSS_COMPILE =
else
-## #ifeq ($(CPU),mpc8xx)
-## CROSS_COMPILE = ppc_8xx-
-## #endif
-## #ifeq ($(CPU),ppc4xx)
-## #CROSS_COMPILE = ppc_4xx-
-## #endif
-## #ifeq ($(CPU),mpc824x)
-## #CROSS_COMPILE = ppc_82xx-
-## #endif
-## #ifeq ($(CPU),mpc8260)
-## #CROSS_COMPILE = ppc_82xx-
-## #endif
-## #ifeq ($(CPU),74xx_7xx)
-## #CROSS_COMPILE = ppc_74xx-)
-## #endif
ifeq ($(ARCH),ppc)
CROSS_COMPILE = ppc_8xx-
endif
ifeq ($(ARCH),arm)
-CROSS_COMPILE = arm_920TDI-
+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-
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
LIBS += lib_generic/libgeneric.a
#########################################################################
+#########################################################################
-all: u-boot.srec u-boot.bin System.map
+ALL = u-boot.srec u-boot.bin System.map
-install: all
- -cp u-boot.bin /tftpboot/u-boot.bin
- -cp u-boot.bin /net/denx/tftpboot/u-boot.bin
+all: $(ALL)
u-boot.srec: u-boot
$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
u-boot.bin: u-boot
$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
+u-boot.img: u-boot.bin
+ ./tools/mkimage -A $(ARCH) -T firmware -C none \
+ -a $(TEXT_BASE) -e 0 \
+ -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' include/version.h | \
+ sed -e 's/"[ ]*$$/ for $(BOARD) board"/') \
+ -d $< $@
+
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
subdirs:
@for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir || exit 1 ; done
+gdbtools:
+ $(MAKE) -C tools/gdb || exit 1
+
depend dep:
@for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir .depend ; done
#========================================================================
# 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
#########################################################################
+AdderII_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc8xx adderII
+
ADS860_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8xx fads
cogent_mpc8xx_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8xx cogent
+ELPT860_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc8xx elpt860 LEOX
+
ESTEEM192E_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8xx esteem192e
FADS823_config \
FADS850SAR_config \
+MPC86xADS_config \
FADS860T_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8xx fads
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
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
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
SPD823TS_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8xx spd8xx
+svm_sc8xx_config: unconfig
+ @ >include/config.h
+ @./mkconfig $(@:_config=) ppc mpc8xx svm_sc8xx
+
SXNI855T_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8xx sixnet
+# EMK MPC8xx based modules
+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 \
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 \
+TQM823M_config \
+TQM823M_66MHz_config \
+TQM823M_80MHz_config \
+TQM850M_config \
+TQM850M_66MHz_config \
+TQM850M_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" ; \
{ 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 ; \
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
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
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
#########################################################################
## MPC824x Systems
#########################################################################
+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
+CPC45_config \
+CPC45_ROMBOOT_config: unconfig
+ @./mkconfig $(call xtract_82xx,$@) ppc mpc824x cpc45
+ @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;
+
CU824_config: unconfig
@./mkconfig $(@:_config=) ppc mpc824x cu824
Sandpoint8245_config: unconfig
@./mkconfig $(@:_config=) ppc mpc824x sandpoint
+SL8245_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc824x sl8245
+
utx8245_config: unconfig
@./mkconfig $(@:_config=) ppc mpc824x utx8245
#########################################################################
## MPC8260 Systems
#########################################################################
-xtract_82xx = $(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1)))))
cogent_mpc8260_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8260 cogent
MPC8260ADS_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8260 mpc8260ads
+MPC8266ADS_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc8260 mpc8266ads
+
+PM825_config \
+PM825_ROMBOOT_config: unconfig
+ @echo "#define CONFIG_PCI" >include/config.h
+ @./mkconfig -a PM826 ppc mpc8260 pm826
+ @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; \
+
PM826_config \
PM826_ROMBOOT_config: unconfig
@./mkconfig $(call xtract_82xx,$@) ppc mpc8260 pm826
SCM_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8260 SCM siemens
-TQM8260_config \
-TQM8260_L2_config \
-TQM8260_266MHz_config \
-TQM8260_L2_266MHz_config \
-TQM8260_300MHz_config: unconfig
- @ >include/config.h
- @if [ "$(findstring _L2_,$@)" ] ; then \
+TQM8255_AA_config \
+TQM8260_AA_config \
+TQM8260_AB_config \
+TQM8260_AC_config \
+TQM8260_AD_config \
+TQM8260_AE_config \
+TQM8260_AF_config \
+TQM8260_AG_config \
+TQM8260_AH_config \
+TQM8265_AA_config: unconfig
+ @case "$@" in \
+ TQM8255_AA_config) CTYPE=MPC8255; CFREQ=300; CACHE=no; BMODE=8260;; \
+ TQM8260_AA_config) CTYPE=MPC8260; CFREQ=200; CACHE=no; BMODE=8260;; \
+ TQM8260_AB_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \
+ TQM8260_AC_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \
+ TQM8260_AD_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \
+ TQM8260_AE_config) CTYPE=MPC8260; CFREQ=266; CACHE=no; BMODE=8260;; \
+ TQM8260_AF_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \
+ TQM8260_AG_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=8260;; \
+ TQM8260_AH_config) CTYPE=MPC8260; CFREQ=300; CACHE=yes; BMODE=60x;; \
+ TQM8265_AA_config) CTYPE=MPC8265; CFREQ=300; CACHE=no; BMODE=60x;; \
+ esac; \
+ >include/config.h ; \
+ if [ "$${CTYPE}" != "MPC8260" ] ; then \
+ echo "#define CONFIG_$${CTYPE}" >>include/config.h ; \
+ fi; \
+ echo "#define CONFIG_$${CFREQ}MHz" >>include/config.h ; \
+ echo "... with $${CFREQ}MHz system clock" ; \
+ if [ "$${CACHE}" == "yes" ] ; then \
echo "#define CONFIG_L2_CACHE" >>include/config.h ; \
- echo "... with L2 Cache support (60x Bus Mode)" ; \
+ echo "... with L2 Cache support" ; \
else \
echo "#undef CONFIG_L2_CACHE" >>include/config.h ; \
echo "... without L2 Cache support" ; \
+ fi; \
+ if [ "$${BMODE}" == "60x" ] ; then \
+ echo "#define CONFIG_BUSMODE_60x" >>include/config.h ; \
+ echo "... with 60x Bus Mode" ; \
+ else \
+ echo "#undef CONFIG_BUSMODE_60x" >>include/config.h ; \
+ echo "... without 60x Bus Mode" ; \
fi
- @[ -z "$(findstring _266MHz,$@)" ] || \
- { echo "#define CONFIG_266MHz" >>include/config.h ; \
- echo "... with 266MHz system clock" ; \
- }
- @[ -z "$(findstring _300MHz,$@)" ] || \
- { echo "#define CONFIG_300MHz" >>include/config.h ; \
- echo "... with 300MHz system clock" ; \
- }
- @./mkconfig -a $(call xtract_82xx,$@) ppc mpc8260 tqm8260
+ @./mkconfig -a TQM8260 ppc mpc8260 tqm8260
+
+atc_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc8260 atc
#########################################################################
## 74xx/7xx Systems
## StrongARM Systems
#########################################################################
+at91rm9200dk_config : unconfig
+ @./mkconfig $(@:_config=) arm at91rm9200 at91rm9200dk
+
lart_config : unconfig
@./mkconfig $(@:_config=) arm sa1100 lart
@./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
+
+omap1610inn_config : unconfig
+ @./mkconfig $(@:_config=) arm arm926ejs omap1610inn
+
smdk2400_config : unconfig
@./mkconfig $(@:_config=) arm arm920t smdk2400
}
@./mkconfig -a $(call xtract_trab,$@) arm arm920t trab
+VCMA9_config : unconfig
+ @./mkconfig $(@:_config=) arm arm920t vcma9 mpl
+
#########################################################################
## ARM720T Systems
#########################################################################
#########################################################################
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
#========================================================================
#########################################################################
-## AMD SC520 CDP
+## AMD SC520 CDP
#########################################################################
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
#========================================================================
## MIPS32 4Kc
#########################################################################
-incaip_config : unconfig
- @./mkconfig $(@:_config=) mips mips incaip
+xtract_incaip = $(subst _100MHz,,$(subst _133MHz,,$(subst _150MHz,,$(subst _config,,$1))))
+incaip_100MHz_config \
+incaip_133MHz_config \
+incaip_150MHz_config \
+incaip_config: unconfig
+ @ >include/config.h
+ @[ -z "$(findstring _100MHz,$@)" ] || \
+ { echo "#define CPU_CLOCK_RATE 100000000" >>include/config.h ; \
+ echo "... with 100MHz system clock" ; \
+ }
+ @[ -z "$(findstring _133MHz,$@)" ] || \
+ { echo "#define CPU_CLOCK_RATE 133000000" >>include/config.h ; \
+ echo "... with 133MHz system clock" ; \
+ }
+ @[ -z "$(findstring _150MHz,$@)" ] || \
+ { echo "#define CPU_CLOCK_RATE 150000000" >>include/config.h ; \
+ echo "... with 150MHz system clock" ; \
+ }
+ @./mkconfig -a $(call xtract_incaip,$@) mips mips incaip
+#########################################################################
+## MIPS64 5Kc
+#########################################################################
+
+purple_config : unconfig
+ @./mkconfig $(@:_config=) mips mips purple
+
+#########################################################################
+#########################################################################
clean:
find . -type f \
\( -name 'core' -o -name '*.bak' -o -name '*~' \
-o -name '*.o' -o -name '*.a' \) -print \
| xargs rm -f
- rm -f examples/hello_world examples/timer examples/eepro100_eeprom
+ rm -f examples/hello_world examples/timer \
+ 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 \
| 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.map $(ALL)
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