project/bcm63xx/u-boot.git
11 years agompc512x: Adjust the DRAM init sequence to the datasheet spec
Anatolij Gustschin [Fri, 8 Feb 2013 00:03:49 +0000 (00:03 +0000)]
mpc512x: Adjust the DRAM init sequence to the datasheet spec

Do maintain a 200 usecs period of stable power and clock before
asserting the CKE signal and sending commands, have at least 200
DRAM clock cycles pass after initialization before data access.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
11 years agompc512x: add ifm ac14xx board
Anatolij Gustschin [Fri, 8 Feb 2013 00:03:48 +0000 (00:03 +0000)]
mpc512x: add ifm ac14xx board

Add new mpc5121e based ac14xx board and a new pinmux config
function for setting individual pinmux bit groups. This
function is used in ac14xx board code.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
11 years agompc512x: allow configuring board specific IPS divider
Anatolij Gustschin [Fri, 8 Feb 2013 00:03:47 +0000 (00:03 +0000)]
mpc512x: allow configuring board specific IPS divider

Boards may define own IPS divider in the config file if
the default IPS divider doesn't fit their needs.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
11 years agompc512x: optionally configure DIU, LPC and NFC deviders
Anatolij Gustschin [Fri, 8 Feb 2013 00:03:46 +0000 (00:03 +0000)]
mpc512x: optionally configure DIU, LPC and NFC deviders

If a board config file defines DIU, LPC and NFC deviders,
configure them in the SCFR1 register.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
11 years agompc512x: use common code for clock setting for all mpc512x boards
Anatolij Gustschin [Fri, 8 Feb 2013 00:03:45 +0000 (00:03 +0000)]
mpc512x: use common code for clock setting for all mpc512x boards

Only define enabled clocks in the config file and enable
the clocks in common code.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Reinhard Arlt <reinhard.arlt@esd-electronics.com>
Cc: Wolfgang Denk <wd@denx.de>
11 years agompc512x: use common code for CSx configuration
Anatolij Gustschin [Fri, 8 Feb 2013 00:03:44 +0000 (00:03 +0000)]
mpc512x: use common code for CSx configuration

Remove CSx configurations from board code and only define
required CSx macros in the board config file to configure
chip select windows and parameters.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Cc: Reinhard Arlt <reinhard.arlt@esd-electronics.com>
Cc: Wolfgang Denk <wd@denx.de>
11 years agompc512x: add common LAW and Chip Select configuration
Anatolij Gustschin [Fri, 8 Feb 2013 00:03:43 +0000 (00:03 +0000)]
mpc512x: add common LAW and Chip Select configuration

Currently each mpc512x board has its own LAW and CS config code,
we should avoid this code duplication. Allow all boards to use
common code by only defining LAW and CS config macros like
CONFIG_SYS_CSx_START, CONFIG_SYS_CSx_SIZE and CONFIG_SYS_CSx_CFG.

Also allow common configuration of additional CS parameters by
CONFIG_SYS_CS_ALETIMING, CONFIG_SYS_CS_BURST, CONFIG_SYS_CS_DEADCYCLE
and CONFIG_SYS_CS_HOLDCYCLE options.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
11 years agompc5200: a4m2k: Implement custom "dynamic" watchdog support
Stefan Roese [Thu, 7 Feb 2013 02:10:28 +0000 (02:10 +0000)]
mpc5200: a4m2k: Implement custom "dynamic" watchdog support

This patch adds a custom U-Boot command "wdogtoggle" which enables the
external hardware watchdog toggling via an GPIO pin on the a4m2k
board. After issuing this commands, the watchdog will be serviced
by U-Boot so that the user can use all U-Boot commands from the
prompt.

Signed-off-by: Stefan Roese <sr@denx.de>
11 years agompc5200: Add a4m2k board port
Stefan Roese [Thu, 7 Feb 2013 02:10:11 +0000 (02:10 +0000)]
mpc5200: Add a4m2k board port

This patch adds the a4m2k MPC5200B board port. Its a derivate of
the a3m071 board with only minor changes.

Additionally this patch includes some clean-up changes:
- Remove I2C support from a3m071 as its unused
- Fix/enhance default env variables
- Fix some comments
- Add newly introduced CONFIG_SPL_TARGET to automatically build
  "u-boot-img.bin"
- Fix dtb patching in READ desciption for SPL Linux booting:
  "fdt chosen" needs to get called to patch/create the chosen node.
- Add missing call to spl_board_init():
  Define CONFIG_SPL_BOARD_INIT so that spl_board_init() will get
  called in the SPL version.

Signed-off-by: Stefan Roese <sr@denx.de>
11 years agompc5200: spl_boot.c: Change init oder to first enable printf
Stefan Roese [Thu, 6 Dec 2012 03:41:57 +0000 (03:41 +0000)]
mpc5200: spl_boot.c: Change init oder to first enable printf

On MPC5200, the initial RAM (and gd) is located in the internal
SRAM. So we can actually call the preloader console init code
before calling initdram(). This makes serial output (printf)
available very early, even before SDRAM init, which has been
an U-Boot priciple from day 1.

Signed-off-by: Stefan Roese <sr@denx.de>
11 years agox86: Enable CONFIG_OF_CONTROL on coreboot
Simon Glass [Thu, 28 Feb 2013 19:26:18 +0000 (19:26 +0000)]
x86: Enable CONFIG_OF_CONTROL on coreboot

Make use of a device tree on coreboot boards, and set the default
to link.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: Adjust link device tree include file
Simon Glass [Thu, 28 Feb 2013 19:26:17 +0000 (19:26 +0000)]
x86: Adjust link device tree include file

This is currently set to coreboot.dtsi, but we cannot support this on
old device tree compilers (dtc <= 1.3), so adjust to use ARCH_CPU_DTS
to let the Makefile preprocessor sort this out.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: Add error checking to x86 relocation code
Simon Glass [Thu, 28 Feb 2013 19:26:16 +0000 (19:26 +0000)]
x86: Add error checking to x86 relocation code

This does not actually change normal behaviour, but adds a check that
should detect corruption of relocation data (e.g. by using BSS data
prior to relocation).

Also add additional debugging output when enabled.

During this investigation, two situations have been seen:
1. calculate_relocation_address():
uintptr_t size = (uintptr_t)&__bss_end - (uintptr_t)&__text_start;

turns into
     111166f: b8 83 c4 17 01        mov    $0x117c483,%eax

whih is beyond the end of bss:

0117b484 g       .bss 00000000 __bss_end

Somehow the __bss_end here is 255 bytes ahead.

2. do_elf_reloc_fixups():

uintptr_t size = (uintptr_t)&__bss_end - (uintptr_t)&__text_start;

Here the __text_start is 0 in the file:

 1111d9f: bb a0 e0 13 01        mov    $0x113e0a0,%ebx
1111da4: 81 ef 00 00 00 00     sub    $0x0,%edi

As it happens, both of these are in pre-relocation code.

For these reasons we silent check and ignore bad relocations.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: Support relocation of FDT on start-up
Simon Glass [Thu, 28 Feb 2013 19:26:15 +0000 (19:26 +0000)]
x86: Support relocation of FDT on start-up

With CONFIG_OF_CONTROL we may have an FDT in the BSS region. Relocate
it up with the rest of U-Boot to keep the rest of memory free.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: Rearrange the output input to remove BSS
Simon Glass [Thu, 28 Feb 2013 19:26:14 +0000 (19:26 +0000)]
x86: Rearrange the output input to remove BSS

At present BSS data is including in the image, which wastes binary space.
Remove it by rearranging the sections so that BSS is last.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: Add an __end symbol to signal the end of the U-Boot binary
Simon Glass [Thu, 28 Feb 2013 19:26:13 +0000 (19:26 +0000)]
x86: Add an __end symbol to signal the end of the U-Boot binary

With this symbol we can easy append something (e.g. an FDT) to the U-Boot
binary and access it from within U-Boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: Permit bootstage and timer data to be used prior to relocation
Simon Glass [Thu, 28 Feb 2013 19:26:12 +0000 (19:26 +0000)]
x86: Permit bootstage and timer data to be used prior to relocation

It is useful to be able to access the timer before U-Boot has relocated
so that we can fully support bootstage.

Add new global_data members to support this.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: Add basic cache operations
Simon Glass [Thu, 28 Feb 2013 19:26:11 +0000 (19:26 +0000)]
x86: Add basic cache operations

At present most x86 cache operations are undefined. Add a basic
implementation for these.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agox86: Add function to get top of usable ram
Simon Glass [Thu, 28 Feb 2013 19:26:10 +0000 (19:26 +0000)]
x86: Add function to get top of usable ram

The memory layout calculations are done in calculate_relocation_address(),
and coreboot has its own version of this function. But in fact all we
really need is to set the top of usable RAM, and then the base version
will work as is.

So instead of allowing the whole calculate_relocation_address() function
to be replaced, create board_get_usable_ram_top() which can be used by
a board to specify the top of the area where U-Boot relocations to.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agoPrepare v2013.04-rc1
Tom Rini [Mon, 4 Mar 2013 21:29:17 +0000 (16:29 -0500)]
Prepare v2013.04-rc1

Signed-off-by: Tom Rini <trini@ti.com>
11 years agokerneldoc: Add Sonic Zhang to alias bfin in git-mailrc.
Sonic Zhang [Thu, 28 Feb 2013 20:21:13 +0000 (20:21 +0000)]
kerneldoc: Add Sonic Zhang to alias bfin in git-mailrc.

Signed-off-by: Sonic Zhang <sonic.adi@gmail.com>
11 years agobootm: fix conditional compilation for bootm ramdisk subcommand
Daniel Schwierzeck [Tue, 26 Feb 2013 04:54:19 +0000 (04:54 +0000)]
bootm: fix conditional compilation for bootm ramdisk subcommand

All code related to the bootm ramdisk subcommand is conditionally
enabled by CONFIG_SYS_BOOT_RAMDISK_HIGH except for the help message.
Replace the CONFIG_ARCH defines by CONFIG_SYS_BOOT_RAMDISK_HIGH
to fix this.

Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
11 years agoenv: Avoid clobbering an edited variable on ctrl-c
Joe Hershberger [Fri, 8 Feb 2013 10:12:34 +0000 (10:12 +0000)]
env: Avoid clobbering an edited variable on ctrl-c

If readline says there was an error, don't write to the variable!

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
11 years agoubifs: Allow ubifsmount volume reference by number
Joe Hershberger [Thu, 1 Nov 2012 16:54:18 +0000 (16:54 +0000)]
ubifs: Allow ubifsmount volume reference by number

UBI can mount volumes by name or number  The current code forces you
to name the volume by prepending every name with "ubi:".

>From fs/ubifs/super.c
 * There are several ways to specify UBI volumes when mounting UBIFS:
 * o ubiX_Y    - UBI device number X, volume Y;
 * o ubiY      - UBI device number 0, volume Y;
 * o ubiX:NAME - mount UBI device X, volume with name NAME;
 * o ubi:NAME  - mount UBI device 0, volume with name NAME.

Now any name passed in any of the above forms are allowed.

Also update the configs that referenced ubifsmount.

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
11 years agosandbox: config: Enable sandbox command
Simon Glass [Wed, 26 Dec 2012 09:53:38 +0000 (09:53 +0000)]
sandbox: config: Enable sandbox command

The 'sb' command allows loading files from the host, and listing
directories.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agosandbox: Enable ext4 and fat filesystems
Simon Glass [Wed, 26 Dec 2012 09:53:37 +0000 (09:53 +0000)]
sandbox: Enable ext4 and fat filesystems

These are useful for build-testing code, at least.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agosandbox: Add 'sb' command to access filesystem features
Simon Glass [Wed, 26 Dec 2012 09:53:36 +0000 (09:53 +0000)]
sandbox: Add 'sb' command to access filesystem features

The new 'sb' command is intended to deal with sandbox-specific features
that have no parallel in other archs. This commit adds two sub-commands
to list a directory and read a file from the host filesystem.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agosandbox: Add host filesystem
Simon Glass [Wed, 26 Dec 2012 09:53:35 +0000 (09:53 +0000)]
sandbox: Add host filesystem

This allows reading of files from the host filesystem in sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@ti.com>
11 years agosandbox: Add a way of obtaining directory listings
Simon Glass [Wed, 26 Dec 2012 09:53:34 +0000 (09:53 +0000)]
sandbox: Add a way of obtaining directory listings

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>
11 years agofs: Move ls and read methods into ext4, fat
Simon Glass [Wed, 26 Dec 2012 09:53:33 +0000 (09:53 +0000)]
fs: Move ls and read methods into ext4, fat

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>
11 years agofs: Use map_sysmem() on read
Simon Glass [Wed, 26 Dec 2012 09:53:32 +0000 (09:53 +0000)]
fs: Use map_sysmem() on read

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>
11 years agofs: Tell probe functions where to put their results
Simon Glass [Wed, 26 Dec 2012 09:53:31 +0000 (09:53 +0000)]
fs: Tell probe functions where to put their results

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>
11 years agofs: Use filesystem methods instead of switch()
Simon Glass [Wed, 26 Dec 2012 09:53:30 +0000 (09:53 +0000)]
fs: Use filesystem methods instead of switch()

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>
11 years agofs: Fully populate the filesystem method struct
Simon Glass [Wed, 26 Dec 2012 09:53:29 +0000 (09:53 +0000)]
fs: Fully populate the filesystem method struct

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>
11 years agoext4: Split write support into its own file
Simon Glass [Wed, 26 Dec 2012 09:53:28 +0000 (09:53 +0000)]
ext4: Split write support into its own file

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>
11 years agoMerge branch 'mem' of git://git.denx.de/u-boot-x86
Tom Rini [Mon, 4 Mar 2013 16:14:27 +0000 (11:14 -0500)]
Merge branch 'mem' of git://git.denx.de/u-boot-x86

11 years agoMerge branch 'master' of git://git.denx.de/u-boot-blackfin
Tom Rini [Mon, 4 Mar 2013 14:44:42 +0000 (09:44 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-blackfin

11 years agoblackfin: bf60x: add resume from hibernate
Steven Miao [Sat, 31 Mar 2012 08:01:50 +0000 (16:01 +0800)]
blackfin: bf60x: add resume from hibernate

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>
11 years agoblackfin: bf60x: add hw watchdog support
Bob Liu [Tue, 27 Dec 2011 07:05:53 +0000 (15:05 +0800)]
blackfin: bf60x: add hw watchdog 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>
11 years agoblackfin: add bf6xx spi driver
Scott Jiang [Tue, 29 Nov 2011 23:03:26 +0000 (18:03 -0500)]
blackfin: add bf6xx spi driver

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>
11 years agoblackfin: bf60x: add rsi/sdh support
Sonic Zhang [Thu, 16 Aug 2012 03:26:00 +0000 (11:26 +0800)]
blackfin: bf60x: add rsi/sdh support

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>
11 years agoblackfin: bf60x: add board and headers files to support bf609
Sonic Zhang [Thu, 16 Aug 2012 04:08:31 +0000 (12:08 +0800)]
blackfin: bf60x: add board and headers files to support bf609

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>
11 years agoblackfin: bf60x: add gpio support
Bob Liu [Thu, 16 Aug 2012 03:40:30 +0000 (11:40 +0800)]
blackfin: bf60x: add gpio 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>
11 years agoblackfin: bf60x: support big cplb page
Bob Liu [Tue, 25 Oct 2011 10:07:58 +0000 (18:07 +0800)]
blackfin: bf60x: support big cplb page

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>
11 years agoblackfin: bf60x: add dma support
Bob Liu [Thu, 16 Aug 2012 03:19:08 +0000 (11:19 +0800)]
blackfin: bf60x: add dma support

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>
11 years agoblackfin: bf60x: add serial support
Sonic Zhang [Thu, 16 Aug 2012 03:16:02 +0000 (11:16 +0800)]
blackfin: bf60x: add serial support

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>
11 years agoblackfin: bf60x: Port blackfin core architecture code to boot on bf60x.
Sonic Zhang [Thu, 16 Aug 2012 03:56:14 +0000 (11:56 +0800)]
blackfin: bf60x: Port blackfin core architecture code to boot on bf60x.

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>
11 years agoblackfin: bf60x: new processor header files
Bob Liu [Thu, 16 Aug 2012 03:10:41 +0000 (11:10 +0800)]
blackfin: bf60x: new processor header files

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>
11 years agoSPL: Change description for spl command
Stefano Babic [Sat, 23 Feb 2013 00:53:27 +0000 (00:53 +0000)]
SPL: Change description for spl command

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>
11 years agoOMAP3: drop CONFIG_SPL_OS_BOOT_KEY and use local define
Stefano Babic [Sat, 23 Feb 2013 00:53:26 +0000 (00:53 +0000)]
OMAP3: drop CONFIG_SPL_OS_BOOT_KEY and use local define

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>
11 years agoAdd README for the "Falcon" mode
Stefano Babic [Sat, 23 Feb 2013 00:53:25 +0000 (00:53 +0000)]
Add README for the "Falcon" mode

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>
11 years agohash: Use lower case for hash algorithm names
Simon Glass [Sun, 24 Feb 2013 17:33:32 +0000 (17:33 +0000)]
hash: Use lower case for hash algorithm names

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>
11 years agosandbox: Allow hash functions to work correctly
Simon Glass [Sun, 24 Feb 2013 17:33:31 +0000 (17:33 +0000)]
sandbox: Allow hash functions to work correctly

Use map_sysmem() so that hashing is possible on sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agosandbox: Update mtest to fix crashes
Simon Glass [Thu, 28 Feb 2013 17:47:14 +0000 (17:47 +0000)]
sandbox: Update mtest to fix crashes

Use map_sysmem() in the memory tester so that it works as expected on
sandbox.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agoMove CONFIG_SYS_MEMTEST_SCRATCH #ifdef to top of file
Simon Glass [Sun, 24 Feb 2013 17:33:29 +0000 (17:33 +0000)]
Move CONFIG_SYS_MEMTEST_SCRATCH #ifdef to top of file

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>
11 years agosandbox: config: Enable hash functions and mtest
Simon Glass [Sun, 24 Feb 2013 20:29:23 +0000 (20:29 +0000)]
sandbox: config: Enable hash functions and mtest

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>
11 years agoRoll crc32 into hash infrastructure
Simon Glass [Sun, 24 Feb 2013 20:30:22 +0000 (20:30 +0000)]
Roll crc32 into hash infrastructure

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>
11 years agohash: Add a flag to support saving hashes in the environment
Simon Glass [Sun, 24 Feb 2013 17:33:26 +0000 (17:33 +0000)]
hash: Add a flag to support saving hashes in the environment

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>
11 years agoimage: Use crc header file instead of C prototypes
Simon Glass [Sun, 24 Feb 2013 17:33:25 +0000 (17:33 +0000)]
image: Use crc header file instead of C prototypes

We have an existing header which the crc32 definitions, so use it.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agonet: Use new numeric setenv functions
Simon Glass [Sun, 24 Feb 2013 17:33:24 +0000 (17:33 +0000)]
net: Use new numeric setenv functions

Use setenv_ulong(), setenv_hex() and setenv_addr() in net/

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agofs: Use new numeric setenv functions
Simon Glass [Sun, 24 Feb 2013 17:33:23 +0000 (17:33 +0000)]
fs: Use new numeric setenv functions

Use setenv_ulong(), setenv_hex() and setenv_addr() in fs/

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agocommon: Use new numeric setenv functions
Simon Glass [Sun, 24 Feb 2013 17:33:22 +0000 (17:33 +0000)]
common: Use new numeric setenv functions

Use setenv_ulong(), setenv_hex() and setenv_addr() in common/

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agoUpdate set_working_fdt_addr() to use setenv_addr()
Simon Glass [Sun, 24 Feb 2013 17:33:21 +0000 (17:33 +0000)]
Update set_working_fdt_addr() to use setenv_addr()

We might as well use this common function instead of repeating the same
code.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agoReduce casting in mtest
Simon Glass [Sun, 24 Feb 2013 17:33:20 +0000 (17:33 +0000)]
Reduce casting in mtest

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>
11 years agoBring mtest putc() into common code
Simon Glass [Sun, 24 Feb 2013 17:33:19 +0000 (17:33 +0000)]
Bring mtest putc() into common code

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>
11 years agoFix mtest indenting
Simon Glass [Sun, 24 Feb 2013 17:33:18 +0000 (17:33 +0000)]
Fix mtest indenting

Some of the inner loops are not indented correctly. Fix this.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agoUse common mtest iteration counting
Simon Glass [Sun, 24 Feb 2013 17:33:17 +0000 (17:33 +0000)]
Use common mtest iteration counting

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>
11 years agoSplit out the memory tests into separate functions
Simon Glass [Sun, 24 Feb 2013 17:33:16 +0000 (17:33 +0000)]
Split out the memory tests into separate functions

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>
11 years agosandbox: Change memory commands to use map_physmem
Simon Glass [Sun, 24 Feb 2013 17:33:15 +0000 (17:33 +0000)]
sandbox: Change memory commands to use map_physmem

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>
11 years agosandbox: Add un/map_sysmen() to deal with sandbox's ram_buf
Simon Glass [Sun, 24 Feb 2013 17:33:14 +0000 (17:33 +0000)]
sandbox: Add un/map_sysmen() to deal with sandbox's ram_buf

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>
11 years agosandbox: Improve sandbox serial port keyboard interface
Taylor Hutt [Sun, 24 Feb 2013 17:33:13 +0000 (17:33 +0000)]
sandbox: Improve sandbox serial port keyboard interface

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>
11 years agoUpdate print_buffer() to use const
Simon Glass [Sun, 24 Feb 2013 17:33:12 +0000 (17:33 +0000)]
Update print_buffer() to use const

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>
11 years agoTidy up error checking and fix bug in hash command
Simon Glass [Sun, 24 Feb 2013 17:33:11 +0000 (17:33 +0000)]
Tidy up error checking and fix bug in hash command

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>
11 years agosandbox: fix compiler warning
Allen Martin [Tue, 22 Jan 2013 13:11:21 +0000 (13:11 +0000)]
sandbox: fix compiler warning

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>
11 years agocommon/env_nand.c: calculate crc only when readenv was OK
Phil Sutter [Thu, 21 Feb 2013 17:21:56 +0000 (18:21 +0100)]
common/env_nand.c: calculate crc only when readenv was OK

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>
11 years agoenv_nand.c: clarify log messages when env reading fails
Phil Sutter [Thu, 21 Feb 2013 17:21:55 +0000 (18:21 +0100)]
env_nand.c: clarify log messages when env reading fails

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>
11 years agomtd: nand: Check if NAND is locked tight before lock cmds
Joe Hershberger [Fri, 8 Feb 2013 09:27:19 +0000 (09:27 +0000)]
mtd: nand: Check if NAND is locked tight before lock cmds

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>
11 years agonand: fix nand read.option parsing
Harvey Chapman [Thu, 7 Feb 2013 11:34:44 +0000 (11:34 +0000)]
nand: fix nand read.option parsing

"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>
11 years agoimls: Add support to list images in NAND device
Vipin Kumar [Sun, 16 Dec 2012 22:32:48 +0000 (22:32 +0000)]
imls: Add support to list images in NAND device

This patch adds support to list images in NAND flash through imls

Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
11 years agoMAKEALL: add support for per architecture toolchains
Allen Martin [Tue, 29 Jan 2013 14:34:58 +0000 (14:34 +0000)]
MAKEALL: add support for per architecture toolchains

Add support for per architecture CROSS_COMPILE toolchain definitions
via CROSS_COMPILE_ARCH where "ARCH" is any of the supported u-boot
architectures.  This allows building every supported u-boot board in a
single pass of MAKEALL.

Signed-off-by: Allen Martin <amartin@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Stephen Warren <swarren@wwwdotorg.org>
11 years agogpt: fix partion size limit
Piotr Wilczek [Sun, 27 Jan 2013 22:59:25 +0000 (22:59 +0000)]
gpt: fix partion size limit

Currently, in gpt command, partion size is converted from string
to unsigned long type using 'ustrtol' function. That type limits
the partition size to 4GB.

This patch changes the conversion function to 'ustrtoll' to return
unsigned long long type.

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
11 years agomac: Fix the condition check for setting the MAC from the EEPROM
Holger Hans Peter Freyther [Thu, 7 Feb 2013 23:41:03 +0000 (23:41 +0000)]
mac: Fix the condition check for setting the MAC from the EEPROM

The issue got introduced in a cleanup by Manjunath Hadli in commit
826e99136e2bce61f3f6572e32d7aa724c116e6d. The eth_getenv_enetaddr_by_index
method will validate the MAC addr and if none is set in the environment
0 will be returned. Set the MAC from the eeprom if no valid address
is found in environment.

Signed-off-by: Holger Hans Peter Freyther <holger@freyther.de>
11 years agoled: The gpio_led.c code expects that LED state is from the enum
Holger Hans Peter Freyther [Thu, 7 Feb 2013 23:41:02 +0000 (23:41 +0000)]
led: The gpio_led.c code expects that LED state is from the enum

u-boot is not consistent if state should be 0|1 or of the enum, the
GPIO driver expects this to be one of the enum values. Update the
caller.

Signed-off-by: Holger Hans Peter Freyther <holger@freyther.de>
11 years agogpio: Build the da8xx_gpio code for the davinci644x device
Holger Hans Peter Freyther [Thu, 7 Feb 2013 23:41:01 +0000 (23:41 +0000)]
gpio: Build the da8xx_gpio code for the davinci644x device

The differences include the number of GPIOs and that one is
not required to set the pinmux on request.

Signed-off-by: Holger Hans Peter Freyther <holger@freyther.de>
11 years agocmd_elf: Fix broken bootvx command
Reinhard Arlt [Mon, 4 Feb 2013 09:37:11 +0000 (09:37 +0000)]
cmd_elf: Fix broken bootvx command

Fix broken bootvx command.

Signed-off-by: Reinhard Arlt <reinhard.arlt@esd.eu>
11 years agocmd_load.c: Add #endif comments to reduce confusion
Robert P. J. Day [Sun, 3 Feb 2013 05:46:13 +0000 (05:46 +0000)]
cmd_load.c: Add #endif comments to reduce confusion

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
11 years agocmd_mem.c: Fix some typoes, no functional changes
Robert P. J. Day [Sun, 3 Feb 2013 02:29:54 +0000 (02:29 +0000)]
cmd_mem.c: Fix some typoes, no functional changes

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
11 years agofw_env.config: Correct "fw_saveenv" to "fw_setenv".
Robert P. J. Day [Thu, 31 Jan 2013 02:06:40 +0000 (02:06 +0000)]
fw_env.config: Correct "fw_saveenv" to "fw_setenv".

Fix a comment in the fw_env.config file, no functional change.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
11 years agovsprintf: add ustrtoll function
Piotr Wilczek [Sun, 27 Jan 2013 22:59:24 +0000 (22:59 +0000)]
vsprintf: add ustrtoll function

Add 'ustrtoull' function to convert size from string (ex: 1GiB)
to unsigned long long type

Signed-off-by: Piotr Wilczek <p.wilczek@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
11 years agomalloc: make malloc_bin_reloc static
Gabor Juhos [Mon, 21 Jan 2013 21:10:38 +0000 (21:10 +0000)]
malloc: make malloc_bin_reloc static

On architectures where manual relocation
is needed, the 'malloc_bin_reloc' function
must be called after 'mem_malloc_init'.

Make the 'malloc_bin_reloc' function static
and call it directly from 'mem_malloc_init'
instead of calling that from board_init_{r,f}
functions of the affected architectures.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Wolfgang Denk <wd@denx.de>
Cc: Andreas Bießmann <andreas.devel@gmail.com>
Cc: Jason Jin <Jason.jin@freescale.com>
Cc: Macpaul Lin <macpaul@andestech.com>
Cc: Daniel Hellstrom <daniel@gaisler.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
11 years agoserial/ns16550: don't generate functions for undefined ports
Scott Wood [Fri, 18 Jan 2013 15:42:16 +0000 (15:42 +0000)]
serial/ns16550: don't generate functions for undefined ports

This saved 640 bytes on MPC8536DS (a board with two of the six
ports defined).

Signed-off-by: Scott Wood <scottwood@freescale.com>
11 years agoMerge branch 'master' of git://git.denx.de/u-boot-mpc83xx
Tom Rini [Mon, 18 Feb 2013 14:57:06 +0000 (09:57 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc83xx

11 years agonds32: Add a basic errno.h
Simon Glass [Sat, 5 Jan 2013 10:48:23 +0000 (10:48 +0000)]
nds32: Add a basic errno.h

This is available on other architectures, and nds32 will start to break
without it as code starts to use error numbers more.

Signed-off-by: Simon Glass <sjg@chromium.org>
11 years agopowerpc/83xx/km: drop uneeded dtt_bus environment var
Holger Brunck [Mon, 21 Jan 2013 03:55:28 +0000 (03:55 +0000)]
powerpc/83xx/km: drop uneeded dtt_bus environment var

There is no need for a environment variable to configure the dtt bus.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
11 years agopowerpc/83xx/km: remove uneeded CONFIG_MISC_INIT_R
Holger Brunck [Mon, 21 Jan 2013 03:55:27 +0000 (03:55 +0000)]
powerpc/83xx/km: remove uneeded CONFIG_MISC_INIT_R

Remove it from the processor specific headers. This is
already defined in the common header km83xx.h.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
11 years agopowerpc/83xx/km: add support for kmopti2 board
Holger Brunck [Mon, 21 Jan 2013 03:55:26 +0000 (03:55 +0000)]
powerpc/83xx/km: add support for kmopti2 board

This board is similar to TUXX1 but it has a different sized second
FPGA. Therefore the configuration for the third chipselect is different.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
11 years agopowerpc/83xx/km: cleanup tuxx1 support
Holger Brunck [Mon, 21 Jan 2013 03:55:25 +0000 (03:55 +0000)]
powerpc/83xx/km: cleanup tuxx1 support

This is a preparation for the upcoming kmopti2 board. This board has
also a second fpga on board which is different to the tuxx1 target. But we
want to use the same header file. So remove the config option
KM_DISABLE_APP2 and simply use the board names to distinguish the features.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
11 years agokm/common: add eccmode to kernel commandline
Holger Brunck [Mon, 21 Jan 2013 03:55:24 +0000 (03:55 +0000)]
km/common: add eccmode to kernel commandline

If CONFIG_NAND_ECC_BCH is chosen from in the board configuration we add
an ecc mode to the kernel commandline.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
11 years agopowerpc/83xx: use NAND_ECC_BCH for kmcoge5ne
Holger Brunck [Mon, 21 Jan 2013 03:55:23 +0000 (03:55 +0000)]
powerpc/83xx: use NAND_ECC_BCH for kmcoge5ne

Switch from 1-bit ecc to 4-bit ecc.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
11 years agokmeter1_nand: allow uasge of NAND_ECC_SOFT_BCH
Holger Brunck [Mon, 21 Jan 2013 03:55:22 +0000 (03:55 +0000)]
kmeter1_nand: allow uasge of NAND_ECC_SOFT_BCH

If CONFIG_NAND_ECC_BCH is set we use 4-bit error corretion code
instead of the 1-bit error correction code on the NAND device
within this driver.

Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Acked-by: Scott Wood <scottwood@freescale.com>