Merge branch 'master' of git://git.denx.de/u-boot-arm
authorWolfgang Denk <wd@denx.de>
Thu, 5 Jan 2012 15:38:50 +0000 (16:38 +0100)
committerWolfgang Denk <wd@denx.de>
Thu, 5 Jan 2012 15:38:50 +0000 (16:38 +0100)
* 'master' of git://git.denx.de/u-boot-arm:
  tegra2: Optimize out-of-tree build for Ventana.
  tegra: Move boards over to use arch-level board UART function
  tegra: Add support for UART init in cpu board.c
  tegra: Add a function mux feature
  tegra: add clock_ll_start_uart() to enable UART prior to reloc
  tegra: Move clock_early_init() to arch_cpu_init()
  tegra: Move cpu_init_cp15() to arch_cpu_init()
  arm: Tegra: Fix Harmony and Ventana builds in u-boot-tegra/master
  tegra: Fix build error in plutux, medcom
  tegra2: Add Avionic Design Medcom support.
  tegra2: Add Avionic Design Plutux support.
  tegra2: Add common Avionic Design Tamonten support.
  tegra2: Move tegra2_mmc_init() prototype to public header.
  tegra2: Change CONFIG_SYS_TEXT_BASE to 0x00108000.
  tegra2: Always build with USE_PRIVATE_LIBGCC=yes.
  tegra2: Plumb in SPI/UART switch code
  tegra2: spi: Support SPI / UART switch
  tegra2: Implement SPI / UART GPIO switch
  tegra2: Enable SPI environment on Seaboard
  tegra2: config: Enable SPI flash on Seaboard
  tegra2: spi: Add SPI driver for Tegra2 SOC
  tegra2: Add UARTB support
  tegra2: Tidy UART selection
  arm, davinci: Fix build warnings for cam_enc_4xx
  Devkit8000: Switch over to enable_gpmc_cs_config
  arm, davinci: Add support for generating AIS images to the Makefile
  mkimage: Fix variable length header support
  arm, da850evm: Add an SPL for SPI boot
  arm, davinci: Add SPL support for DA850 SoCs
  sf: Add spi_boot() to allow booting from SPI flash in an SPL
  spl: display_options.o is required for SPI flash support in SPL
  ARM: omap3: add support to Technexion twister board
  ARM: omap3: added common configuration for Technexion TAM3517
  vision2: Fix checkpatch warning

20 files changed:
common/cmd_fpga.c
common/env_common.c
common/env_flash.c
common/env_mgdisk.c
common/env_mmc.c
common/env_nand.c
common/env_nowhere.c
common/env_nvram.c
common/env_onenand.c
common/env_sf.c
doc/git-mailrc
drivers/fpga/spartan3.c
fs/fat/fat.c
include/common.h
include/environment.h
include/phy.h
include/spartan3.h
tools/env/fw_env.h
tools/envcrc.c
tools/mkenvimage.c

index 8946345f19abccf1cab102924fed683fb4e9f64f..915a5c046cca7f5448137cf8d31f48a995d88622 100644 (file)
 #include <fpga.h>
 #include <malloc.h>
 
-#if 0
-#define        FPGA_DEBUG
-#endif
-
-#ifdef FPGA_DEBUG
-#define        PRINTF(fmt,args...)     printf (fmt ,##args)
-#else
-#define PRINTF(fmt,args...)
-#endif
-
 /* Local functions */
 static int fpga_get_op (char *opstr);
 
@@ -76,8 +66,9 @@ int fpga_loadbitstream(unsigned long dev, char* fpgadata, size_t size)
        length = (*dataptr << 8) + *(dataptr+1);
        dataptr+=2;
        if (*dataptr++ != 0x61) {
-               PRINTF ("%s: Design name identifier not recognized in bitstream\n",
-                       __FUNCTION__ );
+               debug("%s: Design name identifier not recognized "
+                       "in bitstream\n",
+                       __func__);
                return FPGA_FAIL;
        }
 
@@ -90,8 +81,9 @@ int fpga_loadbitstream(unsigned long dev, char* fpgadata, size_t size)
 
        /* get part number (identifier, length, string) */
        if (*dataptr++ != 0x62) {
-               printf("%s: Part number identifier not recognized in bitstream\n",
-                       __FUNCTION__ );
+               printf("%s: Part number identifier not recognized "
+                       "in bitstream\n",
+                       __func__);
                return FPGA_FAIL;
        }
 
@@ -104,7 +96,7 @@ int fpga_loadbitstream(unsigned long dev, char* fpgadata, size_t size)
        /* get date (identifier, length, string) */
        if (*dataptr++ != 0x63) {
                printf("%s: Date identifier not recognized in bitstream\n",
-                      __FUNCTION__);
+                      __func__);
                return FPGA_FAIL;
        }
 
@@ -116,7 +108,8 @@ int fpga_loadbitstream(unsigned long dev, char* fpgadata, size_t size)
 
        /* get time (identifier, length, string) */
        if (*dataptr++ != 0x64) {
-               printf("%s: Time identifier not recognized in bitstream\n",__FUNCTION__);
+               printf("%s: Time identifier not recognized in bitstream\n",
+                       __func__);
                return FPGA_FAIL;
        }
 
@@ -129,7 +122,7 @@ int fpga_loadbitstream(unsigned long dev, char* fpgadata, size_t size)
        /* get fpga data length (identifier, length) */
        if (*dataptr++ != 0x65) {
                printf("%s: Data length identifier not recognized in bitstream\n",
-                       __FUNCTION__);
+                       __func__);
                return FPGA_FAIL;
        }
        swapsize = ((unsigned int) *dataptr     <<24) +
@@ -183,39 +176,43 @@ int do_fpga (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
                if (fit_parse_subimage (argv[3], (ulong)fpga_data,
                                        &fit_addr, &fit_uname)) {
                        fpga_data = (void *)fit_addr;
-                       debug ("*  fpga: subimage '%s' from FIT image at 0x%08lx\n",
-                                       fit_uname, fit_addr);
+                       debug("*  fpga: subimage '%s' from FIT image "
+                               "at 0x%08lx\n",
+                               fit_uname, fit_addr);
                } else
 #endif
                {
                        fpga_data = (void *) simple_strtoul (argv[3], NULL, 16);
-                       debug ("*  fpga: cmdline image address = 0x%08lx\n", (ulong)fpga_data);
+                       debug("*  fpga: cmdline image address = 0x%08lx\n",
+                               (ulong)fpga_data);
                }
-               PRINTF ("%s: fpga_data = 0x%x\n", __FUNCTION__, (uint) fpga_data);
+               debug("%s: fpga_data = 0x%x\n", __func__, (uint) fpga_data);
 
        case 3:         /* fpga <op> <dev | data addr> */
                dev = (int) simple_strtoul (argv[2], NULL, 16);
-               PRINTF ("%s: device = %d\n", __FUNCTION__, dev);
+               debug("%s: device = %d\n", __func__, dev);
                /* FIXME - this is a really weak test */
                if ((argc == 3) && (dev > fpga_count ())) {     /* must be buffer ptr */
-                       PRINTF ("%s: Assuming buffer pointer in arg 3\n",
-                               __FUNCTION__);
+                       debug("%s: Assuming buffer pointer in arg 3\n",
+                               __func__);
 
 #if defined(CONFIG_FIT)
                        if (fit_parse_subimage (argv[2], (ulong)fpga_data,
                                                &fit_addr, &fit_uname)) {
                                fpga_data = (void *)fit_addr;
-                               debug ("*  fpga: subimage '%s' from FIT image at 0x%08lx\n",
-                                               fit_uname, fit_addr);
+                               debug("*  fpga: subimage '%s' from FIT image "
+                                       "at 0x%08lx\n",
+                                       fit_uname, fit_addr);
                        } else
 #endif
                        {
                                fpga_data = (void *) dev;
-                               debug ("*  fpga: cmdline image address = 0x%08lx\n", (ulong)fpga_data);
+                               debug("*  fpga: cmdline image address = "
+                                       "0x%08lx\n", (ulong)fpga_data);
                        }
 
-                       PRINTF ("%s: fpga_data = 0x%x\n",
-                               __FUNCTION__, (uint) fpga_data);
+                       debug("%s: fpga_data = 0x%x\n",
+                               __func__, (uint) fpga_data);
                        dev = FPGA_INVALID_DEVICE;      /* reset device num */
                }
 
@@ -224,8 +221,8 @@ int do_fpga (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
                break;
 
        default:
-               PRINTF ("%s: Too many or too few args (%d)\n",
-                       __FUNCTION__, argc);
+               debug("%s: Too many or too few args (%d)\n",
+                       __func__, argc);
                op = FPGA_NONE; /* force usage display */
                break;
        }
index 8a7109645dbd291f3427650fc4c21da3f11db8e5..71811c4d2ac151f7acbcc057d66f6b5c6043872b 100644 (file)
@@ -124,6 +124,13 @@ const uchar default_environment[] = {
 
 struct hsearch_data env_htab;
 
+static uchar __env_get_char_spec(int index)
+{
+       return *((uchar *)(gd->env_addr + index));
+}
+uchar env_get_char_spec(int)
+       __attribute__((weak, alias("__env_get_char_spec")));
+
 static uchar env_get_char_init(int index)
 {
        /* if crc was bad, use the default environment */
index a99f850e91f57d26e3c58bf166792701f7e5463c..aa970d44007a18d2fd8d1a4a26acd3d362bcb626 100644 (file)
@@ -73,11 +73,6 @@ static ulong end_addr_new = CONFIG_ENV_ADDR_REDUND + CONFIG_ENV_SECT_SIZE - 1;
 #endif /* CONFIG_ENV_ADDR_REDUND */
 
 
-uchar env_get_char_spec(int index)
-{
-       return *((uchar *)(gd->env_addr + index));
-}
-
 #ifdef CONFIG_ENV_ADDR_REDUND
 int env_init(void)
 {
index 5dd92e709c831982eb4d556bf94e5ae3aeb5d4b1..d00e141d5b7a3c5bef10630cd102718d7e9690e6 100644 (file)
@@ -33,11 +33,6 @@ env_t *env_ptr;
 
 DECLARE_GLOBAL_DATA_PTR;
 
-uchar env_get_char_spec(int index)
-{
-       return *((uchar *)(gd->env_addr + index));
-}
-
 void env_relocate_spec(void)
 {
        char buf[CONFIG_ENV_SIZE];
index 8441c77ead7e81d677ba0bf6031828b226432ab6..0c58ae19b21e973533d5ed19b4e1ce216fbcb4b8 100644 (file)
@@ -54,11 +54,6 @@ static int __mmc_get_env_addr(struct mmc *mmc, u32 *env_addr)
 int mmc_get_env_addr(struct mmc *mmc, u32 *env_addr)
        __attribute__((weak, alias("__mmc_get_env_addr")));
 
-uchar env_get_char_spec(int index)
-{
-       return *((uchar *)(gd->env_addr + index));
-}
-
 int env_init(void)
 {
        /* use default */
index 3cb75c89624d087019dacfcc6f21a1f4e7e0a3ad..e8daec9712bdc8d8df2f2989d7fb2c082de70c34 100644 (file)
@@ -66,11 +66,6 @@ env_t *env_ptr;
 
 DECLARE_GLOBAL_DATA_PTR;
 
-uchar env_get_char_spec(int index)
-{
-       return *((uchar *)(gd->env_addr + index));
-}
-
 /*
  * This is called before nand_init() so we can't read NAND to
  * validate env data.
index 8a3ca1978ff329b87d33a2ea01cdf14105a9c294..18fcf2ca41da7e70d9d899b10402296675119e78 100644 (file)
@@ -37,11 +37,6 @@ void env_relocate_spec(void)
 {
 }
 
-uchar env_get_char_spec(int index)
-{
-       return *((uchar *)(gd->env_addr + index));
-}
-
 /*
  * Initialize Environment use
  *
index 726eaac55efd3ceb1ee341d6f1efbbe9dcd41540..6483db39d3388fc672985d0fde867ade43b55b5a 100644 (file)
@@ -59,18 +59,16 @@ env_t *env_ptr = (env_t *)CONFIG_ENV_ADDR;
 
 char *env_name_spec = "NVRAM";
 
+#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
 uchar env_get_char_spec(int index)
 {
-#ifdef CONFIG_SYS_NVRAM_ACCESS_ROUTINE
        uchar c;
 
        nvram_read(&c, CONFIG_ENV_ADDR + index, 1);
 
        return c;
-#else
-       return *((uchar *)(gd->env_addr + index));
-#endif
 }
+#endif
 
 void env_relocate_spec(void)
 {
index 0ad2fc7a4cd206785449c80584bb182c1dba0a7f..652665a189094bafe5eced6aaeb137da2c3c920d 100644 (file)
@@ -44,11 +44,6 @@ char *env_name_spec = "OneNAND";
 
 DECLARE_GLOBAL_DATA_PTR;
 
-uchar env_get_char_spec(int index)
-{
-       return *((uchar *)(gd->env_addr + index));
-}
-
 void env_relocate_spec(void)
 {
        struct mtd_info *mtd = &onenand_mtd;
index 592b87088eeeab7974d83eef18fab50d43c02e6b..bbd472fcf281eb2340ab3fe65b8c73c4506556ba 100644 (file)
@@ -59,11 +59,6 @@ char *env_name_spec = "SPI Flash";
 
 static struct spi_flash *env_flash;
 
-uchar env_get_char_spec(int index)
-{
-       return *((uchar *)(gd->env_addr + index));
-}
-
 #if defined(CONFIG_ENV_OFFSET_REDUND)
 int saveenv(void)
 {
index 4039e55f5c0d116bafeb4f13e764af6700eee437..96f1d86e2ba517553e951d8b5e822fda1d82afad 100644 (file)
@@ -39,16 +39,17 @@ alias arches         arch
 
 alias arm            uboot, aaribaud
 alias at91           uboot, reinhardm
-alias davinci        omap
+alias davinci        ti
 alias imx            uboot, sbabic
 alias kirkwood       uboot, prafulla
-alias omap           uboot, Sandeep Paulraj <s-paulraj@ti.com>
+alias omap           ti
 alias pxa            uboot, marex
 alias s3c            samsung
 alias s5pc           samsung
 alias samsung        uboot, prom
 alias tegra          uboot, Simon Glass <sjg@chromium.org>, Tom Warren <twarren@nvidia.com>, Stephen Warren <swarren@nvidia.com>
 alias tegra2         tegra
+alias ti             uboot, Sandeep Paulraj <s-paulraj@ti.com>, Tom Rini <trini@ti.com>
 
 alias avr32          uboot, reinhardm
 
index 9207391249a60d0530ae56702cd0b2652c686172..1633a7069d66076f7916507a296177b1582da252 100644 (file)
@@ -38,7 +38,6 @@
 #endif
 
 #undef CONFIG_SYS_FPGA_CHECK_BUSY
-#undef CONFIG_SYS_FPGA_PROG_FEEDBACK
 
 /* Note: The assumption is that we cannot possibly run fast enough to
  * overrun the device (the Slave Parallel mode can free run at 50MHz).
index dbb8db92f07a397fdd6998349f3b82ae2d9bca0f..1542194a1a66a983df14fb41bbe22f26fdc1c091 100644 (file)
@@ -633,6 +633,7 @@ static dir_entry *get_dentfromdir (fsdata *mydata, int startsect,
                        }
 #ifdef CONFIG_SUPPORT_VFAT
                        if (dols && mkcksum(dentptr->name) == prevcksum) {
+                               prevcksum = 0xffff;
                                dentptr++;
                                continue;
                        }
@@ -963,6 +964,7 @@ do_fat_read (const char *filename, void *buffer, unsigned long maxsize,
 #ifdef CONFIG_SUPPORT_VFAT
                        else if (dols == LS_ROOT &&
                                 mkcksum(dentptr->name) == prevcksum) {
+                               prevcksum = 0xffff;
                                dentptr++;
                                continue;
                        }
index 3df1defab16f3f690b7d6880b96046e48f46ed95..59e0b00a9105833df6f2f430fb6b4fecc2bead48 100644 (file)
  */
 
 #ifndef __COMMON_H_
-#define __COMMON_H_    1
+#define __COMMON_H_
 
 #undef _LINUX_CONFIG_H
-#define _LINUX_CONFIG_H 1      /* avoid reading Linux autoconf.h file  */
+#define _LINUX_CONFIG_H                /* avoid reading Linux autoconf.h file  */
 
 #ifndef __ASSEMBLY__           /* put C only stuff in this section */
 
@@ -51,18 +51,18 @@ typedef volatile unsigned char      vu_char;
     defined(CONFIG_MPC859DSL)  || \
     defined(CONFIG_MPC866)     || defined(CONFIG_MPC866T)      || \
     defined(CONFIG_MPC866P)
-# define CONFIG_MPC866_FAMILY 1
+# define CONFIG_MPC866_FAMILY
 #elif defined(CONFIG_MPC870) \
    || defined(CONFIG_MPC875) \
    || defined(CONFIG_MPC880) \
    || defined(CONFIG_MPC885)
-# define CONFIG_MPC885_FAMILY   1
+# define CONFIG_MPC885_FAMILY
 #endif
 #if   defined(CONFIG_MPC860)      \
    || defined(CONFIG_MPC860T)     \
    || defined(CONFIG_MPC866_FAMILY) \
    || defined(CONFIG_MPC885_FAMILY)
-# define CONFIG_MPC86x 1
+# define CONFIG_MPC86x
 #endif
 #elif defined(CONFIG_5xx)
 #include <asm/5xx_immap.h>
@@ -77,10 +77,10 @@ typedef volatile unsigned char      vu_char;
    || defined(CONFIG_MPC8248) \
    || defined(CONFIG_MPC8271) \
    || defined(CONFIG_MPC8272)
-#define CONFIG_MPC8272_FAMILY  1
+#define CONFIG_MPC8272_FAMILY
 #endif
 #if defined(CONFIG_MPC8272_FAMILY)
-#define CONFIG_MPC8260 1
+#define CONFIG_MPC8260
 #endif
 #include <asm/immap_8260.h>
 #endif
@@ -200,7 +200,7 @@ typedef void (interrupt_handler_t)(void *);
  || defined(CONFIG_8xx_CONS_SCC1) || defined(CONFIG_8xx_CONS_SCC2) \
  || defined(CONFIG_8xx_CONS_SCC3) || defined(CONFIG_8xx_CONS_SCC4)
 
-#define CONFIG_SERIAL_MULTI    1
+#define CONFIG_SERIAL_MULTI
 
 #endif
 
index 3c145af938ab99c98934815bdd09a017e2d7a1dd..1ef44f3cc6d7076935aad1736bcf19f853a17491 100644 (file)
@@ -22,7 +22,7 @@
  */
 
 #ifndef _ENVIRONMENT_H_
-#define _ENVIRONMENT_H_        1
+#define _ENVIRONMENT_H_
 
 /**************************************************************************
  *
 # if   (CONFIG_ENV_ADDR >= CONFIG_SYS_MONITOR_BASE) &&         \
        (CONFIG_ENV_ADDR + CONFIG_ENV_SIZE) <=                  \
        (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
-#  define ENV_IS_EMBEDDED      1
+#  define ENV_IS_EMBEDDED
 # endif
 # if defined(CONFIG_ENV_ADDR_REDUND) || defined(CONFIG_ENV_OFFSET_REDUND)
-#  define CONFIG_SYS_REDUNDAND_ENVIRONMENT     1
+#  define CONFIG_SYS_REDUNDAND_ENVIRONMENT
 # endif
 # ifdef CONFIG_ENV_IS_EMBEDDED
 #  error "do not define CONFIG_ENV_IS_EMBEDDED in your board config"
@@ -120,7 +120,7 @@ extern unsigned long nand_env_oob_offset;
  * calculated automatically (i.e. NAND), take the board opt-in.
  */
 #if defined(CONFIG_ENV_IS_EMBEDDED) && !defined(ENV_IS_EMBEDDED)
-# define ENV_IS_EMBEDDED 1
+# define ENV_IS_EMBEDDED
 #endif
 
 /* The build system likes to know if the env is embedded */
index 095f41c43b27cd4f376094530481023a6123be93..bc522d57c384114fb1960cb8778b4396151a88ce 100644 (file)
@@ -224,6 +224,7 @@ int phy_marvell_init(void);
 int phy_micrel_init(void);
 int phy_natsemi_init(void);
 int phy_realtek_init(void);
+int phy_smsc_init(void);
 int phy_teranetics_init(void);
 int phy_vitesse_init(void);
 
index 67ede4b1d63c6cc3f6b9ab5afa60c850d63e24ce..89f115694d1a8eb0096f06f9e52bcbe7f9069d69 100644 (file)
@@ -80,6 +80,12 @@ typedef struct {
 #define        XILINX_XC3S1200E_SIZE   3841184/8
 #define        XILINX_XC3S1600E_SIZE   5969696/8
 
+/*
+ * Spartan-6 : the Spartan-6 family can be programmed
+ * exactly as the Spartan-3
+ */
+#define XILINK_XC6SLX4_SIZE    (3713568/8)
+
 /* Descriptor Macros
  *********************************************************************/
 /* Spartan-III devices */
@@ -123,4 +129,7 @@ typedef struct {
 #define XILINX_XC3S1600E_DESC(iface, fn_table, cookie) \
 { Xilinx_Spartan3, iface, XILINX_XC3S1600E_SIZE, fn_table, cookie }
 
+#define XILINX_XC6SLX4_DESC(iface, fn_table, cookie) \
+{ Xilinx_Spartan3, iface, XILINK_XC6SLX4_SIZE, fn_table, cookie }
+
 #endif /* _SPARTAN3_H_ */
index 9258c796d87a56b7ffa25023ee8c58f50cb07c01..2dcb373b62f95be3b49238b5fe98b030b92819c5 100644 (file)
 #define DEVICE2_NAME      "/dev/mtd2"
 #define DEVICE1_OFFSET    0x0000
 #define ENV1_SIZE         0x4000
+#define DEVICE1_ESIZE     0x4000
+#define DEVICE1_ENVSECTORS     2
 #define DEVICE2_OFFSET    0x0000
 #define ENV2_SIZE         0x4000
+#define DEVICE2_ESIZE     0x4000
+#define DEVICE2_ENVSECTORS     2
 
 #define CONFIG_BAUDRATE                115200
 #define CONFIG_BOOTDELAY       5       /* autoboot after 5 seconds     */
index 51e3f54a38aaf7f0612c00d0a694854645ada0d6..08d2a8f550e6f24b5687de70c601596f0d1eea98 100644 (file)
 # endif
 # if (CONFIG_ENV_ADDR >= CONFIG_SYS_MONITOR_BASE) && \
      ((CONFIG_ENV_ADDR + CONFIG_ENV_SIZE) <= (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN))
-#  define ENV_IS_EMBEDDED      1
+#  define ENV_IS_EMBEDDED
 # endif
 # if defined(CONFIG_ENV_ADDR_REDUND) || defined(CONFIG_ENV_OFFSET_REDUND)
-#  define CONFIG_SYS_REDUNDAND_ENVIRONMENT     1
+#  define CONFIG_SYS_REDUNDAND_ENVIRONMENT
 # endif
 #endif /* CONFIG_ENV_IS_IN_FLASH */
 
 #if defined(ENV_IS_EMBEDDED) && !defined(CONFIG_BUILD_ENVCRC)
-# define CONFIG_BUILD_ENVCRC 1
+# define CONFIG_BUILD_ENVCRC
 #endif
 
 #ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT
index c5ed373b99217cd09b7c84578abae27e4ee09661..8ee2bd00e5c70c6086b48a6d1ae82bfc67369989 100644 (file)
@@ -122,11 +122,11 @@ int main(int argc, char **argv)
                        return EXIT_SUCCESS;
                case ':':
                        fprintf(stderr, "Missing argument for option -%c\n",
-                               option);
+                               optopt);
                        usage(argv[0]);
                        return EXIT_FAILURE;
                default:
-                       fprintf(stderr, "Wrong option -%c\n", option);
+                       fprintf(stderr, "Wrong option -%c\n", optopt);
                        usage(prg);
                        return EXIT_FAILURE;
                }