]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - Makefile
nand: Add Marvell Kirkwood NAND driver
[karo-tx-uboot.git] / Makefile
index 10f6b1f49fc580190d9577a36f7e7c5f99a404d6..2a06440249577b5fefae4a6f8dcefa2b010b2f9b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,7 @@
 VERSION = 2009
 PATCHLEVEL = 06
 SUBLEVEL =
-EXTRAVERSION = -rc3
+EXTRAVERSION =
 ifneq "$(SUBLEVEL)" ""
 U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 else
@@ -137,6 +137,14 @@ ifeq ($(ARCH),powerpc)
 ARCH = ppc
 endif
 
+# The "tools" are needed early, so put this first
+# Don't include stuff already done in $(LIBS)
+SUBDIRS        = tools \
+         examples \
+         api_examples
+
+.PHONY : $(SUBDIRS)
+
 ifeq ($(obj)include/config.mk,$(wildcard $(obj)include/config.mk))
 
 # load ARCH, BOARD, and CPU configuration
@@ -282,14 +290,6 @@ LIBBOARD := $(addprefix $(obj),$(LIBBOARD))
 # Add GCC lib
 PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
 
-# The "tools" are needed early, so put this first
-# Don't include stuff already done in $(LIBS)
-SUBDIRS        = tools \
-         examples \
-         api_examples
-
-.PHONY : $(SUBDIRS)
-
 ifeq ($(CONFIG_NAND_U_BOOT),y)
 NAND_SPL = nand_spl
 U_BOOT_NAND = $(obj)u-boot-nand.bin
@@ -306,10 +306,8 @@ __LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD))
 #########################################################################
 #########################################################################
 
+# Always append ALL so that arch config.mk's can add custom ones
 ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND)
-ifeq ($(ARCH),blackfin)
-ALL += $(obj)u-boot.ldr
-endif
 
 all:           $(ALL)
 
@@ -323,6 +321,7 @@ $(obj)u-boot.bin:   $(obj)u-boot
                $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
 
 $(obj)u-boot.ldr:      $(obj)u-boot
+               $(obj)tools/envcrc --binary > $(obj)env-ldr.o
                $(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS)
 
 $(obj)u-boot.ldr.hex:  $(obj)u-boot.ldr
@@ -344,12 +343,19 @@ $(obj)u-boot.sha1:        $(obj)u-boot.bin
 $(obj)u-boot.dis:      $(obj)u-boot
                $(OBJDUMP) -d $< > $@
 
-$(obj)u-boot:          depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT)
+GEN_UBOOT = \
                UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
                sed  -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
                cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
                        --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
                        -Map u-boot.map -o u-boot
+$(obj)u-boot:          depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT)
+               $(GEN_UBOOT)
+ifeq ($(CONFIG_KALLSYMS),y)
+               smap=`$(call SYSTEM_MAP,u-boot) | awk '$$2 ~ /[tTwW]/ {printf $$1 $$3 "\\0"}'` ; \
+               $(CC) $(CFLAGS) -DSYSTEM_MAP="\"$${smap}\"" -c common/system_map.c -o $(obj)common/system_map.o
+               $(GEN_UBOOT) $(obj)common/system_map.o
+endif
 
 $(OBJS):       depend
                $(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@))
@@ -448,10 +454,12 @@ cscope:
                                                > cscope.files
                cscope -b -q -k
 
-$(obj)System.map:      $(obj)u-boot
-               @$(NM) $< | \
+SYSTEM_MAP = \
+               $(NM) $1 | \
                grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
-               sort > $(obj)System.map
+               LC_ALL=C sort
+$(obj)System.map:      $(obj)u-boot
+               @$(call SYSTEM_MAP,$<) > $(obj)System.map
 
 #
 # Auto-generate the autoconf.mk file (which is included by all makefiles)
@@ -812,15 +820,20 @@ v38b_config: unconfig
 ## MPC512x Systems
 #########################################################################
 
-ads5121_config \
-ads5121_rev2_config    \
+aria_config:   unconfig
+       @$(MKCONFIG) -a aria ppc mpc512x aria davedenx
+
+mecp5123_config:       unconfig
+       @$(MKCONFIG) -a mecp5123 ppc mpc512x mecp5123 esd
+
+mpc5121ads_config \
+mpc5121ads_rev2_config \
        : unconfig
        @mkdir -p $(obj)include
        @if [ "$(findstring rev2,$@)" ] ; then \
                echo "#define CONFIG_ADS5121_REV2 1" > $(obj)include/config.h; \
        fi
-       @$(MKCONFIG) -a ads5121 ppc mpc512x ads5121
-
+       @$(MKCONFIG) -a mpc5121ads ppc mpc512x mpc5121ads freescale
 
 #########################################################################
 ## MPC8xx Systems
@@ -2467,6 +2480,15 @@ MPC8572DS_config:       unconfig
        fi
        @$(MKCONFIG) -a MPC8572DS ppc mpc85xx mpc8572ds freescale
 
+P2020DS_36BIT_config \
+P2020DS_config:                unconfig
+       @mkdir -p $(obj)include
+       @if [ "$(findstring _36BIT_,$@)" ] ; then \
+               echo "#define CONFIG_PHYS_64BIT" >>$(obj)include/config.h ; \
+               $(XECHO) "... enabling 36-bit physical addressing." ; \
+       fi
+       @$(MKCONFIG) -a P2020DS ppc mpc85xx p2020ds freescale
+
 PM854_config:  unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc85xx pm854
 
@@ -2558,6 +2580,9 @@ MPC8641HPCN_config:    unconfig
 sbc8641d_config:       unconfig
        @$(MKCONFIG) $(@:_config=) ppc mpc86xx sbc8641d
 
+XPEDITE5170_config:    unconfig
+       @$(MKCONFIG) $(@:_config=) ppc mpc86xx xpedite5170 xes
+
 #########################################################################
 ## 74xx/7xx Systems
 #########################################################################
@@ -2732,6 +2757,8 @@ at91sam9261ek_config      :       unconfig
        fi;
        @$(MKCONFIG) -a at91sam9261ek arm arm926ejs at91sam9261ek atmel at91
 
+at91sam9263ek_norflash_config \
+at91sam9263ek_norflash_boot_config \
 at91sam9263ek_nandflash_config \
 at91sam9263ek_dataflash_config \
 at91sam9263ek_dataflash_cs0_config \
@@ -2740,10 +2767,17 @@ at91sam9263ek_config    :       unconfig
        @if [ "$(findstring _nandflash,$@)" ] ; then \
                echo "#define CONFIG_SYS_USE_NANDFLASH 1"       >>$(obj)include/config.h ; \
                $(XECHO) "... with environment variable in NAND FLASH" ; \
+       elif [ "$(findstring norflash,$@)" ] ; then \
+               echo "#define CONFIG_SYS_USE_NORFLASH 1"        >>$(obj)include/config.h ; \
+               $(XECHO) "... with environment variable in NOR FLASH" ; \
        else \
                echo "#define CONFIG_SYS_USE_DATAFLASH 1"       >>$(obj)include/config.h ; \
                $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
        fi;
+       @if [ "$(findstring norflash_boot,$@)" ] ; then \
+               echo "#define CONFIG_SYS_USE_BOOT_NORFLASH 1"   >>$(obj)include/config.h ; \
+               $(XECHO) "... and boot from NOR FLASH" ; \
+       fi;
        @$(MKCONFIG) -a at91sam9263ek arm arm926ejs at91sam9263ek atmel at91
 
 at91sam9rlek_nandflash_config \
@@ -2760,6 +2794,12 @@ at91sam9rlek_config      :       unconfig
        fi;
        @$(MKCONFIG) -a at91sam9rlek arm arm926ejs at91sam9rlek atmel at91
 
+meesc_config   :       unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm926ejs meesc esd at91
+
+pm9261_config  :       unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm926ejs pm9261 ronetix at91
+
 pm9263_config  :       unconfig
        @$(MKCONFIG) $(@:_config=) arm arm926ejs pm9263 ronetix at91
 
@@ -2775,7 +2815,7 @@ ap720t_config             \
 ap920t_config          \
 ap926ejs_config                \
 ap946es_config: unconfig
-       @board/armltd/integratorap/split_by_variant.sh $@
+       @board/armltd/integrator/split_by_variant.sh ap $@
 
 integratorcp_config    \
 cp_config              \
@@ -2787,7 +2827,7 @@ cp966_config              \
 cp922_config           \
 cp922_XA10_config      \
 cp1026_config: unconfig
-       @board/armltd/integratorcp/split_by_variant.sh $@
+       @board/armltd/integrator/split_by_variant.sh cp $@
 
 davinci_dvevm_config : unconfig
        @$(MKCONFIG) $(@:_config=) arm arm926ejs dvevm davinci davinci
@@ -2801,6 +2841,9 @@ davinci_sffsdr_config :   unconfig
 davinci_sonata_config :        unconfig
        @$(MKCONFIG) $(@:_config=) arm arm926ejs sonata davinci davinci
 
+davinci_dm355evm_config :      unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm926ejs dm355evm davinci davinci
+
 lpd7a400_config \
 lpd7a404_config:       unconfig
        @$(MKCONFIG) $(@:_config=) arm lh7a40x lpd7a40x
@@ -2814,17 +2857,17 @@ mx1fs2_config   :       unconfig
 netstar_config:                unconfig
        @$(MKCONFIG) $(@:_config=) arm arm925t netstar
 
-nmdk8815_config \
-nmdk8815_onenand_config:       unconfig
+nhk8815_config \
+nhk8815_onenand_config:        unconfig
        @mkdir -p $(obj)include
        @ > $(obj)include/config.h
        @if [ "$(findstring _onenand, $@)" ] ; then \
                echo "#define CONFIG_BOOT_ONENAND" >> $(obj)include/config.h; \
-               $(XECHO) "... configured for OneNand Flash"; \
+               $(XECHO) "... configured to boot from OneNand Flash"; \
        else \
-               $(XECHO) "... configured for Nand Flash"; \
+               $(XECHO) "... configured to boot from Nand Flash"; \
        fi
-       @$(MKCONFIG) -a nmdk8815 arm arm926ejs nmdk8815 st nomadik
+       @$(MKCONFIG) -a nhk8815 arm arm926ejs nhk8815 st nomadik
 
 omap1510inn_config :   unconfig
        @$(MKCONFIG) $(@:_config=) arm arm925t omap1510inn
@@ -2994,6 +3037,9 @@ omap3_pandora_config :    unconfig
 omap3_zoom1_config :   unconfig
        @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom1 omap3 omap3
 
+omap3_zoom2_config :   unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom2 omap3 omap3
+
 #########################################################################
 ## XScale Systems
 #########################################################################
@@ -3052,8 +3098,13 @@ scpu_config:     unconfig
 pxa255_idp_config:     unconfig
        @$(MKCONFIG) $(@:_config=) arm pxa pxa255_idp
 
+polaris_config \
 trizepsiv_config       :       unconfig
-       @$(MKCONFIG) $(@:_config=) arm pxa trizepsiv
+       @mkdir -p $(obj)include
+       @if [ "$(findstring polaris,$@)" ] ; then \
+               echo "#define CONFIG_POLARIS 1" >>$(obj)include/config.h ; \
+       fi;
+       @$(MKCONFIG) -a trizepsiv arm pxa trizepsiv
 
 wepep250_config        :       unconfig
        @$(MKCONFIG) $(@:_config=) arm pxa wepep250
@@ -3095,6 +3146,17 @@ imx31_phycore_config     : unconfig
 mx31ads_config         : unconfig
        @$(MKCONFIG) $(@:_config=) arm arm1136 mx31ads freescale mx31
 
+mx31pdk_config \
+mx31pdk_nand_config    : unconfig
+       @mkdir -p $(obj)include
+       @if [ -n "$(findstring _nand_,$@)" ]; then                                      \
+               echo "#define CONFIG_NAND_U_BOOT" >> $(obj)include/config.h;            \
+       else                                                                            \
+               echo "#define CONFIG_SKIP_LOWLEVEL_INIT" >> $(obj)include/config.h;     \
+               echo "#define CONFIG_SKIP_RELOCATE_UBOOT" >> $(obj)include/config.h;    \
+       fi
+       @$(MKCONFIG) -a mx31pdk arm arm1136 mx31pdk freescale mx31
+
 omap2420h4_config      : unconfig
        @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 NULL omap24xx
 
@@ -3358,7 +3420,16 @@ suzaku_config:   unconfig
 
 # Analog Devices boards
 BFIN_BOARDS = bf518f-ezbrd bf526-ezbrd bf527-ezkit bf533-ezkit bf533-stamp \
-       bf537-stamp bf538f-ezkit bf548-ezkit bf561-ezkit
+       bf537-pnav bf537-stamp bf538f-ezkit bf548-ezkit bf561-ezkit
+
+# Bluetechnix tinyboards
+BFIN_BOARDS += cm-bf527 cm-bf533 cm-bf537e cm-bf548 cm-bf561 tcm-bf537
+
+# Misc third party boards
+BFIN_BOARDS += bf537-minotaur bf537-srv1 blackstamp
+
+# I-SYST Micromodule
+BFIN_BOARDS += ibf-dsp561
 
 $(BFIN_BOARDS:%=%_config)      : unconfig
        @$(MKCONFIG) $(@:_config=) blackfin blackfin $(@:_config=)
@@ -3532,8 +3603,7 @@ clean:
               $(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin}      \
               $(obj)board/trab/trab_fkt   $(obj)board/voiceblue/eeprom   \
               $(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds  \
-              $(obj)board/bf5{18f,26,27,33,38f,48,61}-ez{brd,kit}/u-boot.lds \
-              $(obj)board/bf5{33,37}-stamp/u-boot.lds                    \
+              $(obj)lib_blackfin/u-boot.lds                              \
               $(obj)cpu/blackfin/bootrom-asm-offsets.[chs]
        @rm -f $(obj)include/bmp_logo.h
        @rm -f $(obj)nand_spl/{u-boot-spl,u-boot-spl.map,System.map}