ifeq ($(ARCH),mips)
CROSS_COMPILE = mips_4KC-
endif
+ifeq ($(ARCH),nios)
+CROSS_COMPILE = nios-elf-
+endif
endif
endif
# The "tools" are needed early, so put this first
SUBDIRS = tools \
+ examples \
lib_generic \
lib_$(ARCH) \
cpu/$(CPU) \
rtc \
dtt \
drivers \
+ drivers/sk98lin \
post \
- post/cpu \
- examples
+ post/cpu
#########################################################################
# U-Boot objects....order is important (i.e. start must be first)
ifeq ($(CPU),ppc4xx)
OBJS += cpu/$(CPU)/resetvec.o
endif
+ifeq ($(CPU),mpc85xx)
+OBJS += cpu/$(CPU)/resetvec.o
+endif
LIBS = board/$(BOARDDIR)/lib$(BOARD).a
LIBS += cpu/$(CPU)/lib$(CPU).a
LIBS += rtc/librtc.a
LIBS += dtt/libdtt.a
LIBS += drivers/libdrivers.a
+LIBS += drivers/sk98lin/libsk98lin.a
LIBS += post/libpost.a post/cpu/libcpu.a
LIBS += common/libcommon.a
LIBS += lib_generic/libgeneric.a
+# Add GCC lib
+PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
#########################################################################
+#########################################################################
-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)
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 \
+ --start-group $(LIBS) $(PLATFORM_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
@./mkconfig $(@:_config=) ppc mpc5xx cmi
#########################################################################
+## MPC5xxx Systems
+#########################################################################
+MPC5200LITE_config \
+MPC5200LITE_LOWBOOT_config \
+MPC5200LITE_LOWBOOT08_config \
+icecube_5200_config \
+IceCube_5200_config \
+IceCube_5100_config: unconfig
+ @ >include/config.h
+ @[ -z "$(findstring LOWBOOT,$@)" ] || \
+ { echo "TEXT_BASE = 0xFF000000" >board/icecube/config.tmp ; \
+ echo "... with LOWBOOT configuration" ; \
+ }
+ @[ -z "$(findstring LOWBOOT08,$@)" ] || \
+ { echo "TEXT_BASE = 0xFF800000" >board/icecube/config.tmp ; \
+ echo "... with 8 MB flash only" ; \
+ }
+ @[ -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
AMX860_config : unconfig
@./mkconfig $(@:_config=) ppc mpc8xx amx860 westel
+bms2003_config : unconfig
+ @echo "#define CONFIG_BMS2003" >include/config.h
+ @echo "#define CONFIG_LCD" >>include/config.h
+ @echo "#define CONFIG_NEC_NL6448BC33_54" >>include/config.h
+ @./mkconfig -a TQM823L ppc mpc8xx tqm8xx
+
c2mon_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8xx c2mon
FADS823_config \
FADS850SAR_config \
+MPC86xADS_config \
FADS860T_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8xx fads
FPS850L_config \
FPS860L_config \
+NSCU_config \
TQM823L_config \
TQM823L_66MHz_config \
TQM823L_80MHz_config \
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 _66MHz,$@)" ] || \
}
@[ -z "$(findstring _LCD,$@)" ] || \
{ echo "#define CONFIG_LCD" >>include/config.h ; \
- echo "#define CONFIG_NEC_NL6648BC20" >>include/config.h ; \
+ echo "#define CONFIG_NEC_NL6448BC20" >>include/config.h ; \
echo "... with LCD display" ; \
}
@./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx
@echo "#define CONFIG_SHARP_LQ084V1DG21" >>include/config.h
@./mkconfig $(@:_config=) ppc mpc8xx v37
+wtk_config: unconfig
+ @echo "#define CONFIG_LCD" >include/config.h
+ @echo "#define CONFIG_SHARP_LQ065T9DR51U" >>include/config.h
+ @./mkconfig -a TQM823L ppc mpc8xx tqm8xx
+
#########################################################################
## PPC4xx Systems
#########################################################################
+xtract_4xx = $(subst _MODEL_BA,,$(subst _MODEL_ME,,$(subst _MODEL_HI,,$(subst _config,,$1))))
ADCIOP_config: unconfig
@./mkconfig $(@:_config=) ppc ppc4xx adciop esd
DASA_SIM_config: unconfig
@./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd
+DP405_config: unconfig
+ @./mkconfig $(@:_config=) ppc ppc4xx dp405 esd
+
DU405_config: unconfig
@./mkconfig $(@:_config=) ppc ppc4xx du405 esd
EXBITGEN_config:unconfig
@./mkconfig $(@:_config=) ppc ppc4xx exbitgen
+HUB405_config: unconfig
+ @./mkconfig $(@:_config=) ppc ppc4xx hub405 esd
+
MIP405_config:unconfig
@./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
PIP405_config:unconfig
@./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl
+PLU405_config: unconfig
+ @./mkconfig $(@:_config=) ppc ppc4xx plu405 esd
+
PMC405_config: unconfig
@./mkconfig $(@:_config=) ppc ppc4xx pmc405 esd
+PPChameleonEVB_MODEL_BA_config \
+PPChameleonEVB_MODEL_ME_config \
+PPChameleonEVB_MODEL_HI_config \
+PPChameleonEVB_config: unconfig
+ @ >include/config.h
+ @[ -z "$(findstring _MODEL_BA,$@)" ] || \
+ { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>include/config.h ; \
+ echo "... BASIC model" ; \
+ }
+ @[ -z "$(findstring _MODEL_ME,$@)" ] || \
+ { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>include/config.h ; \
+ echo "... MEDIUM model" ; \
+ }
+ @[ -z "$(findstring _MODEL_HI,$@)" ] || \
+ { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>include/config.h ; \
+ echo "... HIGH-END model" ; \
+ }
+ @./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
+
+VOH405_config: unconfig
+ @./mkconfig $(@:_config=) ppc ppc4xx voh405 esd
+
W7OLMC_config \
W7OLMG_config: unconfig
@./mkconfig $(@:_config=) ppc ppc4xx w7o
## MPC8260 Systems
#########################################################################
+atc_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc8260 atc
+
cogent_mpc8260_config: unconfig
@./mkconfig $(@:_config=) ppc mpc8260 cogent
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 \
+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" ; \
- }
- @[ -z "$(findstring TQM8255_,$@)" ] || \
- { echo "#define CONFIG_MPC8255" >>include/config.h ; }
@./mkconfig -a TQM8260 ppc mpc8260 tqm8260
-atc_config: unconfig
- @./mkconfig $(@:_config=) ppc mpc8260 atc
+ZPC1900_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc8260 zpc1900
+
+#########################################################################
+## MPC85xx Systems
+#########################################################################
+
+MPC8540ADS_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc85xx mpc8540ads
+
+MPC8560ADS_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc85xx mpc8560ads
#########################################################################
## 74xx/7xx Systems
AmigaOneG3SE_config: unconfig
@./mkconfig $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI
+BAB7xx_config: unconfig
+ @./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
+
+debris_config: unconfig
+ @./mkconfig $(@:_config=) ppc mpc824x debris etin
+
+ELPPC_config: unconfig
+ @./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
+
EVB64260_config \
EVB64260_750CX_config: unconfig
@./mkconfig EVB64260 ppc 74xx_7xx evb64260
-ZUMA_config: unconfig
+P3G4_config: unconfig
@./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
PCIPPC2_config \
PCIPPC6_config: unconfig
@./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2
-BAB7xx_config: unconfig
- @./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
-
-ELPPC_config: unconfig
- @./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
+ZUMA_config: unconfig
+ @./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
#========================================================================
# ARM
@./mkconfig $(@:_config=) arm sa1100 shannon
#########################################################################
-## ARM920T Systems
+## ARM92xT Systems
#########################################################################
-xtract_trab = $(subst _big_flash,,$(subst _config,,$1))
+xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(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 $(@:_config=) arm arm920t smdk2410
trab_config \
-trab_big_flash_config: unconfig
+trab_bigram_config \
+trab_bigflash_config \
+trab_old_config: unconfig
@ >include/config.h
- @[ -z "$(findstring _big_flash,$@)" ] || \
- { echo "#define CONFIG_BIG_FLASH" >>include/config.h ; \
- echo "... with big flash support" ; \
+ @[ -z "$(findstring _bigram,$@)" ] || \
+ { echo "#define CONFIG_FLASH_8MB" >>include/config.h ; \
+ echo "... with 8 MB Flash, 32 MB RAM" ; \
+ }
+ @[ -z "$(findstring _bigflash,$@)" ] || \
+ { echo "#define CONFIG_RAM_16MB" >>include/config.h ; \
+ echo "... with 16 MB Flash, 16 MB RAM" ; \
+ echo "TEXT_BASE = 0x0CF00000" >board/trab/config.tmp ; \
+ }
+ @[ -z "$(findstring _old,$@)" ] || \
+ { echo "#define CONFIG_OLD_VERSION" >>include/config.h ; \
+ echo "... with small memory configuration" ; \
+ echo "TEXT_BASE = 0x0CF00000" >board/trab/config.tmp ; \
}
@./mkconfig -a $(call xtract_trab,$@) arm arm920t trab
innokom_config : unconfig
@./mkconfig $(@:_config=) arm pxa innokom
+ixdp425_config : unconfig
+ @./mkconfig $(@:_config=) arm ixp ixdp425
+
lubbock_config : unconfig
@./mkconfig $(@:_config=) arm pxa lubbock
## 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
+#========================================================================
+# Nios
+#========================================================================
+#########################################################################
+## Nios32
+#########################################################################
+
+DK1C20_config: unconfig
+ @./mkconfig $(@:_config=) nios nios dk1c20
+
+
+#########################################################################
+## MIPS32 AU1000
+#########################################################################
+dbau1x00_config : unconfig
+ @./mkconfig $(@:_config=) mips mips dbau1x00
+
#########################################################################
#########################################################################
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 board/*/config.tmp
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.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 tools/inca-swap-bytes cpu/mpc824x/bedbug_603e.c
rm -f include/asm/proc include/asm/arch include/asm