Merge branch 'master' of /home/git/u-boot
authorMarian Balakowicz <m8@semihalf.com>
Thu, 21 Feb 2008 16:18:01 +0000 (17:18 +0100)
committerMarian Balakowicz <m8@semihalf.com>
Thu, 21 Feb 2008 16:18:01 +0000 (17:18 +0100)
1  2 
Makefile
common/Makefile
lib_arm/Makefile
lib_arm/bootm.c
lib_ppc/Makefile

diff --combined Makefile
+++ b/Makefile
@@@ -23,8 -23,8 +23,8 @@@
  
  VERSION = 1
  PATCHLEVEL = 3
- SUBLEVEL = 1
- EXTRAVERSION =
+ SUBLEVEL = 2
+ EXTRAVERSION = -rc1
  U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
  VERSION_FILE = $(obj)include/version_autogenerated.h
  
@@@ -185,18 -185,6 +185,6 @@@ endi
  ifeq ($(CPU),mpc85xx)
  OBJS += cpu/$(CPU)/resetvec.o
  endif
- ifeq ($(CPU),bf533)
- OBJS += cpu/$(CPU)/start1.o   cpu/$(CPU)/interrupt.o  cpu/$(CPU)/cache.o
- OBJS += cpu/$(CPU)/flush.o    cpu/$(CPU)/init_sdram.o
- endif
- ifeq ($(CPU),bf537)
- OBJS += cpu/$(CPU)/start1.o   cpu/$(CPU)/interrupt.o  cpu/$(CPU)/cache.o
- OBJS += cpu/$(CPU)/flush.o    cpu/$(CPU)/init_sdram.o
- endif
- ifeq ($(CPU),bf561)
- OBJS += cpu/$(CPU)/start1.o   cpu/$(CPU)/interrupt.o  cpu/$(CPU)/cache.o
- OBJS += cpu/$(CPU)/flush.o    cpu/$(CPU)/init_sdram.o
- endif
  
  OBJS := $(addprefix $(obj),$(OBJS))
  
@@@ -253,9 -241,7 +241,7 @@@ LIBS += $(shell if [ -d post/board/$(BO
        "post/board/$(BOARDDIR)/libpost$(BOARD).a"; fi)
  LIBS += common/libcommon.a
  LIBS += libfdt/libfdt.a
- ifeq ($(CONFIG_API),y)
  LIBS += api/libapi.a
- endif
  
  LIBS := $(addprefix $(obj),$(LIBS))
  .PHONY : $(LIBS)
@@@ -266,11 -252,8 +252,8 @@@ PLATFORM_LIBS += -L $(shell dirname `$(
  # The "tools" are needed early, so put this first
  # Don't include stuff already done in $(LIBS)
  SUBDIRS       = tools \
-         examples
- ifeq ($(CONFIG_API),y)
- SUBDIRS += api_examples
- endif
+         examples \
+         api_examples
  
  .PHONY : $(SUBDIRS)
  
@@@ -279,13 -262,21 +262,21 @@@ NAND_SPL = nand_sp
  U_BOOT_NAND = $(obj)u-boot-nand.bin
  endif
  
+ ifeq ($(CONFIG_ONENAND_U_BOOT),y)
+ ONENAND_IPL = onenand_ipl
+ U_BOOT_ONENAND = $(obj)u-boot-onenand.bin
+ endif
  __OBJS := $(subst $(obj),,$(OBJS))
  __LIBS := $(subst $(obj),,$(LIBS))
  
  #########################################################################
  #########################################################################
  
- ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND)
+ 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)
  
@@@ -298,6 -289,15 +289,15 @@@ $(obj)u-boot.srec:       $(obj)u-boo
  $(obj)u-boot.bin:     $(obj)u-boot
                $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
  
+ $(obj)u-boot.ldr:     $(obj)u-boot
+               $(LDR) -T $(CONFIG_BFIN_CPU) -f -c $@ $< $(LDR_FLAGS)
+ $(obj)u-boot.ldr.hex: $(obj)u-boot.ldr
+               $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ -I binary
+ $(obj)u-boot.ldr.srec:        $(obj)u-boot.ldr
+               $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@ -I binary
  $(obj)u-boot.img:     $(obj)u-boot.bin
                ./tools/mkimage -A $(ARCH) -T firmware -C none \
                -a $(TEXT_BASE) -e 0 \
@@@ -312,18 -312,18 +312,18 @@@ $(obj)u-boot.dis:       $(obj)u-boo
                $(OBJDUMP) -d $< > $@
  
  $(obj)u-boot:         depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
-               UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
+               UNDEF_SYM=`$(OBJDUMP) -x $(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
  
- $(OBJS):      $(obj)include/autoconf.mk
+ $(OBJS):      depend $(obj)include/autoconf.mk
                $(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@))
  
- $(LIBS):      $(obj)include/autoconf.mk
+ $(LIBS):      depend $(obj)include/autoconf.mk
                $(MAKE) -C $(dir $(subst $(obj),,$@))
  
- $(SUBDIRS):   $(obj)include/autoconf.mk
+ $(SUBDIRS):   depend $(obj)include/autoconf.mk
                $(MAKE) -C $@ all
  
  $(NAND_SPL):  $(VERSION_FILE) $(obj)include/autoconf.mk
  $(U_BOOT_NAND):       $(NAND_SPL) $(obj)u-boot.bin $(obj)include/autoconf.mk
                cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin
  
+ $(ONENAND_IPL):       $(VERSION_FILE) $(obj)include/autoconf.mk
+               $(MAKE) -C onenand_ipl/board/$(BOARDDIR) all
+ $(U_BOOT_ONENAND):    $(ONENAND_IPL) $(obj)u-boot.bin $(obj)include/autoconf.mk
+               cat $(obj)onenand_ipl/onenand-ipl-2k.bin $(obj)u-boot.bin > $(obj)u-boot-onenand.bin
  $(VERSION_FILE):
                @( echo -n "#define U_BOOT_VERSION \"U-Boot " ; \
                echo -n "$(U_BOOT_VERSION)" ; \
                echo -n $(shell $(CONFIG_SHELL) $(TOPDIR)/tools/setlocalversion \
                         $(TOPDIR)) ; \
-               echo "\"" ) > $(VERSION_FILE)
+               echo "\"" ) > $@.tmp
+               @cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@
  
  gdbtools:
                $(MAKE) -C tools/gdb all || exit 1
@@@ -1225,9 -1232,11 +1232,11 @@@ G2000_config: unconfi
        @$(MKCONFIG) $(@:_config=) ppc ppc4xx g2000
  
  hcu4_config:  unconfig
+       @mkdir -p $(obj)board/netstal/common
        @$(MKCONFIG) $(@:_config=) ppc ppc4xx hcu4 netstal
  
  hcu5_config:  unconfig
+       @mkdir -p $(obj)board/netstal/common
        @$(MKCONFIG) $(@:_config=) ppc ppc4xx hcu5 netstal
  
  HH405_config: unconfig
@@@ -2301,8 -2310,11 +2310,11 @@@ xtract_omap1610xxx = $(subst _cs0boot,,
  
  xtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1)))
  
+ at91cap9adk_config    :       unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm926ejs at91cap9adk atmel at91cap9
  at91rm9200dk_config   :       unconfig
-       @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200dk NULL at91rm9200
+       @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200dk atmel at91rm9200
  
  cmc_pu2_config        :       unconfig
        @$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
@@@ -2313,6 -2325,8 +2325,8 @@@ csb637_config   :       unconfi
  mp2usb_config :       unconfig
        @$(MKCONFIG) $(@:_config=) arm arm920t mp2usb NULL at91rm9200
  
+ m501sk_config :       unconfig
+       @$(MKCONFIG) $(@:_config=) arm arm920t m501sk NULL at91rm9200
  
  ########################################################################
  ## ARM Integrator boards - see doc/README-integrator for more info.
@@@ -2353,17 -2367,8 +2367,8 @@@ mx1ads_config  :       unconfi
  mx1fs2_config :       unconfig
        @$(MKCONFIG) $(@:_config=) arm arm920t mx1fs2 NULL imx
  
- netstar_32_config     \
  netstar_config:               unconfig
-       @mkdir -p $(obj)include
-       @if [ "$(findstring _32_,$@)" ] ; then \
-               $(XECHO) "... 32MB SDRAM" ; \
-               echo "#define PHYS_SDRAM_1_SIZE SZ_32M" >>$(obj)include/config.h ; \
-       else \
-               $(XECHO) "... 64MB SDRAM" ; \
-               echo "#define PHYS_SDRAM_1_SIZE SZ_64M" >>$(obj)include/config.h ; \
-       fi
-       @$(MKCONFIG) -a netstar arm arm925t netstar
+       @$(MKCONFIG) $(@:_config=) arm arm925t netstar
  
  omap1510inn_config :  unconfig
        @$(MKCONFIG) $(@:_config=) arm arm925t omap1510inn
@@@ -2602,7 -2607,9 +2607,9 @@@ omap2420h4_config       : unconfi
        @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4
  
  apollon_config                : unconfig
+       @echo "#define CONFIG_ONENAND_U_BOOT" > $(obj)include/config.h
        @$(MKCONFIG) $(@:_config=) arm arm1136 apollon
+       @echo "CONFIG_ONENAND_U_BOOT = y" >> $(obj)include/config.mk
  
  #========================================================================
  # i386
@@@ -2815,20 -2822,19 +2822,19 @@@ xupv2p_config:       unconfi
        @echo "#define CONFIG_XUPV2P 1" >> $(obj)include/config.h
        @$(MKCONFIG) -a $(@:_config=) microblaze microblaze xupv2p xilinx
  
- #########################################################################
- ## Blackfin
- #########################################################################
- bf533-ezkit_config:   unconfig
-       @$(MKCONFIG) $(@:_config=) blackfin bf533 bf533-ezkit
+ #========================================================================
+ # Blackfin
+ #========================================================================
  
- bf533-stamp_config:   unconfig
-       @$(MKCONFIG) $(@:_config=) blackfin bf533 bf533-stamp
+ # Analog Devices boards
+ BFIN_BOARDS = bf533-ezkit bf533-stamp bf537-stamp bf561-ezkit
  
bf537-stamp_config:   unconfig
-       @$(MKCONFIG) $(@:_config=) blackfin bf537 bf537-stamp
$(BFIN_BOARDS:%=%_config)     : unconfig
+       @$(MKCONFIG) $(@:_config=) blackfin $(firstword $(subst -, ,$@)) $(@:_config=)
  
- bf561-ezkit_config:   unconfig
-       @$(MKCONFIG) $(@:_config=) blackfin bf561 bf561-ezkit
+ $(BFIN_BOARDS):
+       $(MAKE) $@_config
+       $(MAKE)
  
  #========================================================================
  # AVR32
@@@ -2903,6 -2909,8 +2909,8 @@@ clean
        @rm -f $(obj)board/bf537-stamp/u-boot.lds $(obj)board/bf561-ezkit/u-boot.lds
        @rm -f $(obj)include/bmp_logo.h
        @rm -f $(obj)nand_spl/u-boot-spl $(obj)nand_spl/u-boot-spl.map
+       @rm -f $(obj)onenand_ipl/onenand-ipl $(obj)onenand_ipl/onenand-ipl.bin \
+               $(obj)onenand_ipl/onenand-ipl-2k.bin $(obj)onenand_ipl/onenand-ipl.map
        @rm -f $(obj)api_examples/demo $(VERSION_FILE)
  
  clobber:      clean
        @rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS
        @rm -fr $(obj)*.*~
        @rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL)
 -      @rm -f $(obj)tools/crc32.c $(obj)tools/environment.c $(obj)tools/env/crc32.c $(obj)tools/sha1.c
 +      @rm -f $(obj)tools/crc32.c $(obj)tools/environment.c $(obj)tools/env/crc32.c
 +      @rm -f $(obj)tools/sha1.c $(obj)tools/image.c
        @rm -f $(obj)tools/inca-swap-bytes $(obj)cpu/mpc824x/bedbug_603e.c
        @rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm
        @[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -lname "*" -print | xargs rm -f
+       @[ ! -d $(obj)onenand_ipl ] || find $(obj)onenand_ipl -lname "*" -print | xargs rm -f
        @[ ! -d $(obj)api_examples ] || find $(obj)api_examples -lname "*" -print | xargs rm -f
  
  ifeq ($(OBJTREE),$(SRCTREE))
diff --combined common/Makefile
@@@ -36,8 -36,6 +36,8 @@@ COBJS-y += cmd_autoscript.
  COBJS-$(CONFIG_CMD_BDI) += cmd_bdinfo.o
  COBJS-$(CONFIG_CMD_BEDBUG) += cmd_bedbug.o
  COBJS-$(CONFIG_CMD_BMP) += cmd_bmp.o
 +COBJS-y += image.o
 +COBJS-y += gunzip.o
  COBJS-y += cmd_boot.o
  COBJS-y += cmd_bootm.o
  COBJS-$(CONFIG_CMD_CACHE) += cmd_cache.o
@@@ -78,6 -76,7 +78,7 @@@ COBJS-y += cmd_nand.
  COBJS-$(CONFIG_CMD_NET) += cmd_net.o
  COBJS-y += cmd_nvedit.o
  COBJS-y += cmd_onenand.o
+ COBJS-$(CONFIG_CMD_OTP) += cmd_otp.o
  ifdef CONFIG_PCI
  COBJS-$(CONFIG_CMD_PCI) += cmd_pci.o
  endif
@@@ -88,10 -87,10 +89,11 @@@ COBJS-$(CONFIG_CMD_REISER) += cmd_reise
  COBJS-y += cmd_sata.o
  COBJS-$(CONFIG_CMD_SCSI) += cmd_scsi.o
  COBJS-$(CONFIG_CMD_SPI) += cmd_spi.o
+ COBJS-$(CONFIG_CMD_STRINGS) += cmd_strings.o
  COBJS-$(CONFIG_CMD_TERMINAL) += cmd_terminal.o
  COBJS-$(CONFIG_CMD_UNIVERSE) += cmd_universe.o
  COBJS-$(CONFIG_CMD_USB) += cmd_usb.o
 +COBJS-$(CONFIG_CMD_XIMG) += cmd_ximg.o
  COBJS-y += cmd_vfd.o
  COBJS-y += command.o
  COBJS-y += console.o
diff --combined lib_arm/Makefile
@@@ -27,8 -27,8 +27,8 @@@ LIB   = $(obj)lib$(ARCH).
  
  SOBJS = _ashldi3.o _ashrdi3.o _divsi3.o _modsi3.o _udivsi3.o _umodsi3.o
  
- COBJS = bootm.o board.o \
-         cache.o div0.o
 -COBJS = armlinux.o board.o \
++COBJS = board.o bootm.o \
+         cache.o div0.o interrupts.o
  
  SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
  OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))
diff --combined lib_arm/bootm.c
  #include <image.h>
  #include <zlib.h>
  #include <asm/byteorder.h>
 -#ifdef CONFIG_HAS_DATAFLASH
 -#include <dataflash.h>
 -#endif
  
  DECLARE_GLOBAL_DATA_PTR;
  
 -/*cmd_boot.c*/
 -extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 -
  #if defined (CONFIG_SETUP_MEMORY_TAGS) || \
      defined (CONFIG_CMDLINE_TAG) || \
      defined (CONFIG_INITRD_TAG) || \
@@@ -60,21 -66,161 +60,29 @@@ static void setup_videolfb_tag (gd_t *g
  static struct tag *params;
  #endif /* CONFIG_SETUP_MEMORY_TAGS || CONFIG_CMDLINE_TAG || CONFIG_INITRD_TAG */
  
 -extern image_header_t header; /* from cmd_bootm.c */
 -
 -
  void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
 -                   ulong addr, ulong *len_ptr, int verify)
 +                   image_header_t *hdr, int verify)
  {
 -      ulong len = 0, checksum;
        ulong initrd_start, initrd_end;
 -      ulong data;
        void (*theKernel)(int zero, int arch, uint params);
 -      image_header_t *hdr = &header;
        bd_t *bd = gd->bd;
+       int machid = bd->bi_arch_number;
+       char *s;
  
  #ifdef CONFIG_CMDLINE_TAG
        char *commandline = getenv ("bootargs");
  #endif
  
 -      theKernel = (void (*)(int, int, uint))ntohl(hdr->ih_ep);
 +      theKernel = (void (*)(int, int, uint))image_get_ep (hdr);
  
 -      /*
 -       * Check if there is an initrd image
 -       */
 -      if (argc >= 3) {
 -              show_boot_progress (9);
 -
 -              addr = simple_strtoul (argv[2], NULL, 16);
 -
 -              printf ("## Loading Ramdisk Image at %08lx ...\n", addr);
 -
 -              /* Copy header so we can blank CRC field for re-calculation */
 -#ifdef CONFIG_HAS_DATAFLASH
 -              if (addr_dataflash (addr)) {
 -                      read_dataflash (addr, sizeof (image_header_t),
 -                                      (char *) &header);
 -              } else
 -#endif
 -                      memcpy (&header, (char *) addr,
 -                              sizeof (image_header_t));
 -
 -              if (ntohl (hdr->ih_magic) != IH_MAGIC) {
 -                      printf ("Bad Magic Number\n");
 -                      show_boot_progress (-10);
 -                      do_reset (cmdtp, flag, argc, argv);
 -              }
 -
 -              data = (ulong) & header;
 -              len = sizeof (image_header_t);
 -
 -              checksum = ntohl (hdr->ih_hcrc);
 -              hdr->ih_hcrc = 0;
 -
 -              if (crc32 (0, (unsigned char *) data, len) != checksum) {
 -                      printf ("Bad Header Checksum\n");
 -                      show_boot_progress (-11);
 -                      do_reset (cmdtp, flag, argc, argv);
 -              }
 -
 -              show_boot_progress (10);
 -
 -              print_image_hdr (hdr);
 -
 -              data = addr + sizeof (image_header_t);
 -              len = ntohl (hdr->ih_size);
 -
 -#ifdef CONFIG_HAS_DATAFLASH
 -              if (addr_dataflash (addr)) {
 -                      read_dataflash (data, len, (char *) CFG_LOAD_ADDR);
 -                      data = CFG_LOAD_ADDR;
 -              }
 -#endif
 -
 -              if (verify) {
 -                      ulong csum = 0;
 -
 -                      printf ("   Verifying Checksum ... ");
 -                      csum = crc32 (0, (unsigned char *) data, len);
 -                      if (csum != ntohl (hdr->ih_dcrc)) {
 -                              printf ("Bad Data CRC\n");
 -                              show_boot_progress (-12);
 -                              do_reset (cmdtp, flag, argc, argv);
 -                      }
 -                      printf ("OK\n");
 -              }
 -
 -              show_boot_progress (11);
 -
 -              if ((hdr->ih_os != IH_OS_LINUX) ||
 -                  (hdr->ih_arch != IH_CPU_ARM) ||
 -                  (hdr->ih_type != IH_TYPE_RAMDISK)) {
 -                      printf ("No Linux ARM Ramdisk Image\n");
 -                      show_boot_progress (-13);
 -                      do_reset (cmdtp, flag, argc, argv);
 -              }
 -
 -#if defined(CONFIG_B2) || defined(CONFIG_EVB4510) ||  \
 -              defined(CONFIG_ARMADILLO) || defined(CONFIG_M501SK)
 -              /*
 -               *we need to copy the ramdisk to SRAM to let Linux boot
 -               */
 -              memmove ((void *) ntohl(hdr->ih_load), (uchar *)data, len);
 -              data = ntohl(hdr->ih_load);
 -#endif /* CONFIG_B2 || CONFIG_EVB4510 */
 -
 -              /*
 -               * Now check if we have a multifile image
 -               */
 -      } else if ((hdr->ih_type == IH_TYPE_MULTI) && (len_ptr[1])) {
 -              ulong tail = ntohl (len_ptr[0]) % 4;
 -              int i;
 -
 -              show_boot_progress (13);
 -
 -              /* skip kernel length and terminator */
 -              data = (ulong) (&len_ptr[2]);
 -              /* skip any additional image length fields */
 -              for (i = 1; len_ptr[i]; ++i)
 -                      data += 4;
 -              /* add kernel length, and align */
 -              data += ntohl (len_ptr[0]);
 -              if (tail) {
 -                      data += 4 - tail;
 -              }
 -
 -              len = ntohl (len_ptr[1]);
 -
 -      } else {
 -              /*
 -               * no initrd image
 -               */
 -              show_boot_progress (14);
 -
 -              len = data = 0;
 -      }
 -
 -#ifdef        DEBUG
 -      if (!data) {
 -              printf ("No initrd\n");
 -      }
 -#endif
 -
 -      if (data) {
 -              initrd_start = data;
 -              initrd_end = initrd_start + len;
 -      } else {
 -              initrd_start = 0;
 -              initrd_end = 0;
 -      }
+       s = getenv ("machid");
+       if (s) {
+               machid = simple_strtoul (s, NULL, 16);
+               printf ("Using machid 0x%x from environment\n", machid);
+       }
 +      get_ramdisk (cmdtp, flag, argc, argv, hdr, verify,
 +                      IH_ARCH_ARM, &initrd_start, &initrd_end);
  
        show_boot_progress (15);
  
  
        cleanup_before_linux ();
  
-       theKernel (0, bd->bi_arch_number, bd->bi_boot_params);
+       theKernel (0, machid, bd->bi_boot_params);
  }
  
  
diff --combined lib_ppc/Makefile
@@@ -25,11 -25,10 +25,11 @@@ include $(TOPDIR)/config.m
  
  LIB   = $(obj)lib$(ARCH).a
  
- SOBJS = ppcstring.o ticks.o
+ SOBJS = ppccache.o ppcstring.o ticks.o
  
  COBJS = board.o \
 -        bat_rw.o cache.o extable.o kgdb.o time.o interrupts.o
 +        bat_rw.o cache.o extable.o kgdb.o time.o interrupts.o \
 +        bootm.o
  
  SRCS  := $(SOBJS:.o=.S) $(COBJS:.o=.c)
  OBJS  := $(addprefix $(obj),$(SOBJS) $(COBJS))