Merge remote branch 'origin/master' into next
authorWolfgang Denk <wd@denx.de>
Sun, 21 Mar 2010 21:45:36 +0000 (22:45 +0100)
committerWolfgang Denk <wd@denx.de>
Sun, 21 Mar 2010 21:45:36 +0000 (22:45 +0100)
43 files changed:
README
board/spear/common/spr_lowlevel_init.S [changed mode: 0755->0644]
board/spear/common/spr_misc.c [changed mode: 0755->0644]
board/spear/spear300/Makefile [changed mode: 0755->0644]
board/spear/spear300/config.mk [changed mode: 0755->0644]
board/spear/spear300/spear300.c [changed mode: 0755->0644]
board/spear/spear310/Makefile [changed mode: 0755->0644]
board/spear/spear310/config.mk [changed mode: 0755->0644]
board/spear/spear310/spear310.c [changed mode: 0755->0644]
board/spear/spear320/Makefile [changed mode: 0755->0644]
board/spear/spear320/config.mk [changed mode: 0755->0644]
board/spear/spear320/spear320.c [changed mode: 0755->0644]
board/spear/spear600/Makefile [changed mode: 0755->0644]
board/spear/spear600/config.mk [changed mode: 0755->0644]
board/spear/spear600/spear600.c [changed mode: 0755->0644]
common/cmd_mmc.c
common/console.c
cpu/arm926ejs/spear/Makefile [changed mode: 0755->0644]
cpu/arm926ejs/spear/reset.c [changed mode: 0755->0644]
cpu/arm926ejs/spear/timer.c [changed mode: 0755->0644]
cpu/arm926ejs/versatile/timer.c [changed mode: 0755->0644]
cpu/mpc512x/diu.c
drivers/i2c/Makefile [changed mode: 0755->0644]
drivers/i2c/spr_i2c.c [changed mode: 0755->0644]
drivers/mmc/mxcmmc.c
drivers/mtd/Makefile [changed mode: 0755->0644]
drivers/mtd/nand/spr_nand.c [changed mode: 0755->0644]
drivers/mtd/spr_smi.c [changed mode: 0755->0644]
drivers/pci/pci.c
drivers/serial/usbtty.h [changed mode: 0755->0644]
drivers/usb/gadget/Makefile [changed mode: 0755->0644]
drivers/usb/gadget/spr_udc.c [changed mode: 0755->0644]
include/asm-arm/arch-at91/at91_matrix.h
include/asm-arm/arch-spear/spr_gpt.h [changed mode: 0755->0644]
include/asm-arm/arch-spear/spr_i2c.h [changed mode: 0755->0644]
include/asm-arm/arch-spear/spr_smi.h [changed mode: 0755->0644]
include/asm-arm/arch-spear/spr_xloader_table.h [changed mode: 0755->0644]
include/configs/spear3xx.h [changed mode: 0755->0644]
include/configs/spear6xx.h [changed mode: 0755->0644]
include/usb/spr_udc.h [changed mode: 0755->0644]
lib_generic/crc32.c
lib_m68k/bootm.c [changed mode: 0755->0644]
net/tftp.c

diff --git a/README b/README
index 1158e24..940b507 100644 (file)
--- a/README
+++ b/README
@@ -3005,7 +3005,9 @@ environment. As long as you don't save the environment you are
 working with an in-memory copy. In case the Flash area containing the
 environment is erased by accident, a default environment is provided.
 
-Some configuration options can be set using Environment Variables:
+Some configuration options can be set using Environment Variables.
+
+List of environment variables (most likely not complete):
 
   baudrate     - see CONFIG_BAUDRATE
 
@@ -3117,7 +3119,7 @@ Some configuration options can be set using Environment Variables:
                  available network interfaces.
                  It just stays at the currently selected interface.
 
-   netretry    - When set to "no" each network operation will
+  netretry     - When set to "no" each network operation will
                  either succeed or fail without retrying.
                  When set to "once" the network operation will
                  fail when all the available network interfaces
@@ -3133,7 +3135,18 @@ Some configuration options can be set using Environment Variables:
   tftpdstport  - If this is set, the value is used for TFTP's UDP
                  destination port instead of the Well Know Port 69.
 
-   vlan                - When set to a value < 4095 the traffic over
+  tftpblocksize - Block size to use for TFTP transfers; if not set,
+                 we use the TFTP server's default block size
+
+  tftptimeout  - Retransmission timeout for TFTP packets (in milli-
+                 seconds, minimum value is 1000 = 1 second). Defines
+                 when a packet is considered to be lost so it has to
+                 be retransmitted. The default is 5000 = 5 seconds.
+                 Lowering this value may make downloads succeed
+                 faster in networks with high packet loss rates or
+                 with unreliable TFTP servers.
+
+  vlan         - When set to a value < 4095 the traffic over
                  Ethernet is encapsulated/received over 802.1q
                  VLAN tagged frames.
 
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 0e3393b..c67c9cf 100644 (file)
@@ -136,7 +136,7 @@ int do_mmcinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 }
 
 U_BOOT_CMD(mmcinfo, 2, 0, do_mmcinfo,
-       "mmcinfo <dev num>-- display MMC info\n",
+       "mmcinfo <dev num>-- display MMC info",
        ""
 );
 
index dc0d13b..51c6fb6 100644 (file)
@@ -659,10 +659,14 @@ int console_init_r(void)
 #ifdef CONFIG_SPLASH_SCREEN
        /*
         * suppress all output if splash screen is enabled and we have
-        * a bmp to display
+        * a bmp to display. We redirect the output from frame buffer
+        * console to serial console in this case or suppress it if
+        * "silent" mode was requested.
         */
-       if (getenv("splashimage") != NULL)
-               gd->flags |= GD_FLG_SILENT;
+       if (getenv("splashimage") != NULL) {
+               if (!(gd->flags & GD_FLG_SILENT))
+                       outputdev = search_device (DEV_FLAGS_OUTPUT, "serial");
+       }
 #endif
 
        /* Scan devices looking for input and output devices */
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index a24f395..ca459a1 100644 (file)
@@ -145,10 +145,10 @@ void *video_hw_init(void)
        struct fb_info *info;
 
        if (mpc5121_diu_init() < 0)
-               return;
+               return NULL;
 
        /* fill in Graphic device struct */
-       sprintf(pGD->modeIdent, "%dx%dx%d %ldkHz %ldHz",
+       sprintf(pGD->modeIdent, "%dx%dx%d %dkHz %dHz",
                xres, yres, 32, 64, 60);
 
        pGD->frameAdrs = (unsigned int)fsl_fb_open(&info);
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index d307176..5963953 100644 (file)
@@ -136,14 +136,14 @@ static void mxcmci_softreset(struct mxcmci_host *host)
        int i;
 
        /* reset sequence */
-       writew(STR_STP_CLK_RESET, &host->base->str_stp_clk);
-       writew(STR_STP_CLK_RESET | STR_STP_CLK_START_CLK,
+       writel(STR_STP_CLK_RESET, &host->base->str_stp_clk);
+       writel(STR_STP_CLK_RESET | STR_STP_CLK_START_CLK,
                        &host->base->str_stp_clk);
 
        for (i = 0; i < 8; i++)
-               writew(STR_STP_CLK_START_CLK, &host->base->str_stp_clk);
+               writel(STR_STP_CLK_START_CLK, &host->base->str_stp_clk);
 
-       writew(0xff, &host->base->res_to);
+       writel(0xff, &host->base->res_to);
 }
 
 static void mxcmci_setup_data(struct mxcmci_host *host, struct mmc_data *data)
@@ -154,8 +154,8 @@ static void mxcmci_setup_data(struct mxcmci_host *host, struct mmc_data *data)
 
        host->data = data;
 
-       writew(nob, &host->base->nob);
-       writew(blksz, &host->base->blk_len);
+       writel(nob, &host->base->nob);
+       writel(blksz, &host->base->blk_len);
        host->datasize = datasize;
 }
 
@@ -185,9 +185,9 @@ static int mxcmci_start_cmd(struct mxcmci_host *host, struct mmc_cmd *cmd,
                return -EINVAL;
        }
 
-       writew(cmd->cmdidx, &host->base->cmd);
+       writel(cmd->cmdidx, &host->base->cmd);
        writel(cmd->cmdarg, &host->base->arg);
-       writew(cmdat, &host->base->cmd_dat_cont);
+       writel(cmdat, &host->base->cmd_dat_cont);
 
        return 0;
 }
@@ -247,14 +247,14 @@ static int mxcmci_read_response(struct mxcmci_host *host, unsigned int stat)
        if (cmd->resp_type & MMC_RSP_PRESENT) {
                if (cmd->resp_type & MMC_RSP_136) {
                        for (i = 0; i < 4; i++) {
-                               a = readw(&host->base->res_fifo);
-                               b = readw(&host->base->res_fifo);
+                               a = readl(&host->base->res_fifo) & 0xFFFF;
+                               b = readl(&host->base->res_fifo) & 0xFFFF;
                                resp[i] = a << 16 | b;
                        }
                } else {
-                       a = readw(&host->base->res_fifo);
-                       b = readw(&host->base->res_fifo);
-                       c = readw(&host->base->res_fifo);
+                       a = readl(&host->base->res_fifo) & 0xFFFF;
+                       b = readl(&host->base->res_fifo) & 0xFFFF;
+                       c = readl(&host->base->res_fifo) & 0xFFFF;
                        resp[0] = a << 24 | b << 8 | c >> 8;
                }
        }
@@ -445,7 +445,7 @@ static void mxcmci_set_clk_rate(struct mxcmci_host *host, unsigned int clk_ios)
                        prescaler <<= 1;
        }
 
-       writew((prescaler << 4) | divider, &host->base->clk_rate);
+       writel((prescaler << 4) | divider, &host->base->clk_rate);
 }
 
 static void mxcmci_set_ios(struct mmc *mmc)
@@ -458,9 +458,9 @@ static void mxcmci_set_ios(struct mmc *mmc)
 
        if (mmc->clock) {
                mxcmci_set_clk_rate(host, mmc->clock);
-               writew(STR_STP_CLK_START_CLK, &host->base->str_stp_clk);
+               writel(STR_STP_CLK_START_CLK, &host->base->str_stp_clk);
        } else {
-               writew(STR_STP_CLK_STOP_CLK, &host->base->str_stp_clk);
+               writel(STR_STP_CLK_STOP_CLK, &host->base->str_stp_clk);
        }
 
        host->clock = mmc->clock;
@@ -472,7 +472,7 @@ static int mxcmci_init(struct mmc *mmc)
 
        mxcmci_softreset(host);
 
-       host->rev_no = readw(&host->base->rev_no);
+       host->rev_no = readl(&host->base->rev_no);
        if (host->rev_no != 0x400) {
                printf("wrong rev.no. 0x%08x. aborting.\n",
                        host->rev_no);
@@ -480,7 +480,7 @@ static int mxcmci_init(struct mmc *mmc)
        }
 
        /* recommended in data sheet */
-       writew(0x2db4, &host->base->read_to);
+       writel(0x2db4, &host->base->read_to);
 
        writel(0, &host->base->int_cntr);
 
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index d6d2d6e..cd64a87 100644 (file)
@@ -388,7 +388,7 @@ int pci_hose_config_device(struct pci_controller *hose,
 
        pci_hose_write_config_dword (hose, dev, PCI_COMMAND, 0);
 
-       for (bar = PCI_BASE_ADDRESS_0; bar < PCI_BASE_ADDRESS_5; bar += 4) {
+       for (bar = PCI_BASE_ADDRESS_0; bar <= PCI_BASE_ADDRESS_5; bar += 4) {
                pci_hose_write_config_dword (hose, dev, bar, 0xffffffff);
                pci_hose_read_config_dword (hose, dev, bar, &bar_response);
 
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 9b3c110..981ec20 100644 (file)
@@ -80,7 +80,7 @@ typedef struct at91_matrix {
        u32             mrcr;           /* 0x100 Master Remap Control */
        u32             reserve4[3];
 #if    defined(CONFIG_AT91SAM9G45)
-       u32             ccr[52]         /* 0x110 - 0x1E0 Chip Configuration */
+       u32             ccr[52];        /* 0x110 - 0x1E0 Chip Configuration */
        u32             womr;           /* 0x1E4 Write Protect Mode  */
        u32             wpsr;           /* 0x1E8 Write Protect Status */
        u32             resg45_1[10];
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 468b397..27335a3 100644 (file)
@@ -163,7 +163,7 @@ const uint32_t * ZEXPORT get_crc_table()
 #endif
 
 /* ========================================================================= */
-# ifdef __LITTLE_ENDIAN
+# if __BYTE_ORDER == __LITTLE_ENDIAN
 #  define DO_CRC(x) crc = tab[(crc ^ (x)) & 255] ^ (crc >> 8)
 # else
 #  define DO_CRC(x) crc = tab[((crc >> 24) ^ (x)) & 255] ^ (crc << 8)
old mode 100755 (executable)
new mode 100644 (file)
index a02463b..ed559b7 100644 (file)
@@ -211,7 +211,7 @@ TftpSend (void)
                pkt += 5 /*strlen("octet")*/ + 1;
                strcpy ((char *)pkt, "timeout");
                pkt += 7 /*strlen("timeout")*/ + 1;
-               sprintf((char *)pkt, "%lu", TIMEOUT / 1000);
+               sprintf((char *)pkt, "%lu", TftpTimeoutMSecs / 1000);
                debug("send option \"timeout %s\"\n", (char *)pkt);
                pkt += strlen((char *)pkt) + 1;
 #ifdef CONFIG_TFTP_TSIZE
@@ -413,7 +413,6 @@ TftpHandler (uchar * pkt, unsigned dest, unsigned src, unsigned len)
                }
 
                TftpLastBlock = TftpBlock;
-               TftpTimeoutMSecs = TIMEOUT;
                TftpTimeoutCountMax = TIMEOUT_COUNT;
                NetSetTimeout (TftpTimeoutMSecs, TftpTimeout);
 
@@ -528,10 +527,25 @@ TftpStart (void)
 {
        char *ep;             /* Environment pointer */
 
-       /* Allow the user to choose tftpblocksize */
+       /*
+        * Allow the user to choose TFTP blocksize and timeout.
+        * TFTP protocol has a minimal timeout of 1 second.
+        */
        if ((ep = getenv("tftpblocksize")) != NULL)
                TftpBlkSizeOption = simple_strtol(ep, NULL, 10);
-       debug("tftp block size is %i\n", TftpBlkSizeOption);
+
+       if ((ep = getenv("tftptimeout")) != NULL)
+               TftpTimeoutMSecs = simple_strtol(ep, NULL, 10);
+
+       if (TftpTimeoutMSecs < 1000) {
+               printf("TFTP timeout (%ld ms) too low, "
+                       "set minimum = 1000 ms\n",
+                       TftpTimeoutMSecs);
+               TftpTimeoutMSecs = 1000;
+       }
+
+       debug("TFTP blocksize = %i, timeout = %ld ms\n",
+               TftpBlkSizeOption, TftpTimeoutMSecs);
 
        TftpServerIP = NetServerIP;
        if (BootFile[0] == '\0') {
@@ -588,7 +602,6 @@ TftpStart (void)
 
        puts ("Loading: *\b");
 
-       TftpTimeoutMSecs = TftpRRQTimeoutMSecs;
        TftpTimeoutCountMax = TftpRRQTimeoutCountMax;
 
        NetSetTimeout (TftpTimeoutMSecs, TftpTimeout);