07 Apr, 2015
3 commits
-
With e37f1eb we now use strict_strtoul() in do_mem_mtest() and this
gives us a warning:
../include/vsprintf.h:38:5: note: expected 'long unsigned int *' but
argument is of type 'int *'Signed-off-by: Tom Rini
-
Currently, memtest will silently accept bad data. Perform error
checking on user intput.Signed-off-by: Pavel Machek
-
The u-boot environment is redundantly stored in a NOR flash on our boards.
Redundant means that there are two places to store the environment. But only
one of the two is active. I discovered that on one board the u-boot (env_sf)
uses the environment from the second place and the Kernel (fw_printenv) uses
the environment from the first place.
To decide which is the active environment there is a byte inside the
environment. 1 means active and 0 means obsolete. But on that board both
environments had have a 1. This can happen if a power loss or reset occurs
during writing the environment. In this situation the u-boot (env_sf)
implementation uses the second environment as default. But the Kernel
(fw_printenv) implementation uses the first environment as default.This commit corrects the default in the u-boot env_sf implementation when a
problem was detected. Now the recovery default is the same like in all other
environment implementations. E.g. fw_printenv and env_flash. This ensures that
u-boot and Kernel use the same environment.Signed-off-by: Mario Schuknecht
03 Apr, 2015
1 commit
-
Intention behind this work was elimination of as much assembly-written
code as it is possible.In case of ARC we already have relocation fix-up implemented in C so why
don't we use C for U-Boot copying, .bss zeroing etc.It turned out x86 uses pretty similar approach so we re-used parts of
code in "board_f.c" initially implemented for x86.Now assembly usage during init is limited to stack- and frame-pointer
setup before and after relocation.Signed-off-by: Alexey Brodkin
Cc: Simon Glass
31 Mar, 2015
2 commits
-
This command is only enabled by one board, complicates the NAND code,
and doesn't appear to have been functioning properly for several
years. If there are no bad blocks in the NAND region being written
nand_write_skip_bad() will take the shortcut of calling nand_write()
which bypasses the special yaffs handling. This causes invalid YAFFS
data to be written. See
http://lists.denx.de/pipermail/u-boot/2011-September/102830.html for
an example and a potential workaround.U-Boot still retains the ability to mount and access YAFFS partitions
via CONFIG_YAFFS2.Signed-off-by: Peter Tyser
-
Previously NAND writes were only verified when CONFIG_MTD_NAND_VERIFY_WRITE
was defined. On boards without this define writes could fail silently.
Boards with CONFIG_MTD_NAND_VERIFY_WRITE could prematurely report
failures which ECC could correct.Add a verification step after all "nand write[.x]" commands to ensure the
writes were successful. The verification uses ECC for for "normal"
writes, but does not for raw and yaffs writes. Some test cases which
inject fake bad bits on a 2K page flash are below.Test cases with CONFIG_MTD_NAND_VERIFY_WRITE defined:
Example of an ECC write which previously failed when
CONFIG_MTD_NAND_VERIFY_WRITE was defined, but now succeeds because ECC
is used during verification:
nand erase 0 0x10000
dhcp /somefile
mw.b 0x10000 0xff 0x2000
mw.b 0x10020 0xfe 1
nand write.raw 0x10000 0x800 1
mw.b 0x1000020 0x01 1
nand write 0x1000000 0x800 0x1800Test cases without CONFIG_MTD_NAND_VERIFY_WRITE defined:
Example of an ECC write which previously silently failed:
nand erase 0 0x10000
dhcp /somefile
mw.b 0x10000 0xff 0x2000
mw.b 0x10020 0x00 1
nand write.raw 0x10000 0x800 1
mw.b 0x1000020 0xff 1
nand write 0x1000000 0x800 0x1800Example of a raw write which previously failed silently due to stuck
data bit, but now errors out:
nand erase 0 0x10000
dhcp /somefile
mw.b 0x10000 0xff 0x2000
mw.b 0x10020 0xfe 1
nand write.raw 0x10000 0x800 1
mw.b 0x1000020 0x01 1
nand write.raw 0x1000000 0x800 3Example of a raw write which previously failed silently due to stuck OOB
bit, but now errors out:
nand erase 0 0x10000
dhcp /somefile
mw.b 0x10000 0xff 0x2000
mw.b 0x10810 0xfe 1
nand write.raw 0x10000 0x800 1
mw.b 0x1000810 0x01 1
nand write.raw 0x1000000 0x800 3Signed-off-by: Peter Tyser
Tested-by: Heiko Schocher
Acked-by: Heiko Schocher
29 Mar, 2015
2 commits
-
Fix eb_cpu5282 and eb_cpu5282_internal unresolved external error.
These boards have video but don't need any ppc related
video_setmem().Fix M53017EVB moving away embedded env to a different offset,
as in M52277EVB.Signed-off-by: Angelo Dureghello
-
Purpose of this change is to make it possible to re-use code currently
used on X86 solely for other architectures. For example:
* init_sequence_f_r
* board_init_f_rEven though board_init_f_mem() has nothing to do with any particular
architecture it won't work (at least in current implementation) for X86.This is because on X86 "gd" is an alias to function get_fs_gd_ptr(),
thus we cannot assign anything to it.So this change separates selection of board_init_f_mem() from X86 while
keeping it disabled for X86 still.Signed-off-by: Alexey Brodkin
Cc: Simon Glass
Cc: Tom Rini
26 Mar, 2015
1 commit
-
Add an optional -bootable parameter to the part list commands to only
put the list of bootable partitions in the environment variableSigned-off-by: Sjoerd Simons
Reviewed-by: Stephen Warren
24 Mar, 2015
1 commit
-
Various files are needlessly rebuilt every time due to the version and
build time changing. As version.h is not actually needed, remove the
include.Signed-off-by: Rob Herring
Cc: Albert Aribaud
Cc: Stefano Babic
Cc: Minkyu Kang
Cc: Marek Vasut
Cc: Tom Warren
Cc: Michal Simek
Cc: Macpaul Lin
Cc: Wolfgang Denk
Cc: York Sun
Cc: Stefan Roese
Cc: Nobuhiro Iwamatsu
Cc: Simon Glass
Cc: Philippe Reynes
Cc: Eric Jarrige
Cc: "David Müller"
Cc: Phil Edworthy
Cc: Robert Baldyga
Cc: Torsten Koschorrek
Cc: Anatolij Gustschin
Reviewed-by: Linus Walleij
Reviewed-by: Łukasz Majewski
18 Mar, 2015
1 commit
13 Mar, 2015
1 commit
-
Without this patch, the IMX watchdog will not be initialized. And therefor
not active. This patch fixes this by calling hw_watchdog_init() also when
CONFIG_IMX_WATCHDOG is defined.Signed-off-by: Stefan Roese
Cc: Simon Glass
Cc: Fabio Estevam
Cc: Stefano Babic
Cc: Heiko Schocher
Acked-by: Heiko Schocher
11 Mar, 2015
1 commit
-
Conflicts:
READMESigned-off-by: Tom Rini
09 Mar, 2015
3 commits
-
Added support to disable the start of application by using
a environment variable autostartSigned-off-by: Siva Durga Prasad Paladugu
Signed-off-by: Michal Simek -
This fixes a regression of e310b93ec1, affecting Ethernet on the Jetson
TK1, e.g.Signed-off-by: Jan Kiszka
-
This commit introduces new config: CONFIG_SYS_MALLOC_CLEAR_ON_INIT.
This config is an expert option and is enabled by default.
The all amount of memory reserved for the malloc, is by default set
to zero in mem_malloc_init(). When the malloc reserved memory exceeds
few MiB, then the boot process can slow down.So disabling this config, is an expert option to reduce the boot time,
and can be disabled by Kconfig.Note:
After disable this option, only calloc() will return the pointer
to the zeroed memory area. Previously, without this option,
the memory pointed to untouched malloc memory region, was filled
with zeros. So it means, that code with malloc() calls should
be reexamined.Signed-off-by: Przemyslaw Marczak
Reviewed-by: Simon Glass
06 Mar, 2015
10 commits
-
Currently the usage text for the 'ums' command looks like this:
Usage:
ums ums [] e.g. ums 0 mmc 0,so remove the extra 'ums' in the text.
Signed-off-by: Fabio Estevam
Acked-by: Otavio Salvador
Acked-by: Marek Vasut -
In case of global data structure defined as "register volatile" compiler
throws an warning about incorrect type used:
--->8---
common/board_f.c: In function "board_init_f_r":
common/board_f.c:1073:2: warning: passing argument 1 of "&board_init_r
+(sizetype)gd->reloc_off" discards "volatile" qualifier from pointer
target type [enabled by default]
(board_init_r + gd->reloc_off)(gd, gd->relocaddr);
^
common/board_f.c:1073:2: note: expected "struct gd_t *" but argument is
of type "volatile struct gd_t *"
--->8---An obvious fix is manual casting to "gd_t *".
Signed-off-by: Alexey Brodkin
Cc: Simon Glass
Cc: Tom Rini
Acked-by: Simon Glass -
running "spl export ..." more than once fails with:
Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
Trying to execute a command out of order
ERROR prep subcommand failed!
Subcommand failedreason is commmit:
35fc84fa1f: Refactor the bootm command to reduce code duplicationIt used "state != BOOTM_STATE_START" but state is a bitfield, so
check if the bit BOOTM_STATE_START is not set. With this fix,
"spl export ..." can called more than once ...Signed-off-by: Heiko Schocher
Reviewed-by: Simon Glass -
This patch adds generic board support for MCF547X/8X and MCF5445X.
It is based on the patch about common generic board support for
M68K architecture sent by Angelo.Signed-off-by: Alison Wang
-
Add generic-board support for the m68k architecture.
Signed-off-by: Angelo Dureghello
-
Remove duplicate command names in usage messages to fix issues such as:
=> help yls
yls - yaffs lsUsage:
yls yls [-l] dirnameSigned-off-by: Peter Tyser
-
Sometimes we do not want redirect u-boot's console to screen but anyway we want
write out some status information out of a u-boot script to the display.So we cannot use the normal "echo ....", instead we write explicitly using
"lcdputs ..." for writing to the actual cursor position on LCD.Signed-off-by: Hannes Petermaier
-
Sometimes we do not want redirect u-boot's console to screen but anyway we want
write out some status information out of a u-boot script to the display.To define the specific position of the string to be written, we have to set
the cursor with "setcurs" before writing.Signed-off-by: Hannes Petermaier
-
Currently, an environment variable must be used to store the randomly
generated UUID for each partition. This is not necessary, so make storing
the UUID optional. Now passing uuid_disk and uuid are optional when random
UUIDs are enabled.Signed-off-by: Rob Herring
Acked-by: Przemyslaw Marczak -
The gpt command always reports success even if writing the partition table
failed. Propagate the return value of gpt_restore so we get proper status
reported.Signed-off-by: Rob Herring
Reviewed-by: Przemyslaw Marczak
05 Mar, 2015
5 commits
-
Fix the name appearing in menuconfig for memtest command
Signed-off-by: Nikolaos Pasaloukos
Cc: Masahiro Yamada <yamada.m@jp.panasonic.com -
At present SPL uses a single stack, either CONFIG_SPL_STACK or
CONFIG_SYS_INIT_SP_ADDR. Since some SPL features (such as MMC and
environment) require a lot of stack, some boards set CONFIG_SPL_STACK to
point into SDRAM. They then set up SDRAM very early, before board_init_f(),
so that the larger stack can be used.This is an abuse of lowlevel_init(). That function should only be used for
essential start-up code which cannot be delayed. An example of a valid use is
when only part of the SPL code is visible/executable, and the SoC must be set
up so that board_init_f() can be reached. It should not be used for SDRAM
init, console init, etc.Add a CONFIG_SPL_STACK_R option, which allows the stack to be moved to a new
address before board_init_r() is called in SPL.The expected SPL flow (for CONFIG_SPL_FRAMEWORK) is documented in the README.
Signed-off-by: Simon Glass
For version 1:
Acked-by: Albert ARIBAUD
Reviewed-by: Stefan Roese
Tested-by: Bo Shen
Acked-by: Bo Shen
Acked-by: Heiko Schocher
Tested-by: Heiko SchocherSigned-off-by: Tom Rini
-
Some systems have so much RAM that the end of RAM is beyond 4GB. An
example would be a Tegra124 system (where RAM starts at 2GB physical)
that has more than 2GB of RAM.In this case, we can gd->ram_size to represent the actual RAM size, so
that the actual RAM size is passed to the OS. This is useful if the OS
implements LPAE, and can actually use the "extra" RAM.However, U-Boot does not implement LPAE and so must deal with 32-bit
physical addresses. To this end, we enhance board_get_usable_ram_top() to
detect the "over-sized" case, and limit the relocation addres so that it
fits into 32-bits of physical address space.Signed-off-by: Stephen Warren
Reviewed-by: Simon Glass
Signed-off-by: Tom Warren
02 Mar, 2015
2 commits
26 Feb, 2015
6 commits
-
Currently only normal hashing is supported using hardware acceleration.
Added support for progressive hashing using hardware.Signed-off-by: Ruchika Gupta
Signed-off-by: Gaurav Rana
CC: Simon Glass
Reviewed-by: Simon Glass
Reviewed-by: York Sun -
This patch does the following:
1. The function names for encapsulation and decapsulation
were inconsitent in freescale's implementation and cmd_blob file.
This patch corrects the issues.
2. The function protopye is also modified to change the length parameter
from u8 to u32 to allow encapsulation and decapsulation of larger images.
3. Modified the description of km paramter in the command usage for better
readability.Signed-off-by: Gaurav Rana
Reviewed-by: Ruchika Gupta
Reviewed-by: York Sun -
If the string is copied without NULL termination using strncpy(),
then strncat() on the next line, may concatenate the string after
some stale (or random) data, if the response string was not
zero-initialized.Signed-off-by: Dileep Katta
Reviewed-by: Steve Rae
Reviewed-by: Lukasz Majewski -
Add a check for USB cable attached and only enter fastboot when a cable
is attached.Signed-off-by: Rob Herring
Reviewed-by: Steve Rae
Reviewed-by: Lukasz Majewski -
Adds the fastboot erase functionality, to erase a partition
specified by name. The erase is performed based on erase group size,
to avoid erasing other partitions. The start address and the size
is aligned to the erase group size for this.Currently only supports erasing from eMMC.
Signed-off-by: Dileep Katta
Reviewed-by: Lukasz Majewski
25 Feb, 2015
1 commit
-
Now CONFIG_SPL_BUILD is not defined in Kconfig, so
"!depends on SPL_BUILD" and "if !SPL_BUILD" are redundant.Signed-off-by: Masahiro Yamada