Simon Glass [Tue, 5 Mar 2013 14:39:40 +0000 (14:39 +0000)]
Introduce a basic initcall implementation
This library supports calling a list of functions one after the
other.
It is intended that we move to a more powerful initcall implementation
as proposed by Graeme Russ <graeme.russ@gmail.com>. For now, this allows
us to do the basics.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Tue, 5 Mar 2013 14:39:39 +0000 (14:39 +0000)]
Change stub example to use asm-generic/sections.h
We can use the declarations of __bss_start and _end from this header
instead of declaring them locally.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Tue, 5 Mar 2013 14:39:38 +0000 (14:39 +0000)]
arm: Use sections header to obtain link symbols
Include this header to get access to link symbols, which are otherwise
removed.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Tue, 5 Mar 2013 14:39:37 +0000 (14:39 +0000)]
Introduce generic link section.h symbol files
We create a separate header file for link symbols defined by the link
scripts. It is helpful to have these all in one place and try to
make them common across architectures. Since Linux already has a similar
file, we bring this in even though many of the symbols there are not
relevant to us.
Each architecture has its own asm/sections.h where symbols specifc to
that architecture can be added. For now everything except AVR32 just
includes the generic header.
One change is needed in arch/avr32/lib/board.c to make this conversion
work.
Reviewed-by: Tom Rini <trini@ti.com> (version 5)
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Thu, 14 Mar 2013 06:54:53 +0000 (06:54 +0000)]
Replace __bss_end__ with __bss_end
Note this is a tree-wide change affecting multiple architectures.
At present we use __bss_start, but mostly __bss_end__. This seems
inconsistent and in a number of places __bss_end is used instead.
Change to use __bss_end for the BSS end symbol throughout U-Boot. This
makes it possible to use the asm-generic/sections.h file on all
archs.
Signed-off-by: Simon Glass <sjg@chromium.org>
Simon Glass [Tue, 5 Mar 2013 14:39:35 +0000 (14:39 +0000)]
Introduce generic u-boot.h file
This file holds the board info structure. We need this to be generic
for the unified board series, so create a structure which contains
the basic fields required by the main architectures.
Signed-off-by: Simon Glass <sjg@chromium.org>
Rajeshwari Shinde [Tue, 19 Feb 2013 02:19:45 +0000 (02:19 +0000)]
I2C: S3C24X0: Bug fixes in i2c_transfer
This patch corrects the following issues
1) Write the correct M/T Stop value to I2CSTAT after i2c write.
According to the spec, after finish the data transmission, we should
write a M/T Stop (I2C_MODE_MT | I2C_TXRX_ENA) to I2CSTAT instead of
a M/R Stop (I2C_MODE_MR | I2C_TXRX_ENA).
2) Not split the write to I2CSTAT into 2 steps in i2c read.
According to the spec, we should write the combined M/R Start value to
I2CSTAT after setting the slave address to I2CDS
3) Fix the mistake of making an equality check to an assignment.
In the case of I2C write with the zero-length address, while tranfering the
data, it should be an equality check (==) instead of an assignment (=).
Signed-off-by: Tom Wai-Hong Tam <waihong@chromium.org>
Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
Rajeshwari Shinde [Mon, 18 Feb 2013 19:58:11 +0000 (19:58 +0000)]
I2C: S3C24X0: Remove the dead code
This revomes the code under #if 0 in the s3c24x0_i2c driver.
Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Rajeshwari Shinde <rajeshwari.s@samsung.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tom Rini [Tue, 12 Mar 2013 14:07:19 +0000 (10:07 -0400)]
cmd_mem.c: Fix warning when CONFIG_CMD_MEMTEST is not set
mem_test_quick and mem_test_alt functions are only called by
do_mem_mtest, so move them under the #ifdef
Signed-off-by: Tom Rini <trini@ti.com>
Joe Hershberger [Fri, 8 Feb 2013 10:28:00 +0000 (10:28 +0000)]
CONFIG_BOOTDELAY default should not affect runtime
Because the code that handles bootdelay is compiled in conditionally
based on the default value, you are restricted in the default,
regardless of what you want the runtime options to be.
Change the source to always check if any default is given so that other
values can be selected and used at runtime.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Barak Wasserstrom [Wed, 27 Feb 2013 08:48:41 +0000 (08:48 +0000)]
common/main: move set_working_fdt_addr to enable usage of $fdtaddr
When using $fdtaddr in $bootcmd and $bootcmd is automatically called,
$fdtaddr is yet not defined.
Signed-off-by: Barak Wasserstrom <wbarak@gmail.com>
Wolfgang Denk [Wed, 20 Feb 2013 04:53:16 +0000 (04:53 +0000)]
env: fix "env ask" command
The "env ask" traditionally uses a somewhat awkward syntax:
env ask name [message ...] [size]
So far, when a mesage was given, you always also had to enter a size.
If you forgot to do that, the command would terminate without any
indication of the problem.
To avoid incompatible changes of the interface, we now check the last
argument if it can be converted into a decimal number. If this is the
case, we assume it is a size; otherwise we treat it as part of the
message.
Also, add a space after the message fore easier reading,
and clean up help mesage.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Tom Rini [Thu, 21 Feb 2013 06:55:40 +0000 (06:55 +0000)]
cmd_fat.c: Note in fatread help about alignment requirements
When using the partial read feature of fatwrite the buffer we read into
can become unaligned not just due to initial location but the size of
our partial reads as well. Make this clear in the help text.
Signed-off-by: Tom Rini <trini@ti.com>
Lubomir Rintel [Sun, 10 Feb 2013 01:02:36 +0000 (01:02 +0000)]
env: Allow accessing non-mtd devices
In certain cases, memory device is present as flat file or block device (via
mmc or mtdblock layer). Do not attempt MTD operations against it.
Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Robert P. J. Day [Mon, 4 Feb 2013 13:57:15 +0000 (13:57 +0000)]
cmd_df.c: Delete this clearly unused source file.
Nothing appears to use or compile cmd_df.c anymore.
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Robert P. J. Day [Mon, 4 Feb 2013 13:51:10 +0000 (13:51 +0000)]
cmd_mtdparts.c: Correct "reseting" to "resetting" in error msgs
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Joe Hershberger [Wed, 27 Feb 2013 10:20:59 +0000 (10:20 +0000)]
Allow u-boot to be silent without forcing Linux to be
That's a bit presumptuous of you, u-boot!
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Robert P. J. Day [Wed, 27 Feb 2013 11:28:45 +0000 (11:28 +0000)]
Fix a couple typoes in tools/env/README
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Kim Phillips [Thu, 28 Feb 2013 12:53:52 +0000 (12:53 +0000)]
tools: update checkpatch to latest upstream version
i.e., from the linux kernel's commit
be987d9f80354e2e919926349282facd74992f90
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Kim Phillips [Thu, 28 Feb 2013 12:53:53 +0000 (12:53 +0000)]
tools: enable more checkpatch tests by default
without this, patches don't get checked for proper alignment,
and e.g., for spaces after a cast and/or before a semicolon.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Stephen Warren [Thu, 28 Feb 2013 15:05:34 +0000 (15:05 +0000)]
cmd_part: don't print cmd name twice in help
The core implementation of "help" already prints the command name before
the help text of a specific command. Remove it from part's own help text
to avoid it being printed twice:
Tegra114 (Dalmore) # help part
part - disk partition related commands
Usage:
part part uuid <interface> <dev>:<part>
- print partition UUID
...
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Andreas Bießmann [Thu, 7 Feb 2013 22:35:57 +0000 (22:35 +0000)]
MAKEALL: fix kill_children for BSD hosts
ps on BSD hosts (like OS X) do not provide the --no-headers switch nor
understand the AIX format descriptions. Unfortunately there seems no solution to
get the PIDs of children in a platfrom independent manner.
Therefore detect the OS and decide upon that which way to go.
This patch makes the MAKEALL script cleanly stoppable on bare OS X when using
the parallel builds of targets.
Additionally this patch removes double call to grep by a single call to sed for
GNU style child PID detection.
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Gray Remlin [Wed, 6 Feb 2013 10:59:38 +0000 (10:59 +0000)]
mvsata_ide.c: Correction of typo in comments
Signed-off-by: Gray Remlin <gryrmln@gmail.com>
Stefan Roese [Thu, 7 Feb 2013 01:48:30 +0000 (01:48 +0000)]
ppc: Remove PCIPPC2 and PCIPPC6 boards
These boards seem to be unmaintained for quite some time. So lets
remove support for them completely. This also cleans up some
common drivers/files.
Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Guillaume Alexandre <guillaume.alexandre@gespac.ch>
Acked-by: Wolfgang Denk <wd@denx.de>
Andreas Bießmann [Thu, 7 Feb 2013 04:58:19 +0000 (04:58 +0000)]
display_options:print_buffer: align ASCII print
This patch adds whitespace to the printed hex numbers to have an aligned ASCII
printout at the end of the line.
This changes for example the md output from:
---8<---
OMAP3 Tricorder # md.l $loadaddr 5
82000000:
30200109 20a4028c 90010000 08a00000 .. 0... ........
82000010:
01010000 ....
--->8---
to
---8<---
OMAP3 Tricorder # md.l $loadaddr 5
82000000:
30200109 20a4028c 90010000 08a00000 .. 0... ........
82000010:
01010000 ....
--->8---
The cost of this is about 72 byte .text increase (tested with at91 build).
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Wolfgang Denk [Fri, 8 Mar 2013 10:51:32 +0000 (10:51 +0000)]
Feature Removal: disable "mtest" command by default
The "mtest" command is of little practical use (if any), and
experience has shown that a large number of board configurations
define useless or even dangerous start and end addresses. If not even
the board maintainers are able to figure out which memory range can be
reliably tested, how can we expect such from the end users? As this
problem comes up repeatedly, we rather do not enable this command by
default, so only people who know what they are doing will be
confronted with it.
As this changes the user interface, we allow for a grace period
before this change takes effect. For now, we make "mtest"
configurable through the CONFIG_CMD_MEMTEST variable, which is defined
in include/config_cmd_default.h; we also add an entry to
doc/feature-removal-schedule.txt which announces the removal of this
default setting in two releases from now, i. e. with v2013.07.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Tom Rini <trini@ti.com>
Tom Rini [Sun, 10 Mar 2013 13:47:50 +0000 (09:47 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-mpc82xx
Holger Brunck [Fri, 18 Jan 2013 00:28:17 +0000 (00:28 +0000)]
powerpc/82xx/km: removed unneeded ifdef
All boards from this serie uses i2c. So we can drop these unneeded
defines.
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Holger Brunck [Fri, 18 Jan 2013 00:28:16 +0000 (00:28 +0000)]
powerpc/82xx/km: make handle_mgcoge3un_reset static
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Anatolij Gustschin [Fri, 8 Feb 2013 00:03:50 +0000 (00:03 +0000)]
mpc512x: pdm360ng: drop not needed memory node fixup
ft_cpu_setup() already does memory node fixup, no need
to do it again.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Tom Rini [Mon, 4 Mar 2013 16:14:27 +0000 (11:14 -0500)]
Merge branch 'mem' of git://git.denx.de/u-boot-x86
Tom Rini [Mon, 4 Mar 2013 14:44:42 +0000 (09:44 -0500)]
Merge branch 'master' of git://git.denx.de/u-boot-blackfin
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>