24 Jul, 2013

1 commit


27 Jan, 2012

1 commit

  • Adapt the following patch from spl to nand_spl:

    Author: Stefano Babic
    Date: Thu Dec 15 10:55:37 2011 +0100

    nand_spl_simple: store ecc data on the stack

    Currently nand_spl_simple puts it's temp data at 0x10000 offset in SDRAM
    which is likely to contain already loaded data.
    The patch saves the oob data and the ecc on the stack replacing
    the fixed address in RAM.

    Signed-off-by: Stefano Babic
    CC: Ilya Yanok
    CC: Scott Wood
    CC: Tom Rini
    CC: Simon Schwarz
    CC: Wolfgang Denk
    Signed-off-by: Scott Wood

    While nand_spl is on its way out, in favor of spl, there are still
    many boards using it, and conversions are gradual. This allows us
    to get rid of CONFIG_SYS_NAND_ECCSTEPS and CONFIG_SYS_NAND_ECCTOTAL now,
    which would otherwise be likely to linger unreferenced after a conversion.

    It also eliminates a temporary error in the hawkboard_nand build, since
    the spl version of the patch removed ECCSTEPS/TOTAL from hawkboard.h, but
    the spl conversion is pending (and may be merged via a different tree).

    Signed-off-by: Scott Wood

    Scott Wood
     

08 Dec, 2011

1 commit


17 Nov, 2011

1 commit

  • Fix:
    nand_boot.c: In function 'nand_read_page':
    nand_boot.c:190:6: warning: variable 'stat' set but not used [-Wunused-but-set-variable]
    nand_boot.c: In function 'nand_boot':
    nand_boot.c:271:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]

    Signed-off-by: Stefan Roese

    Stefan Roese
     

04 Oct, 2011

1 commit


02 Jul, 2011

1 commit

  • This patch adds support for 16 bit NAND devices attached to the
    NDFC on ppc4xx processors. Two config entries were added:

    CONFIG_SYS_NDFC_16 - Setting this tells the NDFC that a
    16 bit device is attached.
    CONFIG_SYS_NDFC_EBC0_CFG - This is for the External Bus
    Controller configuration register.

    Also, a new ndfc_read_byte() function was added which does not
    first convert the data to little endian.

    The NAND SPL was also modified to do 16bit bad block testing
    when a 16 bit chip is being used.

    Signed-off-by: Alex Waterman
    Signed-off-by: Scott Wood

    Alex Waterman
     

17 May, 2011

1 commit


14 May, 2011

3 commits

  • There are multiple reasons why this define should be removed:

    First it saves some space and therefore fixes a problem we have on
    the canyonlands_nand and glacier_nand targets right now.

    Second, the define was hackish and would most likely not work on all
    board using nand_boot.c. Boards not providing a real dev_ready()
    function should implement a board specific function instead.

    I checked and it seems, that all boards using nand_boot.c right now
    already implement a board specific dev_ready() function. So this
    patch should not break any boards and will result in smaller
    NAND_SPL images.

    Signed-off-by: Stefan Roese
    Cc: Scott Wood
    Cc: Stefano Babic
    Cc: Sughosh Ganu
    Cc: Sudhakar Rajashekhara
    Tested-by: Sughosh Ganu
    Signed-off-by: Scott Wood

    Stefan Roese
     
  • Patch 65a9db7b [nand_spl: Fix large page nand_command()] broke
    nand booting on canyonlands. "options" has to be initialized to
    0. If not, boards might have the NAND_BUSWIDTH_16 bit set,
    resulting in wrong offset calculation.

    Signed-off-by: Stefan Roese
    Cc: Scott Wood
    Cc: Alex Waterman
    Signed-off-by: Scott Wood

    Stefan Roese
     
  • The canyonland boards nand_spl size is just under the maximum 4KByte size. This
    patch decreases the size of the nand_spl to make a previous commit - commit
    65a9db7be0868be91ba81b9b5bf821de82e6d9b0 - fit in the nand_spl.

    Signed-off-by: Alex Waterman
    Acked-by: Stefan Roese
    Signed-off-by: Scott Wood

    Alex Waterman
     

16 Apr, 2011

1 commit

  • This patch changes the large page nand_command() routine to use a word
    offset instead of a byte offset. The 'offs' argument gets divided by 2
    so that the offset passed to nand_command() is still by byte offset.
    Originally, the offset was not shifted and when too high an offset was
    requested the nand chip would attempt to read non-existent data.

    Signed-off-by: Alex Waterman

    Alex Waterman
     

01 Dec, 2010

1 commit

  • The patch adds basic board support for TI's OMAP-L138 based
    Hawkboard. This board is pretty similar to the da850 EVM. Support for
    nand and network access is added in this version.

    The following bootup procedure is used.

    At reset, the Rom Boot Loader(RBL), initialises the ddr and the nand
    controllers and copies the second stage bootloader(nand_spl) to
    RAM. The secondary bootloader then copies u-boot from a predefined
    location in the nand flash to the RAM, and passes control to the
    u-boot image.

    Three config options are supported
    * hawkboard_config - Used to create the u-boot.bin. Tftp the
    u-boot.bin image to the RAM from u-boot, and flash to the nand flash
    at address 0xe0000.

    * hawkboard_nand_config - Used to generate the secondary
    bootloader(nand_spl) image. This creates an elf file u-boot-spl
    under nand_spl/. Create an AIS signed image using this file, and
    flash it to the nand flash at address 0x20000. The ais file should
    fit in one block.

    * hawkboard_uart_config - This is same as the first image, but with
    the TEXT_BASE as expected by the RBL(0xc1080000). Create the AIS

    Signed-off-by: Sughosh Ganu
    Signed-off-by: Ben Gardiner
    Signed-off-by: Sandeep Paulraj

    Sughosh Ganu
     

29 Nov, 2010

1 commit

  • Remove the board_init_f function from nand_spl/nand_boot.c. This
    function is to be defined by all boards using the nand_spl
    functionality in their individual board directory.

    Currently this function was being used by the smdk6400 board. Added
    the board specific function definition.

    Signed-off-by: Sughosh Ganu
    Acked-by: Scott Wood
    Signed-off-by: Sandeep Paulraj

    Sughosh Ganu
     

30 Oct, 2010

1 commit

  • When this define was introduced, the idea was to provide a soft
    migration path for ARM boards to get adapted to the new relocation
    support. However, other recent changes led to a different
    implementation (ELF relocation), where this no longer works. By now
    CONFIG_SYS_ARM_WITHOUT_RELOC does not only not help any more, but it
    actually hurts because it obfuscates the actual code by sprinkling it
    with lots of dead and non-working debris.

    So let's make a clean cut and drop CONFIG_SYS_ARM_WITHOUT_RELOC.

    Signed-off-by: Wolfgang Denk
    Tested-by: Heiko Schocher
    Tested-by: Reinhard Meyer

    Wolfgang Denk
     

19 Oct, 2010

2 commits

  • Commit 14d0a02a "Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE" missed a
    few places, especially for boards that were added inbetween. Fix the
    remaining issues.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     
  • The change is currently needed to be able to remove the board
    configuration scripting from the top level Makefile and replace it by
    a simple, table driven script.

    Moving this configuration setting into the "CONFIG_*" name space is
    also desirable because it is needed if we ever should move forward to
    a Kconfig driven configuration system.

    Signed-off-by: Wolfgang Denk

    Wolfgang Denk
     

20 Sep, 2010

1 commit

  • !! This breaks support for all arm boards !!

    To compile in old style, you must define
    CONFIG_SYS_ARM_WITHOUT_RELOC or you can compile
    with "CONFIG_SYS_ARM_WITHOUT_RELOC=1 ./MAKEALL board"

    !! This define will be removed soon, so convert your
    board to use relocation support

    Portions of this work were supported by funding from
    the CE Linux Forum.

    Signed-off-by: Heiko Schocher

    Fix boot from NAND for non-ARM systems
    Signed-off-by: Wolfgang Denk

    Heiko Schocher
     

08 Jul, 2009

2 commits

  • When adding large page NAND support to this file, I had a misunderstanding
    about the exact semantics of NAND_CTRL_CHANGE (which isn't documented
    anywhere I can find) -- it is apparently just a hint to drivers,
    which aren't required to preserve the old value for subsequent
    non-"change" invocations.

    This change makes nand_boot.c no longer assume this. Note that this
    happened to work by chance with some NAND drivers, which don't preserve
    the value, but treat 0 equivalently to NAND_CTRL_ALE.

    I don't have hardware to test this, so any testing is appreciated.

    Signed-off-by: Scott Wood

    Scott Wood
     
  • Currently, when booting from NAND using nand_spl, in the beginning the default
    environment is used until later in boot process the dynamic environment is read
    out. This way environment variables that must be interpreted early, like the
    baudrate or "silent", cannot be modified dynamically and remain at their
    default values. Fix this problem by reading out main and redundand (if used)
    copies of the environment in the nand_spl code.

    Signed-off-by: Guennadi Liakhovetski
    Signed-off-by: Scott Wood

    Guennadi Liakhovetski
     

27 Jan, 2009

1 commit


19 Oct, 2008

1 commit


14 Aug, 2008

1 commit


13 Aug, 2008

4 commits


04 Jun, 2008

1 commit

  • This patch consolidates the 405 and 440 parts of the NAND booting code
    selected via CONFIG_NAND_SPL. Now common code is used to initialize the
    SDRAM by calling initdram() and to "copy/relocate" to SDRAM/OCM/etc.
    Only *after* running from this location, nand_boot() is called.

    Please note that the initsdram() call is now moved from nand_boot.c
    to start.S. I experienced problems with some boards like Kilauea
    (405EX), which don't have internal SRAM (OCM) and relocation needs to
    be done to SDRAM before the NAND controller can get accessed. When
    initdram() is called later on in nand_boot(), this can lead to problems
    with variables in the bss sections like nand_ecc_pos[].

    Signed-off-by: Stefan Roese
    Acked-by: Scott Wood

    Stefan Roese
     

18 Apr, 2008

1 commit


10 Jan, 2008

1 commit


01 Jun, 2007

1 commit


09 Oct, 2006

1 commit


13 Sep, 2006

1 commit


07 Sep, 2006

1 commit

  • - Add support for PPC440EPx & PPC440GRx
    - Add support for PPC440EP(x)/GR(x) NAND controller
    in cpu/ppc4xx directory
    - Add NAND boot functionality for Sequoia board,
    please see doc/README.nand-boot-ppc440 for details
    - This Sequoia NAND image doesn't support environment
    in NAND for now. This will be added in a short while.
    Patch by Stefan Roese, 07 Sep 2006

    Stefan Roese