]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sat, 11 May 2013 07:25:36 +0000 (09:25 +0200)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sat, 11 May 2013 07:25:36 +0000 (09:25 +0200)
Conflicts:
drivers/mtd/nand/mxc_nand_spl.c
include/configs/m28evk.h

1  2 
Makefile
README
boards.cfg
drivers/mtd/nand/mxc_nand_spl.c
include/configs/m28evk.h
include/configs/mx28evk.h

diff --combined Makefile
index dbc4b709b6a7315506937b59e22774adec4ca67a,dd7e02adbaeb768566d1779d2b009630b21c6821..c52f0f181f8a30c1568009a6107a3fd7c222856d
+++ b/Makefile
@@@ -24,7 -24,7 +24,7 @@@
  VERSION = 2013
  PATCHLEVEL = 04
  SUBLEVEL =
 -EXTRAVERSION = -rc2
 +EXTRAVERSION =
  ifneq "$(SUBLEVEL)" ""
  U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
  else
@@@ -183,16 -183,6 +183,16 @@@ endi
  # load other configuration
  include $(TOPDIR)/config.mk
  
 +# Targets which don't build the source code
 +NON_BUILD_TARGETS = backup clean clobber distclean mkproper tidy unconfig
 +
 +# Only do the generic board check when actually building, not configuring
 +ifeq ($(filter $(NON_BUILD_TARGETS),$(MAKECMDGOALS)),)
 +ifeq ($(findstring _config,$(MAKECMDGOALS)),)
 +$(CHECK_GENERIC_BOARD)
 +endif
 +endif
 +
  # If board code explicitly specified LDSCRIPT or CONFIG_SYS_LDSCRIPT, use
  # that (or fail if absent).  Otherwise, search for a linker script in a
  # standard location.
@@@ -320,7 -310,7 +320,7 @@@ endi
  LIBS-y += drivers/rtc/librtc.o
  LIBS-y += drivers/serial/libserial.o
  LIBS-y += drivers/sound/libsound.o
 -LIBS-$(CONFIG_GENERIC_LPC_TPM) += drivers/tpm/libtpm.o
 +LIBS-y += drivers/tpm/libtpm.o
  LIBS-y += drivers/twserial/libtws.o
  LIBS-y += drivers/usb/eth/libusb_eth.o
  LIBS-y += drivers/usb/gadget/libusb_gadget.o
@@@ -341,7 -331,7 +341,7 @@@ ifneq ($(CONFIG_AM33XX)$(CONFIG_OMAP34X
  LIBS-y += $(CPUDIR)/omap-common/libomap-common.o
  endif
  
- ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35))
+ ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35 mxs))
  LIBS-y += arch/$(ARCH)/imx-common/libimx-common.o
  endif
  
@@@ -522,13 -512,9 +522,9 @@@ $(obj)u-boot.ais:       $(obj)spl/u-boo
                cat $(obj)spl/u-boot-spl-pad.ais $(obj)u-boot.img > \
                        $(obj)u-boot.ais
  
- # Specify the target for use in elftosb call
- ELFTOSB_TARGET-$(CONFIG_MX23) = imx23
- ELFTOSB_TARGET-$(CONFIG_MX28) = imx28
  
  $(obj)u-boot.sb:       $(obj)u-boot.bin $(obj)spl/u-boot-spl.bin
-               elftosb -zf $(ELFTOSB_TARGET-y) -c $(TOPDIR)/$(CPUDIR)/$(SOC)/u-boot-$(ELFTOSB_TARGET-y).bd \
-                       -o $(obj)u-boot.sb
+               $(MAKE) -C $(SRCTREE)/$(CPUDIR)/$(SOC)/ $(OBJTREE)/u-boot.sb
  
  # On x600 (SPEAr600) U-Boot is appended to U-Boot SPL.
  # Both images are created using mkimage (crc etc), so that the ROM
@@@ -564,18 -550,6 +560,18 @@@ endi
  $(obj)u-boot-img.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.img
                cat $(obj)spl/u-boot-spl.bin $(obj)u-boot.img > $@
  
 +# PPC4xx needs the SPL at the end of the image, since the reset vector
 +# is located at 0xfffffffc. So we can't use the "u-boot-img.bin" target
 +# and need to introduce a new build target with the full blown U-Boot
 +# at the start padded up to the start of the SPL image. And then concat
 +# the SPL image to the end.
 +$(obj)u-boot-img-spl-at-end.bin: $(obj)spl/u-boot-spl.bin $(obj)u-boot.img
 +              tr "\000" "\377" < /dev/zero | dd ibs=1 count=$(CONFIG_UBOOT_PAD_TO) \
 +                      of=$(obj)u-boot-pad.img 2>/dev/null
 +              dd if=$(obj)u-boot.img of=$(obj)u-boot-pad.img \
 +                      conv=notrunc 2>/dev/null
 +              cat $(obj)u-boot-pad.img $(obj)spl/u-boot-spl.bin > $@
 +
  ifeq ($(CONFIG_SANDBOX),y)
  GEN_UBOOT = \
                cd $(LNDIR) && $(CC) $(SYMS) -T $(obj)u-boot.lds \
@@@ -871,6 -845,7 +867,7 @@@ clobber:   tid
        @rm -f $(obj)u-boot.ais
        @rm -f $(obj)u-boot.dtb
        @rm -f $(obj)u-boot.sb
+       @rm -f $(obj)u-boot.bd
        @rm -f $(obj)u-boot.spr
        @rm -f $(obj)nand_spl/{u-boot.{lds,lst},System.map}
        @rm -f $(obj)nand_spl/{u-boot-nand_spl.lds,u-boot-spl,u-boot-spl.map}
diff --combined README
index 0d37d561d9f929a3de64664d9da0e63ca8cfd444,7f9f547cff48494609ea91d7888fc2bbc1af2aa3..bab1a95d200a10c39c542682ac6e58cfbfb46940
--- 1/README
--- 2/README
+++ b/README
@@@ -844,6 -844,7 +844,7 @@@ The following options need to be config
                CONFIG_CMD_FDOS         * Dos diskette Support
                CONFIG_CMD_FLASH          flinfo, erase, protect
                CONFIG_CMD_FPGA           FPGA device initialization support
+               CONFIG_CMD_FUSE           Device fuse support
                CONFIG_CMD_GETTIME      * Get time since boot
                CONFIG_CMD_GO           * the 'go' command (exec code)
                CONFIG_CMD_GREPENV      * search environment
  
                XXX - this list needs to get updated!
  
 +- Regular expression support:
 +              CONFIG_REGEX
 +                If this variable is defined, U-Boot is linked against
 +                the SLRE (Super Light Regular Expression) library,
 +                which adds regex support to some commands, as for
 +                example "env grep" and "setexpr".
 +
  - Device tree:
                CONFIG_OF_CONTROL
                If this variable is defined, U-Boot will use a device tree
@@@ -3255,15 -3249,6 +3256,15 @@@ Configuration Settings
                digits and dots.  Recommended value: 45 (9..1) for 80
                column displays, 15 (3..1) for 40 column displays.
  
 +- CONFIG_FLASH_VERIFY
 +              If defined, the content of the flash (destination) is compared
 +              against the source after the write operation. An error message
 +              will be printed when the contents are not identical.
 +              Please note that this option is useless in nearly all cases,
 +              since such flash programming errors usually are detected earlier
 +              while unprotecting/erasing/programming. Please only enable
 +              this option if you really know what you are doing.
 +
  - CONFIG_SYS_RX_ETH_BUFFER:
                Defines the number of Ethernet receive buffers. On some
                Ethernet controllers it is recommended to set this value
diff --combined boards.cfg
index 5d7806497962b8c79140718291e804702b7335c4,91723b9b8c68a74821d8e5129f185a3b379acaeb..0e082a072c872260dbb295a76609e205c17466b2
@@@ -246,6 -246,7 +246,7 @@@ am335x_evm_usbspl            ar
  ti814x_evm                   arm         armv7       ti814x              ti             am33xx
  pcm051                       arm         armv7       pcm051              phytec         am33xx      pcm051
  highbank                     arm         armv7       highbank            -              highbank
+ m53evk                       arm         armv7       m53evk              denx         mx5             m53evk:IMX_CONFIG=board/denx/m53evk/imximage.cfg
  mx51_efikamx                 arm         armv7       mx51_efikamx        genesi         mx5           mx51_efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKAMX,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_mx.cfg
  mx51_efikasb                 arm         armv7       mx51_efikamx        genesi         mx5           mx51_efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKASB,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_sb.cfg
  mx51evk                      arm         armv7       mx51evk             freescale      mx5           mx51evk:IMX_CONFIG=board/freescale/mx51evk/imximage.cfg
@@@ -259,6 -260,8 +260,8 @@@ mx6qarm2                     ar
  mx6qsabreauto                arm         armv7       mx6qsabreauto       freescale      mx6           mx6qsabreauto:IMX_CONFIG=board/freescale/mx6qsabreauto/imximage.cfg
  mx6qsabrelite                arm         armv7       mx6qsabrelite       freescale      mx6           mx6qsabrelite:IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg
  mx6qsabresd                  arm         armv7       mx6qsabresd         freescale      mx6           mx6qsabresd:IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg
+ mx6slevk                     arm         armv7       mx6slevk            freescale      mx6           mx6slevk:IMX_CONFIG=board/freescale/mx6slevk/imximage.cfg,MX6SL
+ titanium                     arm         armv7       titanium            freescale      mx6           titanium:IMX_CONFIG=board/freescale/titanium/imximage.cfg
  eco5pk                       arm         armv7       eco5pk              8dtech         omap3
  nitrogen6dl                  arm         armv7       nitrogen6x          boundary       mx6           nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL,DDR_MB=1024
  nitrogen6dl2g                arm         armv7       nitrogen6x          boundary       mx6           nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl2g.cfg,MX6DL,DDR_MB=2048
@@@ -811,8 -814,6 +814,8 @@@ P1021RDB-PC_NAND             powerp
  P1021RDB-PC_SDCARD           powerpc     mpc85xx     p1_p2_rdb_pc        freescale      -           p1_p2_rdb_pc:P1021RDB,SDCARD
  P1021RDB-PC_SPIFLASH         powerpc     mpc85xx     p1_p2_rdb_pc        freescale      -           p1_p2_rdb_pc:P1021RDB,SPIFLASH
  P1022DS                      powerpc     mpc85xx     p1022ds             freescale
 +P1022DS_NAND                 powerpc     mpc85xx     p1022ds             freescale    -           P1022DS:NAND
 +P1022DS_36BIT_NAND           powerpc     mpc85xx     p1022ds             freescale    -           P1022DS:36BIT,NAND
  P1022DS_SPIFLASH             powerpc     mpc85xx     p1022ds             freescale    -           P1022DS:SPIFLASH
  P1022DS_36BIT_SPIFLASH       powerpc     mpc85xx     p1022ds             freescale    -           P1022DS:36BIT,SPIFLASH
  P1022DS_SDCARD               powerpc     mpc85xx     p1022ds             freescale    -           P1022DS:SDCARD
@@@ -1012,7 -1013,6 +1015,7 @@@ JSE                          powerp
  korat                        powerpc     ppc4xx
  korat_perm                   powerpc     ppc4xx      korat               -              -           korat:KORAT_PERMANENT
  lwmon5                       powerpc     ppc4xx
 +lcd4_lwmon5                  powerpc     ppc4xx      lwmon5              -              -           lwmon5:LCD4_LWMON5
  pcs440ep                     powerpc     ppc4xx
  quad100hd                    powerpc     ppc4xx
  sbc405                       powerpc     ppc4xx
index edc589e5b7012d650fc14db4e120d3c32db36651,5608352a451acfbb436dfad827e56213feac6f3a..f13d5fc58161a2bd8cb91ed87d5c1acc352a5db6
@@@ -290,7 -290,7 +290,7 @@@ static int is_badblock(int pagenumber
        return 0;
  }
  
static int nand_load(unsigned int from, unsigned int size, unsigned char *buf)
int nand_spl_load_image(uint32_t from, unsigned int size, void *buf)
  {
        int i;
        unsigned int page;
        page = from / CONFIG_SYS_NAND_PAGE_SIZE;
        i = 0;
  
+       size = roundup(size, CONFIG_SYS_NAND_PAGE_SIZE);
        while (i < size / CONFIG_SYS_NAND_PAGE_SIZE) {
                if (nfc_read_page(page, buf) < 0)
                        return -1;
        return 0;
  }
  
+ #ifndef CONFIG_SPL_FRAMEWORK
  /*
   * The main entry for NAND booting. It's necessary that SDRAM is already
   * configured and available since this code loads the main U-Boot image
@@@ -345,8 -347,9 +347,9 @@@ void nand_boot(void
         * CONFIG_SYS_NAND_U_BOOT_OFFS and CONFIG_SYS_NAND_U_BOOT_SIZE must
         * be aligned to full pages
         */
-       if (!nand_load(CONFIG_SYS_NAND_U_BOOT_OFFS, CONFIG_SYS_NAND_U_BOOT_SIZE,
-                      (uchar *)CONFIG_SYS_NAND_U_BOOT_DST)) {
+       if (!nand_spl_load_image(CONFIG_SYS_NAND_U_BOOT_OFFS,
+                       CONFIG_SYS_NAND_U_BOOT_SIZE,
+                       (uchar *)CONFIG_SYS_NAND_U_BOOT_DST)) {
                /* Copy from NAND successful, start U-boot */
                uboot = (void *)CONFIG_SYS_NAND_U_BOOT_START;
                uboot();
                hang();
        }
  }
 -
 -/*
 - * Called in case of an exception.
 - */
 -void hang(void)
 -{
 -      /* Loop forever */
 -      while (1) ;
 -}
+ #endif
 -
 -void nand_init(void) {}
 -void nand_deselect(void) {}
diff --combined include/configs/m28evk.h
index 4ce4058c759f331e7a68c6c1b5893d8aec7267ac,a7d3ae63036c4034260ce6c9c5e369e34e4c0d24..5b3fa43eb46cbbc0d85f95c849352f385740da74
  /*
   * SoC configurations
   */
 -#define       CONFIG_MX28                             /* i.MX28 SoC */
 -#define       CONFIG_MXS_GPIO                         /* GPIO control */
 -#define       CONFIG_SYS_HZ           1000            /* Ticks per second */
 +#define CONFIG_MX28                           /* i.MX28 SoC */
 +#define CONFIG_MXS_GPIO                               /* GPIO control */
 +#define CONFIG_SYS_HZ         1000            /* Ticks per second */
  
  /*
   * Define M28EVK machine type by hand until it lands in mach-types
   */
 -#define       MACH_TYPE_M28EVK        3613
 +#define MACH_TYPE_M28EVK      3613
  
 -#define       CONFIG_MACH_TYPE        MACH_TYPE_M28EVK
 +#define CONFIG_MACH_TYPE      MACH_TYPE_M28EVK
  
  #include <asm/arch/regs-base.h>
  
 -#define       CONFIG_SYS_NO_FLASH
 -#define       CONFIG_BOARD_EARLY_INIT_F
 -#define       CONFIG_ARCH_MISC_INIT
 +#define CONFIG_SYS_NO_FLASH
 +#define CONFIG_BOARD_EARLY_INIT_F
 +#define CONFIG_ARCH_MISC_INIT
  
  /*
   * SPL
   */
 -#define       CONFIG_SPL
 -#define       CONFIG_SPL_NO_CPU_SUPPORT_CODE
 -#define       CONFIG_SPL_START_S_PATH         "arch/arm/cpu/arm926ejs/mxs"
 -#define       CONFIG_SPL_LDSCRIPT     "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
 -#define       CONFIG_SPL_LIBCOMMON_SUPPORT
 -#define       CONFIG_SPL_LIBGENERIC_SUPPORT
 -#define       CONFIG_SPL_GPIO_SUPPORT
 +#define CONFIG_SPL
 +#define CONFIG_SPL_NO_CPU_SUPPORT_CODE
 +#define CONFIG_SPL_START_S_PATH               "arch/arm/cpu/arm926ejs/mxs"
 +#define CONFIG_SPL_LDSCRIPT   "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
 +#define CONFIG_SPL_LIBCOMMON_SUPPORT
 +#define CONFIG_SPL_LIBGENERIC_SUPPORT
 +#define CONFIG_SPL_GPIO_SUPPORT
  
  /*
   * U-Boot Commands
   */
  #include <config_cmd_default.h>
 -#define       CONFIG_DISPLAY_CPUINFO
 -#define       CONFIG_DOS_PARTITION
 +#define CONFIG_DISPLAY_CPUINFO
 +#define CONFIG_DOS_PARTITION
  
 -#define       CONFIG_CMD_CACHE
 -#define       CONFIG_CMD_DATE
 -#define       CONFIG_CMD_DHCP
 -#define       CONFIG_CMD_EEPROM
 -#define       CONFIG_CMD_EXT2
 -#define       CONFIG_CMD_FAT
 -#define       CONFIG_CMD_GPIO
 -#define       CONFIG_CMD_I2C
 -#define       CONFIG_CMD_MII
 -#define       CONFIG_CMD_MMC
 -#define       CONFIG_CMD_NAND
 -#define       CONFIG_CMD_NET
 -#define       CONFIG_CMD_NFS
 -#define       CONFIG_CMD_PING
 -#define       CONFIG_CMD_SETEXPR
 -#define       CONFIG_CMD_SF
 -#define       CONFIG_CMD_SPI
 -#define       CONFIG_CMD_USB
 +#define CONFIG_CMD_CACHE
 +#define CONFIG_CMD_DATE
 +#define CONFIG_CMD_DHCP
 +#define CONFIG_CMD_EEPROM
 +#define CONFIG_CMD_EXT2
 +#define CONFIG_CMD_FAT
 +#define CONFIG_CMD_GPIO
 +#define CONFIG_CMD_GREPENV
 +#define CONFIG_CMD_I2C
 +#define CONFIG_CMD_MII
 +#define CONFIG_CMD_MMC
 +#define CONFIG_CMD_NAND
 +#define CONFIG_CMD_NET
 +#define CONFIG_CMD_NFS
 +#define CONFIG_CMD_PING
 +#define CONFIG_CMD_SETEXPR
 +#define CONFIG_CMD_SF
 +#define CONFIG_CMD_SPI
 +#define CONFIG_CMD_USB
+ #define       CONFIG_VIDEO
  
 +#define CONFIG_REGEX                  /* Enable regular expression support */
 +
  /*
   * Memory configurations
   */
 -#define       CONFIG_NR_DRAM_BANKS            1               /* 1 bank of DRAM */
 -#define       PHYS_SDRAM_1                    0x40000000      /* Base address */
 -#define       PHYS_SDRAM_1_SIZE               0x20000000      /* Max 512 MB RAM */
 -#define       CONFIG_SYS_MALLOC_LEN           0x00400000      /* 4 MB for malloc */
 -#define       CONFIG_SYS_GBL_DATA_SIZE        128             /* Initial data */
 -#define       CONFIG_SYS_MEMTEST_START        0x40000000      /* Memtest start adr */
 -#define       CONFIG_SYS_MEMTEST_END          0x40400000      /* 4 MB RAM test */
 -#define       CONFIG_SYS_SDRAM_BASE           PHYS_SDRAM_1
 +#define CONFIG_NR_DRAM_BANKS          1               /* 1 bank of DRAM */
 +#define PHYS_SDRAM_1                  0x40000000      /* Base address */
 +#define PHYS_SDRAM_1_SIZE             0x20000000      /* Max 512 MB RAM */
 +#define CONFIG_SYS_MALLOC_LEN         0x00400000      /* 4 MB for malloc */
 +#define CONFIG_SYS_GBL_DATA_SIZE      128             /* Initial data */
 +#define CONFIG_SYS_MEMTEST_START      0x40000000      /* Memtest start adr */
 +#define CONFIG_SYS_MEMTEST_END                0x40400000      /* 4 MB RAM test */
 +#define CONFIG_SYS_SDRAM_BASE         PHYS_SDRAM_1
  /* Point initial SP in SRAM so SPL can use it too. */
  
  #define CONFIG_SYS_INIT_RAM_ADDR      0x00000000
   * strange BUG in ROM corrupting first 4 bytes of RAM when loading U-Boot
   * binary. In case there was more of this mess, 0x100 bytes are skipped.
   */
 -#define       CONFIG_SYS_TEXT_BASE            0x40000100
 +#define CONFIG_SYS_TEXT_BASE          0x40000100
  
  /*
   * U-Boot general configurations
   */
 -#define       CONFIG_SYS_LONGHELP
 -#define       CONFIG_SYS_PROMPT       "=> "
 -#define       CONFIG_SYS_CBSIZE       1024            /* Console I/O buffer size */
 -#define       CONFIG_SYS_PBSIZE       \
 +#define CONFIG_SYS_LONGHELP
 +#define CONFIG_SYS_PROMPT     "=> "
 +#define CONFIG_SYS_CBSIZE     1024            /* Console I/O buffer size */
 +#define CONFIG_SYS_PBSIZE     \
        (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
                                                /* Print buffer size */
 -#define       CONFIG_SYS_MAXARGS      32              /* Max number of command args */
 -#define       CONFIG_SYS_BARGSIZE     CONFIG_SYS_CBSIZE
 +#define CONFIG_SYS_MAXARGS    32              /* Max number of command args */
 +#define CONFIG_SYS_BARGSIZE   CONFIG_SYS_CBSIZE
                                                /* Boot argument buffer size */
 -#define       CONFIG_VERSION_VARIABLE                 /* U-BOOT version */
 -#define       CONFIG_AUTO_COMPLETE                    /* Command auto complete */
 -#define       CONFIG_CMDLINE_EDITING                  /* Command history etc */
 -#define       CONFIG_SYS_HUSH_PARSER
 +#define CONFIG_VERSION_VARIABLE                       /* U-BOOT version */
 +#define CONFIG_AUTO_COMPLETE                  /* Command auto complete */
 +#define CONFIG_CMDLINE_EDITING                        /* Command history etc */
 +#define CONFIG_SYS_HUSH_PARSER
  
  /*
   * Serial Driver
   */
 -#define       CONFIG_PL011_SERIAL
 -#define       CONFIG_PL011_CLOCK              24000000
 -#define       CONFIG_PL01x_PORTS              { (void *)MXS_UARTDBG_BASE }
 -#define       CONFIG_CONS_INDEX               0
 -#define       CONFIG_BAUDRATE                 115200  /* Default baud rate */
 +#define CONFIG_PL011_SERIAL
 +#define CONFIG_PL011_CLOCK            24000000
 +#define CONFIG_PL01x_PORTS            { (void *)MXS_UARTDBG_BASE }
 +#define CONFIG_CONS_INDEX             0
 +#define CONFIG_BAUDRATE                       115200  /* Default baud rate */
  
  /*
   * MMC Driver
   */
  #ifdef        CONFIG_CMD_MMC
 -#define       CONFIG_MMC
 -#define       CONFIG_BOUNCE_BUFFER
 -#define       CONFIG_GENERIC_MMC
 -#define       CONFIG_MXS_MMC
 +#define CONFIG_MMC
 +#define CONFIG_BOUNCE_BUFFER
 +#define CONFIG_GENERIC_MMC
 +#define CONFIG_MXS_MMC
  #endif
  
  /*
  /*
   * NAND
   */
 -#define       CONFIG_ENV_SIZE                 (16 * 1024)
 +#define CONFIG_ENV_SIZE                       (16 * 1024)
  #ifdef        CONFIG_CMD_NAND
 -#define       CONFIG_NAND_MXS
 -#define       CONFIG_SYS_MAX_NAND_DEVICE      1
 -#define       CONFIG_SYS_NAND_BASE            0x60000000
 -#define       CONFIG_SYS_NAND_5_ADDR_CYCLE
 +#define CONFIG_NAND_MXS
 +#define CONFIG_SYS_MAX_NAND_DEVICE    1
 +#define CONFIG_SYS_NAND_BASE          0x60000000
 +#define CONFIG_SYS_NAND_5_ADDR_CYCLE
  
  /* Environment is in NAND */
 -#define       CONFIG_ENV_IS_IN_NAND
 -#define       CONFIG_ENV_SIZE_REDUND          CONFIG_ENV_SIZE
 -#define       CONFIG_ENV_SECT_SIZE            (128 * 1024)
 -#define       CONFIG_ENV_RANGE                (512 * 1024)
 -#define       CONFIG_ENV_OFFSET               0x300000
 -#define       CONFIG_ENV_OFFSET_REDUND        \
 +#define CONFIG_ENV_IS_IN_NAND
 +#define CONFIG_ENV_SIZE_REDUND                CONFIG_ENV_SIZE
 +#define CONFIG_ENV_SECT_SIZE          (128 * 1024)
 +#define CONFIG_ENV_RANGE              (512 * 1024)
 +#define CONFIG_ENV_OFFSET             0x300000
 +#define CONFIG_ENV_OFFSET_REDUND      \
                (CONFIG_ENV_OFFSET + CONFIG_ENV_RANGE)
  
 -#define       CONFIG_CMD_UBI
 -#define       CONFIG_CMD_UBIFS
 -#define       CONFIG_CMD_MTDPARTS
 -#define       CONFIG_RBTREE
 -#define       CONFIG_LZO
 -#define       CONFIG_MTD_DEVICE
 -#define       CONFIG_MTD_PARTITIONS
 -#define       MTDIDS_DEFAULT                  "nand0=gpmi-nand"
 -#define       MTDPARTS_DEFAULT                        \
 +#define CONFIG_CMD_UBI
 +#define CONFIG_CMD_UBIFS
 +#define CONFIG_CMD_MTDPARTS
 +#define CONFIG_RBTREE
 +#define CONFIG_LZO
 +#define CONFIG_MTD_DEVICE
 +#define CONFIG_MTD_PARTITIONS
 +#define MTDIDS_DEFAULT                        "nand0=gpmi-nand"
 +#define MTDPARTS_DEFAULT                      \
        "mtdparts=gpmi-nand:"                   \
                "3m(bootloader)ro,"             \
                "512k(environment),"            \
                "8m(ramdisk),"                  \
                "-(filesystem)"
  #else
 -#define       CONFIG_ENV_IS_NOWHERE
 +#define CONFIG_ENV_IS_NOWHERE
  #endif
  
  /*
   * Ethernet on SOC (FEC)
   */
  #ifdef        CONFIG_CMD_NET
 -#define       CONFIG_ETHPRIME                 "FEC0"
 -#define       CONFIG_FEC_MXC
 -#define       CONFIG_MII
 -#define       CONFIG_FEC_XCV_TYPE             RMII
 +#define CONFIG_ETHPRIME                       "FEC0"
 +#define CONFIG_FEC_MXC
 +#define CONFIG_MII
 +#define CONFIG_FEC_XCV_TYPE           RMII
  #endif
  
  /*
   * I2C
   */
  #ifdef        CONFIG_CMD_I2C
 -#define       CONFIG_I2C_MXS
 -#define       CONFIG_HARD_I2C
 -#define       CONFIG_SYS_I2C_SPEED            400000
 +#define CONFIG_I2C_MXS
 +#define CONFIG_HARD_I2C
 +#define CONFIG_SYS_I2C_SPEED          400000
  #endif
  
  /*
   * EEPROM
   */
  #ifdef        CONFIG_CMD_EEPROM
 -#define       CONFIG_SYS_I2C_MULTI_EEPROMS
 -#define       CONFIG_SYS_I2C_EEPROM_ADDR_LEN  2
 +#define CONFIG_SYS_I2C_MULTI_EEPROMS
 +#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN        2
  #endif
  
  /*
   */
  #ifdef        CONFIG_CMD_DATE
  /* Use the internal RTC in the MXS chip */
 -#define       CONFIG_RTC_INTERNAL
 +#define CONFIG_RTC_INTERNAL
  #ifdef        CONFIG_RTC_INTERNAL
 -#define       CONFIG_RTC_MXS
 +#define CONFIG_RTC_MXS
  #else
 -#define       CONFIG_RTC_M41T62
 -#define       CONFIG_SYS_I2C_RTC_ADDR         0x68
 -#define       CONFIG_SYS_M41T11_BASE_YEAR     2000
 +#define CONFIG_RTC_M41T62
 +#define CONFIG_SYS_I2C_RTC_ADDR               0x68
 +#define CONFIG_SYS_M41T11_BASE_YEAR   2000
  #endif
  #endif
  
   * USB
   */
  #ifdef        CONFIG_CMD_USB
 -#define       CONFIG_USB_EHCI
 -#define       CONFIG_USB_EHCI_MXS
 +#define CONFIG_USB_EHCI
 +#define CONFIG_USB_EHCI_MXS
  #define CONFIG_EHCI_MXS_PORT0
  #define CONFIG_EHCI_MXS_PORT1
  #define CONFIG_USB_MAX_CONTROLLER_COUNT       2
 -#define       CONFIG_EHCI_IS_TDI
 -#define       CONFIG_USB_STORAGE
 +#define CONFIG_EHCI_IS_TDI
 +#define CONFIG_USB_STORAGE
  #endif
  
  /*
   * SPI
   */
  #ifdef        CONFIG_CMD_SPI
 -#define       CONFIG_HARD_SPI
 -#define       CONFIG_MXS_SPI
 -#define       CONFIG_SPI_HALF_DUPLEX
 -#define       CONFIG_DEFAULT_SPI_BUS          2
 -#define       CONFIG_DEFAULT_SPI_CS           0
 -#define       CONFIG_DEFAULT_SPI_MODE         SPI_MODE_0
 +#define CONFIG_HARD_SPI
 +#define CONFIG_MXS_SPI
 +#define CONFIG_SPI_HALF_DUPLEX
 +#define CONFIG_DEFAULT_SPI_BUS                2
 +#define CONFIG_DEFAULT_SPI_CS         0
 +#define CONFIG_DEFAULT_SPI_MODE               SPI_MODE_0
  
  /* SPI FLASH */
  #ifdef        CONFIG_CMD_SF
 -#define       CONFIG_SPI_FLASH
 -#define       CONFIG_SPI_FLASH_STMICRO
 -#define       CONFIG_SF_DEFAULT_BUS           2
 -#define       CONFIG_SF_DEFAULT_CS            0
 -#define       CONFIG_SF_DEFAULT_SPEED         40000000
 -#define       CONFIG_SF_DEFAULT_MODE          SPI_MODE_0
 +#define CONFIG_SPI_FLASH
 +#define CONFIG_SPI_FLASH_STMICRO
 +#define CONFIG_SF_DEFAULT_BUS         2
 +#define CONFIG_SF_DEFAULT_CS          0
 +#define CONFIG_SF_DEFAULT_SPEED               40000000
 +#define CONFIG_SF_DEFAULT_MODE                SPI_MODE_0
  
 -#define       CONFIG_ENV_SPI_BUS              2
 -#define       CONFIG_ENV_SPI_CS               0
 -#define       CONFIG_ENV_SPI_MAX_HZ           40000000
 -#define       CONFIG_ENV_SPI_MODE             SPI_MODE_0
 +#define CONFIG_ENV_SPI_BUS            2
 +#define CONFIG_ENV_SPI_CS             0
 +#define CONFIG_ENV_SPI_MAX_HZ         40000000
 +#define CONFIG_ENV_SPI_MODE           SPI_MODE_0
  #endif
  #endif
  
+ /*
+  * LCD
+  */
+ #ifdef        CONFIG_VIDEO
+ #define       CONFIG_CFB_CONSOLE
+ #define       CONFIG_VIDEO_MXS
+ #define       CONFIG_VIDEO_LOGO
+ #define       CONFIG_VIDEO_SW_CURSOR
+ #define       CONFIG_VGA_AS_SINGLE_DEVICE
+ #define       CONFIG_SYS_CONSOLE_IS_IN_ENV
+ #define       CONFIG_SPLASH_SCREEN
+ #define       CONFIG_CMD_BMP
+ #define       CONFIG_BMP_16BPP
+ #define       CONFIG_VIDEO_BMP_RLE8
+ #define       CONFIG_VIDEO_BMP_GZIP
+ #define       CONFIG_SYS_VIDEO_LOGO_MAX_SIZE  (512 << 10)
+ #endif
  /*
   * Boot Linux
   */
 -#define       CONFIG_CMDLINE_TAG
 -#define       CONFIG_SETUP_MEMORY_TAGS
 -#define       CONFIG_BOOTDELAY        3
 -#define       CONFIG_BOOTFILE         "uImage"
 -#define       CONFIG_BOOTARGS         "console=ttyAMA0,115200n8 "
 -#define       CONFIG_BOOTCOMMAND      "run bootcmd_net"
 -#define       CONFIG_LOADADDR         0x42000000
 -#define       CONFIG_SYS_LOAD_ADDR    CONFIG_LOADADDR
 -#define       CONFIG_OF_LIBFDT
 +#define CONFIG_CMDLINE_TAG
 +#define CONFIG_SETUP_MEMORY_TAGS
 +#define CONFIG_BOOTDELAY      3
 +#define CONFIG_BOOTFILE               "uImage"
 +#define CONFIG_BOOTARGS               "console=ttyAMA0,115200n8 "
 +#define CONFIG_BOOTCOMMAND    "run bootcmd_net"
 +#define CONFIG_LOADADDR               0x42000000
 +#define CONFIG_SYS_LOAD_ADDR  CONFIG_LOADADDR
 +#define CONFIG_OF_LIBFDT
  
  /*
   * Extra Environments
   */
 -#define       CONFIG_EXTRA_ENV_SETTINGS                                       \
 +#define CONFIG_EXTRA_ENV_SETTINGS                                     \
        "update_nand_full_filename=u-boot.nand\0"                       \
        "update_nand_firmware_filename=u-boot.sb\0"                     \
        "update_sd_firmware_filename=u-boot.sd\0"                       \
index 3747955bde8127b9acf27327428a01e9ca4691a7,b22a20b1901a9f1d1ddf0051a6491e868c856da1..54d01f9ed86a57d819b479565aaa5c33570f8512
@@@ -63,6 -63,7 +63,7 @@@
  #define CONFIG_CMD_USB
  #define CONFIG_CMD_BOOTZ
  #define CONFIG_CMD_NAND
+ #define CONFIG_CMD_NAND_TRIMFFS
  
  /* Memory configurations */
  #define CONFIG_NR_DRAM_BANKS          1               /* 1 bank of DRAM */
  #define CONFIG_SYS_NAND_5_ADDR_CYCLE
  
  /* Environment is in NAND */
 +#ifdef CONFIG_ENV_IS_IN_NAND
  #define CONFIG_ENV_SIZE_REDUND                CONFIG_ENV_SIZE
  #define CONFIG_ENV_SECT_SIZE          (128 * 1024)
  #define CONFIG_ENV_RANGE              (512 * 1024)
 -#ifndef CONFIG_ENV_OFFSET
  #define CONFIG_ENV_OFFSET             0x300000
 -#endif
  #define CONFIG_ENV_OFFSET_REDUND      \
                (CONFIG_ENV_OFFSET + CONFIG_ENV_RANGE)
 +#endif
  
  #define CONFIG_CMD_UBI
  #define CONFIG_CMD_UBIFS