summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* sandbox: Add a way of obtaining directory listingsSimon Glass2013-03-04-0/+149
| | | | | | | | This implementation uses opendir()/readdir() to access the directory information and then puts it in a linked list for the caller's use. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@ti.com>
* fs: Move ls and read methods into ext4, fatSimon Glass2013-03-04-110/+67
| | | | | | | | | It doesn't make a lot of sense to have these methods in fs.c. They are filesystem-specific, not generic code. Add each to the relevant filesystem and remove the associated #ifdefs in fs.c. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@ti.com>
* fs: Use map_sysmem() on readSimon Glass2013-03-04-8/+15
| | | | | | | | This allows us to use filesystems on sandbox. It has no effect on other architectures. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@ti.com>
* fs: Tell probe functions where to put their resultsSimon Glass2013-03-04-8/+12
| | | | | | | | | | Rather than rely on global variables for the probe functions, pass in the information that we need filled in. This allows us to potentially keep the variables private to fs.c in the future, and the meaning of the probe function is clearer. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@ti.com>
* fs: Use filesystem methods instead of switch()Simon Glass2013-03-04-34/+26
| | | | | | | | | | We can use the available methods and avoid using switch(). When the filesystem is not supported, we fall through to the 'unsupported' methods: fs_probe_unsupported() prints an error, so the others do not need to. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@ti.com>
* fs: Fully populate the filesystem method structSimon Glass2013-03-04-9/+47
| | | | | | | | | There is a structure in fs.c with just a probe method. By adding methods for other operations, we can avoid lots of #ifdefs and switch()s. As a first step, create the structure ready for use. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Tom Rini <trini@ti.com>
* ext4: Split write support into its own fileSimon Glass2013-03-04-964/+997
| | | | | | | This code seems to be entirely othogonal, so remove the #ifdef and put the condition in the Makefile instead. Signed-off-by: Simon Glass <sjg@chromium.org>
* Merge branch 'mem' of git://git.denx.de/u-boot-x86Tom Rini2013-03-04-583/+761
|\
| * hash: Use lower case for hash algorithm namesSimon Glass2013-02-28-6/+11
| | | | | | | | | | | | | | | | | | | | Rather than use strcasecmp() in the hash algorithm search, require the caller to do this first. Most of U-Boot can use lower case anyway, and the hash command can convert to lower case before calling hash_command(). This saves needing strcasecmp() for boards that use hashing but not the hash command. Signed-off-by: Simon Glass <sjg@chromium.org>
| * sandbox: Allow hash functions to work correctlySimon Glass2013-02-28-8/+16
| | | | | | | | | | | | Use map_sysmem() so that hashing is possible on sandbox. Signed-off-by: Simon Glass <sjg@chromium.org>
| * sandbox: Update mtest to fix crashesSimon Glass2013-02-28-45/+63
| | | | | | | | | | | | | | Use map_sysmem() in the memory tester so that it works as expected on sandbox. Signed-off-by: Simon Glass <sjg@chromium.org>
| * Move CONFIG_SYS_MEMTEST_SCRATCH #ifdef to top of fileSimon Glass2013-02-28-4/+4
| | | | | | | | | | | | | | This config effectively has a default value of 0, so add this setting at the top of the code to remove an #ifdef in the C function. Signed-off-by: Simon Glass <sjg@chromium.org>
| * sandbox: config: Enable hash functions and mtestSimon Glass2013-02-28-2/+7
| | | | | | | | | | | | | | | | Enable the hash command and sha1/256 hashing for sandbox. Also use a better address for memory testing (since the existing one is set up for linux host memory space). Signed-off-by: Simon Glass <sjg@chromium.org>
| * Roll crc32 into hash infrastructureSimon Glass2013-02-28-107/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the CRC32 algorithm to the list of available hashes, and make the crc32 command use hash_command(). Add a new crc32_wd_buf() to make this possible, which puts its result in a buffer rather than returning it as a 32-bit value. Note: For some boards the hash command is not enabled, neither are sha1, sha256 or the verify option. In this case the full hash implementation adds about 500 bytes of overhead. So as a special case, we use #ifdef to select very simple bahaviour in that case. The justification for this is that it is currently a very common case (virtually all boards enable crc32 but only some enable more advanced features). Signed-off-by: Simon Glass <sjg@chromium.org>
| * hash: Add a flag to support saving hashes in the environmentSimon Glass2013-02-28-26/+66
| | | | | | | | | | | | | | | | | | Some hashing commands permit saving the hash in an environment variable, and verifying a hash from there. But the crc32 command does not support this. In order to permit crc32 to use the generic hashing infrastructure, add a flag to select which behaviour to use. Signed-off-by: Simon Glass <sjg@chromium.org>
| * image: Use crc header file instead of C prototypesSimon Glass2013-02-28-2/+2
| | | | | | | | | | | | We have an existing header which the crc32 definitions, so use it. Signed-off-by: Simon Glass <sjg@chromium.org>
| * net: Use new numeric setenv functionsSimon Glass2013-02-28-9/+3
| | | | | | | | | | | | Use setenv_ulong(), setenv_hex() and setenv_addr() in net/ Signed-off-by: Simon Glass <sjg@chromium.org>
| * fs: Use new numeric setenv functionsSimon Glass2013-02-28-6/+2
| | | | | | | | | | | | Use setenv_ulong(), setenv_hex() and setenv_addr() in fs/ Signed-off-by: Simon Glass <sjg@chromium.org>
| * common: Use new numeric setenv functionsSimon Glass2013-02-28-71/+48
| | | | | | | | | | | | Use setenv_ulong(), setenv_hex() and setenv_addr() in common/ Signed-off-by: Simon Glass <sjg@chromium.org>
| * Update set_working_fdt_addr() to use setenv_addr()Simon Glass2013-02-28-14/+19
| | | | | | | | | | | | | | We might as well use this common function instead of repeating the same code. Signed-off-by: Simon Glass <sjg@chromium.org>
| * Reduce casting in mtestSimon Glass2013-02-28-12/+18
| | | | | | | | | | | | | | | | Use a ulong for the command arguments, and only cast to an address when needed. This fixes warnings in sandbox where pointers are typically 64 bits long. Signed-off-by: Simon Glass <sjg@chromium.org>
| * Bring mtest putc() into common codeSimon Glass2013-02-28-23/+9
| | | | | | | | | | | | | | If we get a Ctrl-C abort, we always print a newline. Move this repeated code out of the functions and into a single place in the caller. Signed-off-by: Simon Glass <sjg@chromium.org>
| * Fix mtest indentingSimon Glass2013-02-28-161/+161
| | | | | | | | | | | | Some of the inner loops are not indented correctly. Fix this. Signed-off-by: Simon Glass <sjg@chromium.org>
| * Use common mtest iteration countingSimon Glass2013-02-28-64/+59
| | | | | | | | | | | | | | The iteration code is the same for each version of the memory test, so pull it out into the common function. Signed-off-by: Simon Glass <sjg@chromium.org>
| * Split out the memory tests into separate functionsSimon Glass2013-02-28-101/+116
| | | | | | | | | | | | | | | | Half of the code is currently hidden behind an #ifdef. Move the two memory tests into their own functions and use the compiler to eliminate the unused code. Signed-off-by: Simon Glass <sjg@chromium.org>
| * sandbox: Change memory commands to use map_physmemSimon Glass2013-02-28-43/+79
| | | | | | | | | | | | | | Sandbox wants to support commands which use memory. The map_sysmen() call provides this feature, so use this in the memory commands. Signed-off-by: Simon Glass <sjg@chromium.org>
| * sandbox: Add un/map_sysmen() to deal with sandbox's ram_bufSimon Glass2013-02-28-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sandbox doesn't actually provide U-Boot access to the machine's physical memory. Instead it provides a RAM buffer of configurable size, and all memory accesses are within that buffer. Sandbox memory starts at 0 and is CONFIG_DRAM_SIZE bytes in size. Allowing access outside this buffer might produce unpredictable results in the event of an error, and would expose the host machine's memory architecture to the sandbox U-Boot. Most U-Boot functions assume that they can just access memory at given address. For sandbox this is not true. Add a map_sysmem() call which converts a U-Boot address to a system address. In most cases this is a NOP, but for sandbox it returns a pointer to that memory inside the RAM buffer. To get a U-Boot feature to work correctly within sandbox, you should call map_sysmem() to get a pointer to the address, and then use that address for any U-Boot memory accesses. Signed-off-by: Simon Glass <sjg@chromium.org>
| * sandbox: Improve sandbox serial port keyboard interfaceTaylor Hutt2013-02-28-6/+56
| | | | | | | | | | | | | | | | | | | | | | Implements the tstc() interface for the serial driver. Multiplexing the console between the serial port and a keyboard uses a polling method of checking if characters are available; this means that the serial console must be non-blocking when attempting to read characters. Signed-off-by: Taylor Hutt <thutt@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * Update print_buffer() to use constSimon Glass2013-02-28-2/+4
| | | | | | | | | | | | | | | | The buffer cannot be changed by this function, so change the buffer pointer to a const. This allows callers with const pointer to use the function without a cast. Signed-off-by: Simon Glass <sjg@chromium.org>
| * Tidy up error checking and fix bug in hash commandSimon Glass2013-02-28-0/+4
| | | | | | | | | | | | | | | | | | There are two problems: 1. The argument count needs to be checked before argv is used 2. When verify is not enabled, we need to define a constant zero value Signed-off-by: Simon Glass <sjg@chromium.org>
| * sandbox: fix compiler warningAllen Martin2013-02-28-0/+3
| | | | | | | | | | | | | | | | | | | | Add back return statement to fix compiler warning about control flow reaching end of non void function that was introduced with: e05e5de arm: move C runtime setup code in crt0.S Signed-off-by: Allen Martin <amartin@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
* | Merge branch 'master' of git://git.denx.de/u-boot-blackfinTom Rini2013-03-04-393/+3589
|\ \
| * | blackfin: bf60x: add resume from hibernateSteven Miao2013-03-04-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add Bf60x resume from hibernate support Signed-off-by: Steven Miao <realmz6@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
| * | blackfin: bf60x: add hw watchdog supportBob Liu2013-03-04-0/+16
| | | | | | | | | | | | | | | | | | Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
| * | blackfin: add bf6xx spi driverScott Jiang2013-03-04-0/+549
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Spi driver for bf60x is different from old one, so implement a new driver for it. Signed-off-by: Scott Jiang <scott.jiang.linux@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
| * | blackfin: bf60x: add rsi/sdh supportSonic Zhang2013-03-04-18/+88
| | | | | | | | | | | | | | | | | | | | | | | | Add rsi/sdh support for bf60x. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
| * | blackfin: bf60x: add board and headers files to support bf609Sonic Zhang2013-03-04-4/+291
| | | | | | | | | | | | | | | | | | | | | | | | Board and config header files for bf609-ezkit support. Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
| * | blackfin: bf60x: add gpio supportBob Liu2013-03-04-8/+181
| | | | | | | | | | | | | | | | | | Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
| * | blackfin: bf60x: support big cplb pageBob Liu2013-03-04-6/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | BF60x support 16K, 64K, 16M and 64M cplb pages, this patch add support for them. So that bf609-ezkit can use it's 128M memory. Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
| * | blackfin: bf60x: add dma supportBob Liu2013-03-04-76/+156
| | | | | | | | | | | | | | | | | | | | | | | | Add dma support for bf60x. Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
| * | blackfin: bf60x: add serial supportSonic Zhang2013-03-04-238/+642
| | | | | | | | | | | | | | | | | | | | | | | | Add serial for bf60x. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
| * | blackfin: bf60x: Port blackfin core architecture code to boot on bf60x.Sonic Zhang2013-03-04-42/+486
| | | | | | | | | | | | | | | | | | | | | | | | | | | Set up clocks, DDR controller, Nor flash controller, reboot, serial port. Add new SPI boot modes. Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
| * | blackfin: bf60x: new processor header filesBob Liu2013-03-04-1/+1090
| | | | | | | | | | | | | | | | | | | | | | | | Add header files for blackfin new processor bf60x. Signed-off-by: Bob Liu <lliubbo@gmail.com> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
* | | SPL: Change description for spl commandStefano Babic2013-03-01-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | Add a more descriptive text to the help of the spl command. Signed-off-by: Stefano Babic <sbabic@denx.de> Reviewed-by: Tom Rini <trini@ti.com>
* | | OMAP3: drop CONFIG_SPL_OS_BOOT_KEY and use local defineStefano Babic2013-03-01-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_SPL_OS_BOOT_KEY is used only in board files. It is not required to have a general CONFIG_ option. Rename it and define it in board directory. Signed-off-by: Stefano Babic <sbabic@denx.de> Reviewed-by: Tom Rini <trini@ti.com>
* | | Add README for the "Falcon" modeStefano Babic2013-03-01-0/+209
| |/ |/| | | | | | | | | | | | | Simple howto to add support to a board for booting the kernel from SPL ("Falcon" mode). Signed-off-by: Stefano Babic <sbabic@denx.de> Reviewed-by: Tom Rini <trini@ti.com>
* | common/env_nand.c: calculate crc only when readenv was OKPhil Sutter2013-02-22-2/+4
| | | | | | | | | | | | | | | | Calculating the checksum of incompletely read data is useless. Signed-off-by: Phil Sutter <phil.sutter@viprinet.com> [scottwood@freescale.com: minor formatting fix] Signed-off-by: Scott Wood <scottwood@freescale.com>
* | env_nand.c: clarify log messages when env reading failsPhil Sutter2013-02-22-4/+8
| | | | | | | | | | | | | | | | | | The single message is misleading, since there is no equivalent success note when reading the other copy succeeds. Instead, warn if one of the redundant copies could not be loaded and emphasise on the error when reading both fails. Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
* | mtd: nand: Check if NAND is locked tight before lock cmdsJoe Hershberger2013-02-22-1/+18
| | | | | | | | | | | | | | | | | | If the NAND is locked tight, commands such as lock and unlock will not work, but the NAND chip may not report an error. Check the lock tight status before attempting such operations so that an error status can be reported if we know the operation will not succeed. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | nand: fix nand read.option parsingHarvey Chapman2013-02-22-1/+1
| | | | | | | | | | | | | | "nand read.part addr off size" would be treated as "nand read.raw addr off 1" It now fails as intended stating "Unknown nand command suffix '.part'" Signed-off-by: Harvey Chapman <hchapman@3gfp.com>