Apple iPod nanos have sector sizes of 2 or 4 KiB, which crashes U-Boot when it
tries to read the MBR into 512-byte buffer situated on stack. Instead use the
variable length arrays to be safe with any large sector size.
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
change bd->bi_memsize to gd->ram_size, as this is defined
on all archs, so this post test can used on none powerpc
archs too.
Signed-off-by: Heiko Schocher <hs@denx.de>
cc: Wolfgang Denk <hs@denx.de>
cc: Mike Frysinger <vapier@gentoo.org>
Up to now only reading 'appreg' value was implemented in the
digsyMTC special 'mtc appreg' command. Extend the command to
support writing appreg value, too.
Signed-off-by: Werner Pfister <Pfister_Werner@intercontrol.de>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
Add detection and initialisation for graphic extension board
and support splash screen when booting. Enable "bmp" command
in the board configuration and provide "disp" command to
be able to switch the display on/off.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
gen10g_startup() had 2 bugs:
1) It had a boolean logic error in checking the MMD mask, and
always checked all of them.
2) It checked devices which don't actually report link state, which
meant that it would never believe the link was fully up.
Fix the boolean logic, and then mask the MMD mask so only link-reporting
devices are checked.
Signed-off-by: Andy Fleming <afleming@freescale.com>
Reported-by: Ed Swarthout <Ed.Swarthout@freescale.com>
Command calls update_tftp() analogous to automatic update described
in doc/README.update.
Usage:
fitupd [addr]
- run update from FIT image at addr
or from tftp 'updatefile'
Signed-off-by: Andreas Pretzsch <apr@cn-eng.de>
Current update_tftp() flow:
1.) fetch "updatefile" from defined TFTP server
2.) check if FIT format
3.) flash contained images
Add an address parameter to update_tftp(). If this address is non-zero,
skip the TFTP transfer and use the image at this address.
Also extend update_tftp() to return success/fail.
Signed-off-by: Andreas Pretzsch <apr@cn-eng.de>
The post.c code is missing braces around the pass case, and as a
result, the diagnostic function will post both fail and pass for
a failed test. The reason for this bug is probably the incorrect
indentation used, so when reading the code it seems like there
are proper braces.
Indent the code to the correct depth and put proper braces around
the "else" branch of the "if" statement.
Signed-off-by: James Kosin <jkosin@intcomgrp.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Now that the tools target requires the generated version header file, we
need to make sure that the directory it writes to exists. In a configured
tree, this is taken care of for us. But in an unconfigured one, the dir
does not yet exist causing a build error like so:
/bin/sh: line 5: ..../u-boot_build/include/version_autogenerated.h.tmp: No such file or directory
So create the dir for this file before we attempt to generate it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Since panic() never returns, we should add an appropriate attribute to
let gcc improve optimization around it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
The targets/prerequisites are the same here; the rules only differ in
the recipes. So move the if logic protection to the recipe part so we
can keep the rest the same.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This adds a simple flash test to automatically verify erasing,
writing, and reading of sectors. The code is based on existing
Blackfin tests but generalized for everyone to use.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Now that we have the generic GPIO layer, we can easily provide a common
implementation for the post_hotkeys_pressed() function based on it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
The current arch/driver specific UART posts basically boil down to setting
the UART to loop back mode, then reading and writing data. If we ignore
the loop back part, the rest can be built upon the existing common serial
API. So let's do just that.
First add a call back for serial drivers to implement loop back control.
Then write a post test that walks all of the serial drivers, puts them
into loop back mode, and verifies that reading/writing at all the diff
baud rates is OK.
If a serial driver doesn't support loop back mode (either it can't or
it hasn't done so yet), then skip it. This should allow for people to
easily migrate to the new post test with existing serial drivers.
I haven't touched the few already existing uart post tests as I don't
the hardware or knowledge of converting them over. So I've marked the
new test as weak which will allow the existing tests to override the
default until they are converted.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
The multi serial support has a "ctlr" field which almost no one uses,
but everyone is forced to set to useless strings. So punt it.
Funny enough, the only code that actually reads this field (the mpc8xx
driver) has a typo where it meant to look for the SCC driver. Fix it
while converting the check to use the name field.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
CC: Heiko Schocher <hs@denx.de>
CC: Anatolij Gustschin <agust@denx.de>
CC: Tom Rix <Tom.Rix@windriver.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
CC: Craig Nauman <cnauman@diagraph.com>
CC: Marek Vasut <marek.vasut@gmail.com>
CC: Prafulla Wadaskar <prafulla@marvell.com>
CC: Mahavir Jain <mjain@marvell.com>
The serial_register function never fails (always return 0), so change it
to a void function to avoid wasting overhead on it.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Rather than sticking arch/board/driver specific logic in the common
serial code, push it all out to the respective drivers. The serial
drivers declare these funcs weak so that boards can still override
things with their own definition.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
CC: Heiko Schocher <hs@denx.de>
CC: Anatolij Gustschin <agust@denx.de>
CC: Tom Rix <Tom.Rix@windriver.com>
CC: Minkyu Kang <mk7.kang@samsung.com>
CC: Craig Nauman <cnauman@diagraph.com>
CC: Prafulla Wadaskar <prafulla@marvell.com>
CC: Mahavir Jain <mjain@marvell.com>
Tested-by: Minkyu Kang <mk7.kang@samsung.com>
Some toolchains enable security warning flags by default, but these don't
really make sense in the u-boot world. Such as forcing changes like:
-printf(foo);
+printf("%s", foo);
So disable the flags when the compiler supports them. Linux has already
merged a similar change in their build system.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
For people who want to manually extract the embedded environment so that
it can be manually packed into the final u-boot image, add a config opt
to force building of the envcrc tool.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Newer SST flashes have dropped the Auto Address Increment (AAI) word
programming (WP) modes in favor of the standard page programming mode
that most flashes now support. So add a flags field to the different
flashes to support both modes with new and old styles.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Every spi flash uses the same write disable command, so unify this in
the common code.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Fixed commit message.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Now that the common spi_flash structure tracks all the info that these
drivers need, kill off their local state indirection and use just what
the common code provides.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Once we add a new page_size field for write lengths, we can unify the
write methods for most of the spi flash drivers.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Convert all the comments at the top of the file into help text for people
to easily get at with standard -h/--help options.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Detlev Zundel <dzu@denx.de>
In some circumstances, reset_timer_masked() was called be timer_init() in
order to perform architecture specific timer initialisation. In such
cases, the required code in reset_timer_masked() has been moved into
timer_init()
There is no need to use set_timer(). Replace with appropriate use of
get_timer()
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
Acked-by: Wolfgang Denk <wd@denx.de>
* Fix: if using md5 command watchdog timed out
* change function call md5(..) to the watchdog-safe variant
md5_wd(..) to support watchdog reset
Signed-off-by: Jens Scharsig <esw@bus-elektronik.de>
* Fix: if using sha1 command watchdog timed out
* change function call sha1_csum(..) to the watchdog-safe variant
sha1_csum_wd(..) to support watchdog reset
Signed-off-by: Jens Scharsig <esw@bus-elektronik.de>