X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=Makefile;h=11aac21ea9b722b6d03273e9e1853d90689c7263;hp=400ef0b5813133b0da7316729c887036699f1c58;hb=dbe20fc79736d4f99a9bfaafeae600c9348504df;hpb=4c34b2a090b8418fd6b2e91b5e9dd8d36206384f diff --git a/Makefile b/Makefile index 400ef0b581..11aac21ea9 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ # VERSION = 2011 -PATCHLEVEL = 09 +PATCHLEVEL = 12 SUBLEVEL = EXTRAVERSION = ifneq "$(SUBLEVEL)" "" @@ -142,9 +142,6 @@ unexport CDPATH SUBDIR_TOOLS = tools SUBDIR_EXAMPLES = examples/standalone examples/api SUBDIRS = $(SUBDIR_TOOLS) -ifndef CONFIG_SANDBOX -SUBDIRS += $(SUBDIR_EXAMPLES) -endif .PHONY : $(SUBDIRS) $(VERSION_FILE) $(TIMESTAMP_FILE) @@ -157,6 +154,10 @@ all: sinclude $(obj)include/autoconf.mk.dep sinclude $(obj)include/autoconf.mk +ifndef CONFIG_SANDBOX +SUBDIRS += $(SUBDIR_EXAMPLES) +endif + # load ARCH, BOARD, and CPU configuration include $(obj)include/config.mk export ARCH CPU BOARD VENDOR SOC @@ -229,6 +230,9 @@ endif ifeq ($(CPU),ixp) LIBS += arch/arm/cpu/ixp/npe/libnpe.o endif +ifeq ($(CONFIG_OF_EMBED),y) +LIBS += dts/libdts.o +endif LIBS += arch/$(ARCH)/lib/lib$(ARCH).o LIBS += fs/cramfs/libcramfs.o fs/fat/libfat.o fs/fdos/libfdos.o fs/jffs2/libjffs2.o \ fs/reiserfs/libreiserfs.o fs/ext2/libext2fs.o fs/yaffs2/libyaffs2.o \ @@ -273,12 +277,16 @@ LIBS += arch/powerpc/cpu/mpc8xxx/lib8xxx.o endif LIBS += drivers/rtc/librtc.o LIBS += drivers/serial/libserial.o +ifeq ($(CONFIG_GENERIC_LPC_TPM),y) +LIBS += drivers/tpm/libtpm.o +endif LIBS += drivers/twserial/libtws.o LIBS += drivers/usb/eth/libusb_eth.o LIBS += drivers/usb/gadget/libusb_gadget.o LIBS += drivers/usb/host/libusb_host.o LIBS += drivers/usb/musb/libusb_musb.o LIBS += drivers/usb/phy/libusb_phy.o +LIBS += drivers/usb/ulpi/libusb_ulpi.o LIBS += drivers/video/libvideo.o LIBS += drivers/watchdog/libwatchdog.o LIBS += common/libcommon.o @@ -286,17 +294,21 @@ LIBS += lib/libfdt/libfdt.o LIBS += api/libapi.o LIBS += post/libpost.o -ifeq ($(SOC),omap3) +ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX),) LIBS += $(CPUDIR)/omap-common/libomap-common.o endif -ifeq ($(SOC),omap4) -LIBS += $(CPUDIR)/omap-common/libomap-common.o + +ifeq ($(SOC),mx5) +LIBS += $(CPUDIR)/imx-common/libimx-common.o +endif +ifeq ($(SOC),mx6) +LIBS += $(CPUDIR)/imx-common/libimx-common.o endif ifeq ($(SOC),s5pc1xx) LIBS += $(CPUDIR)/s5p-common/libs5p-common.o endif -ifeq ($(SOC),s5pc2xx) +ifeq ($(SOC),exynos) LIBS += $(CPUDIR)/s5p-common/libs5p-common.o endif @@ -314,7 +326,7 @@ else PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc endif else -PLATFORM_LIBGCC = -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc +PLATFORM_LIBGCC := -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc endif PLATFORM_LIBS += $(PLATFORM_LIBGCC) export PLATFORM_LIBS @@ -356,9 +368,17 @@ ALL-$(CONFIG_ONENAND_U_BOOT) += $(obj)u-boot-onenand.bin ONENAND_BIN ?= $(obj)onenand_ipl/onenand-ipl-2k.bin ALL-$(CONFIG_MMC_U_BOOT) += $(obj)mmc_spl/u-boot-mmc-spl.bin ALL-$(CONFIG_SPL) += $(obj)spl/u-boot-spl.bin +ALL-$(CONFIG_OF_SEPARATE) += $(obj)u-boot.dtb $(obj)u-boot-dtb.bin all: $(ALL-y) $(SUBDIR_EXAMPLES) +$(obj)u-boot.dtb: $(obj)u-boot + $(MAKE) -C dts binary + mv $(obj)dts/dt.dtb $@ + +$(obj)u-boot-dtb.bin: $(obj)u-boot.bin $(obj)u-boot.dtb + cat $^ >$@ + $(obj)u-boot.hex: $(obj)u-boot $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ @@ -401,9 +421,29 @@ $(obj)u-boot.sha1: $(obj)u-boot.bin $(obj)u-boot.dis: $(obj)u-boot $(OBJDUMP) -d $< > $@ -$(obj)u-boot.ubl: $(obj)u-boot-nand.bin +$(obj)u-boot.ubl: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin + $(OBJCOPY) ${OBJCFLAGS} --pad-to=$(PAD_TO) -O binary $(obj)spl/u-boot-spl $(obj)spl/u-boot-spl-pad.bin + cat $(obj)spl/u-boot-spl-pad.bin $(obj)u-boot.bin > $(obj)u-boot-ubl.bin $(obj)tools/mkimage -n $(UBL_CONFIG) -T ublimage \ - -e $(CONFIG_SYS_TEXT_BASE) -d $< $@ + -e $(CONFIG_SYS_TEXT_BASE) -d $(obj)u-boot-ubl.bin $(obj)u-boot.ubl + rm $(obj)u-boot-ubl.bin + rm $(obj)spl/u-boot-spl-pad.bin + +$(obj)u-boot.ais: $(obj)spl/u-boot-spl.bin $(obj)u-boot.bin + $(obj)tools/mkimage -s -n /dev/null -T aisimage \ + -e $(CONFIG_SPL_TEXT_BASE) \ + -d $(obj)spl/u-boot-spl.bin \ + $(obj)spl/u-boot-spl.ais + $(OBJCOPY) ${OBJCFLAGS} -I binary \ + --pad-to=$(CONFIG_SPL_MAX_SIZE) -O binary \ + $(obj)spl/u-boot-spl.ais $(obj)spl/u-boot-spl-pad.ais + cat $(obj)spl/u-boot-spl-pad.ais $(obj)u-boot.bin > \ + $(obj)u-boot.ais + rm $(obj)spl/u-boot-spl{,-pad}.ais + +$(obj)u-boot.sb: $(obj)u-boot.bin $(obj)spl/u-boot-spl.bin + elftosb -zdf imx28 -c $(TOPDIR)/board/$(BOARDDIR)/u-boot.bd \ + -o $(obj)u-boot.sb ifeq ($(CONFIG_SANDBOX),y) GEN_UBOOT = \ @@ -467,7 +507,7 @@ mmc_spl: $(TIMESTAMP_FILE) $(VERSION_FILE) depend $(obj)mmc_spl/u-boot-mmc-spl.bin: mmc_spl -$(obj)spl/u-boot-spl.bin: depend +$(obj)spl/u-boot-spl.bin: $(SUBDIR_TOOLS) depend $(MAKE) -C spl all updater: @@ -615,7 +655,7 @@ unconfig: sinclude $(obj).boards.depend $(obj).boards.depend: boards.cfg - awk '(NF && $$1 !~ /^#/) { print $$1 ": " $$1 "_config; $$(MAKE)" }' $< > $@ + @awk '(NF && $$1 !~ /^#/) { print $$1 ": " $$1 "_config; $$(MAKE)" }' $< > $@ # # Functions to generate common board directory names @@ -623,157 +663,10 @@ $(obj).boards.depend: boards.cfg lcname = $(shell echo $(1) | sed -e 's/\(.*\)_config/\L\1/') ucname = $(shell echo $(1) | sed -e 's/\(.*\)_config/\U\1/') -######################################################################### -## Coldfire -######################################################################### -M52277EVB_config \ -M52277EVB_spansion_config \ -M52277EVB_stmicro_config : unconfig - @mkdir -p $(obj)include - @mkdir -p $(obj)board/freescale/m52277evb - @case "$@" in \ - M52277EVB_config) FLASH=SPANSION;; \ - M52277EVB_spansion_config) FLASH=SPANSION;; \ - M52277EVB_stmicro_config) FLASH=STMICRO;; \ - esac; \ - if [ "$${FLASH}" = "SPANSION" ] ; then \ - echo "#define CONFIG_SYS_SPANSION_BOOT" >> $(obj)include/config.h ; \ - echo "CONFIG_SYS_TEXT_BASE = 0x00000000" > $(obj)board/freescale/m52277evb/config.tmp ; \ - fi; \ - if [ "$${FLASH}" = "STMICRO" ] ; then \ - echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ - echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ - echo "CONFIG_SYS_TEXT_BASE = 0x43E00000" > $(obj)board/freescale/m52277evb/config.tmp ; \ - fi - @$(MKCONFIG) -n $@ -a M52277EVB m68k mcf5227x m52277evb freescale - -M5235EVB_config \ -M5235EVB_Flash16_config \ -M5235EVB_Flash32_config: unconfig - @mkdir -p $(obj)include - @mkdir -p $(obj)board/freescale/m5235evb - @case "$@" in \ - M5235EVB_config) FLASH=16;; \ - M5235EVB_Flash16_config) FLASH=16;; \ - M5235EVB_Flash32_config) FLASH=32;; \ - esac; \ - if [ "$${FLASH}" != "16" ] ; then \ - echo "#define NORFLASH_PS32BIT 1" >> $(obj)include/config.h ; \ - echo "CONFIG_SYS_TEXT_BASE = 0xFFC00000" > $(obj)board/freescale/m5235evb/config.tmp ; \ - else \ - echo "CONFIG_SYS_TEXT_BASE = 0xFFE00000" > $(obj)board/freescale/m5235evb/config.tmp ; \ - fi - @$(MKCONFIG) -n $@ -a M5235EVB m68k mcf523x m5235evb freescale - -EB+MCF-EV123_config : unconfig - @mkdir -p $(obj)board/BuS/EB+MCF-EV123 - @echo "CONFIG_SYS_TEXT_BASE = 0xFFE00000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk - @$(MKCONFIG) -n $@ EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS - -EB+MCF-EV123_internal_config : unconfig - @mkdir -p $(obj)board/BuS/EB+MCF-EV123 - @echo "CONFIG_SYS_TEXT_BASE = 0xF0000000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk - @$(MKCONFIG) -n $@ EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS - -M54451EVB_config \ -M54451EVB_stmicro_config : unconfig - @mkdir -p $(obj)include - @mkdir -p $(obj)board/freescale/m54451evb - @case "$@" in \ - M54451EVB_config) FLASH=NOR;; \ - M54451EVB_stmicro_config) FLASH=STMICRO;; \ - esac; \ - if [ "$${FLASH}" = "NOR" ] ; then \ - echo "CONFIG_SYS_TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54451evb/config.tmp ; \ - fi; \ - if [ "$${FLASH}" = "STMICRO" ] ; then \ - echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ - echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ - echo "CONFIG_SYS_TEXT_BASE = 0x47E00000" > $(obj)board/freescale/m54451evb/config.tmp ; \ - fi; \ - echo "#define CONFIG_SYS_INPUT_CLKSRC 24000000" >> $(obj)include/config.h ; - @$(MKCONFIG) -n $@ -a M54451EVB m68k mcf5445x m54451evb freescale - -M54455EVB_config \ -M54455EVB_atmel_config \ -M54455EVB_intel_config \ -M54455EVB_a33_config \ -M54455EVB_a66_config \ -M54455EVB_i33_config \ -M54455EVB_i66_config \ -M54455EVB_stm33_config : unconfig - @mkdir -p $(obj)include - @mkdir -p $(obj)board/freescale/m54455evb - @case "$@" in \ - M54455EVB_config) FLASH=ATMEL; FREQ=33333333;; \ - M54455EVB_atmel_config) FLASH=ATMEL; FREQ=33333333;; \ - M54455EVB_intel_config) FLASH=INTEL; FREQ=33333333;; \ - M54455EVB_a33_config) FLASH=ATMEL; FREQ=33333333;; \ - M54455EVB_a66_config) FLASH=ATMEL; FREQ=66666666;; \ - M54455EVB_i33_config) FLASH=INTEL; FREQ=33333333;; \ - M54455EVB_i66_config) FLASH=INTEL; FREQ=66666666;; \ - M54455EVB_stm33_config) FLASH=STMICRO; FREQ=33333333;; \ - esac; \ - if [ "$${FLASH}" = "INTEL" ] ; then \ - echo "#define CONFIG_SYS_INTEL_BOOT" >> $(obj)include/config.h ; \ - echo "CONFIG_SYS_TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54455evb/config.tmp ; \ - fi; \ - if [ "$${FLASH}" = "ATMEL" ] ; then \ - echo "#define CONFIG_SYS_ATMEL_BOOT" >> $(obj)include/config.h ; \ - echo "CONFIG_SYS_TEXT_BASE = 0x04000000" > $(obj)board/freescale/m54455evb/config.tmp ; \ - fi; \ - if [ "$${FLASH}" = "STMICRO" ] ; then \ - echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ - echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ - echo "CONFIG_SYS_TEXT_BASE = 0x4FE00000" > $(obj)board/freescale/m54455evb/config.tmp ; \ - fi; \ - echo "#define CONFIG_SYS_INPUT_CLKSRC $${FREQ}" >> $(obj)include/config.h ; \ - $(XECHO) "... with $${FREQ}Hz input clock" - @$(MKCONFIG) -n $@ -a M54455EVB m68k mcf5445x m54455evb freescale - #======================================================================== # ARM #======================================================================== -xtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$(subst _config,,$1)))) - -omap1610inn_config \ -omap1610inn_cs0boot_config \ -omap1610inn_cs3boot_config \ -omap1610inn_cs_autoboot_config \ -omap1610h2_config \ -omap1610h2_cs0boot_config \ -omap1610h2_cs3boot_config \ -omap1610h2_cs_autoboot_config: unconfig - @mkdir -p $(obj)include - @if [ "$(findstring _cs0boot_, $@)" ] ; then \ - echo "#define CONFIG_CS0_BOOT" >> .$(obj)include/config.h ; \ - elif [ "$(findstring _cs_autoboot_, $@)" ] ; then \ - echo "#define CONFIG_CS_AUTOBOOT" >> $(obj)include/config.h ; \ - else \ - echo "#define CONFIG_CS3_BOOT" >> $(obj)include/config.h ; \ - fi; - @$(MKCONFIG) -n $@ -a $(call xtract_omap1610xxx,$@) arm arm926ejs omap1610inn ti omap - -omap730p2_config \ -omap730p2_cs0boot_config \ -omap730p2_cs3boot_config : unconfig - @mkdir -p $(obj)include - @if [ "$(findstring _cs0boot_, $@)" ] ; then \ - echo "#define CONFIG_CS0_BOOT" >> $(obj)include/config.h ; \ - else \ - echo "#define CONFIG_CS3_BOOT" >> $(obj)include/config.h ; \ - fi; - @$(MKCONFIG) -n $@ -a omap730p2 arm arm926ejs omap730p2 ti omap - -spear300_config \ -spear310_config \ -spear320_config : unconfig - @$(MKCONFIG) -n $@ -t $@ spear3xx arm arm926ejs $(@:_config=) spear spear - -spear600_config : unconfig - @$(MKCONFIG) -n $@ -t $@ spear6xx arm arm926ejs $(@:_config=) spear spear - SX1_stdout_serial_config \ SX1_config: unconfig @mkdir -p $(obj)include @@ -796,16 +689,6 @@ scpu_config: unconfig fi @$(MKCONFIG) -n $@ -a pdnb3 arm ixp pdnb3 prodrive -######################################################################### -## ARM1136 Systems -######################################################################### - -apollon_config : unconfig - @mkdir -p $(obj)include - @echo "#define CONFIG_ONENAND_U_BOOT" > $(obj)include/config.h - @echo "CONFIG_ONENAND_U_BOOT = y" >> $(obj)include/config.mk - @$(MKCONFIG) $@ arm arm1136 apollon - omap24xx - ######################################################################### ## ARM1176 Systems ######################################################################### @@ -843,7 +726,8 @@ clean: $(obj)tools/envcrc \ $(obj)tools/gdb/{astest,gdbcont,gdbsend} \ $(obj)tools/gen_eth_addr $(obj)tools/img2srec \ - $(obj)tools/mkimage $(obj)tools/mpc86x_clk \ + $(obj)tools/mk{env,}image $(obj)tools/mpc86x_clk \ + $(obj)tools/mk{smdk5250,}spl \ $(obj)tools/ncb $(obj)tools/ubsha1 @rm -f $(obj)board/cray/L1/{bootscript.c,bootscript.image} \ $(obj)board/matrix_vision/*/bootscript.img \ @@ -852,6 +736,7 @@ clean: $(obj)arch/blackfin/cpu/bootrom-asm-offsets.[chs] \ $(obj)arch/blackfin/cpu/init.{lds,elf} @rm -f $(obj)include/bmp_logo.h + @rm -f $(obj)include/bmp_logo_data.h @rm -f $(obj)lib/asm-offsets.s @rm -f $(obj)include/generated/asm-offsets.h @rm -f $(obj)$(CPUDIR)/$(SOC)/asm-offsets.s @@ -868,24 +753,32 @@ clean: -o -name '*.o' -o -name '*.a' -o -name '*.exe' \) -print \ | xargs rm -f -clobber: clean - @find $(OBJTREE) -type f \( -name '*.depend*' \ - -o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \ - -print0 \ - | xargs -0 rm -f +# Removes everything not needed for testing u-boot +tidy: clean + @find $(OBJTREE) -type f \( -name '*.depend*' \) -print | xargs rm -f + +clobber: tidy + @find $(OBJTREE) -type f \( -name '*.srec' \ + -o -name '*.bin' -o -name u-boot.img \) \ + -print0 | xargs -0 rm -f @rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS \ $(obj)cscope.* $(obj)*.*~ @rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL-y) @rm -f $(obj)u-boot.kwb @rm -f $(obj)u-boot.imx @rm -f $(obj)u-boot.ubl - @rm -f $(obj)tools/{env/crc32.c,inca-swap-bytes} + @rm -f $(obj)u-boot.ais + @rm -f $(obj)u-boot.dtb + @rm -f $(obj)u-boot.sb + @rm -f $(obj)tools/inca-swap-bytes @rm -f $(obj)arch/powerpc/cpu/mpc824x/bedbug_603e.c + @rm -f $(obj)arch/powerpc/cpu/mpc83xx/ddr-gen?.c @rm -fr $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm @rm -fr $(obj)include/generated @[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -name "*" -type l -print | xargs rm -f @[ ! -d $(obj)onenand_ipl ] || find $(obj)onenand_ipl -name "*" -type l -print | xargs rm -f @[ ! -d $(obj)mmc_spl ] || find $(obj)mmc_spl -name "*" -type l -print | xargs rm -f + @rm -f $(obj)dts/*.tmp mrproper \ distclean: clobber unconfig