This patch configures U-Boot's environment to be placed in NAND and
adds MTD partitions support.
Signed-off-by: Marcin Mielczarczyk <marcin.mielczarczyk@tieto.com>
This implementation allows U-Boot to save BBT table in NAND.
Without this option BBT table is created everytime when first nand
command is executed (except "nand dump"). Full scanning of NAND
takes long time and unnecessarily delays start of platform.
NOTE! This option is disabled by defaut as at startup it deletes last
two blocks of NAND. Most of people run code from RAM and don't have
NAND memory dumped yet. If you don't like to wait on first nand
command, you should define MT62XX_NAND_BBT_IN_NAND.
Signed-off-by: Marcin Mielczarczyk <marcin.mielczarczyk@tieto.com>
This tool generates boot header which is parsed by IPL (Internal Program
Loader). Generated boot header is placed at the begining of given
binary file.
Signed-off-by: Marcin Mielczarczyk <marcin.mielczarczyk@tieto.com>
Implementation of Secondary Program Loader which loads U-Boot
from NAND memory to SDRAM memory. SBL is loaded by IPL
(Initial Program Loader) at processor startup.
Signed-off-by: Marcin Mielczarczyk <marcin.mielczarczyk@tieto.com>
Even in preloader configuration BSS section should be cleared,
otherwise initialized variables will have wrong values.
Relocation symbols are not available in SBL configuration and
should be not included.
Signed-off-by: Marcin Mielczarczyk <marcin.mielczarczyk@tieto.com>
Implementation of MT62xx NAND controller (NFI) which supports
large page devices and small page devices. It also enables
hardware ECC control.
Signed-off-by: Marcin Mielczarczyk <marcin.mielczarczyk@tieto.com>
Loading U-Boot code at low addresses (begining of RAM) can cause problem.
Function get_ram_size() detects size of RAM writing pattern
between 256MB and 0MB. It takes highest address and divides
it by 2 on every iteration. It's possible that this function will
destroy code which is executed at the moment (writing detection pattern).
U-Boot will probably not occupy more than 2MB, so it's safe to
load code between 4MB and 8MB (excluding 0x400000 and 0x800000).
Loading U-Boot at address 0x500000 eliminates problem with get_ram_size()
function.
Signed-off-by: Marcin <marcin.mielczarczyk@gmail.com>
Fix the problem which cannot build the U-boot, if we only set
the CONFIG_ENV_IS_IN_SPI_FLASH.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Acked-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
The unzip command did not provide a way for the caller to get any
information about the uncompressed size. To make it better usable in
scripts, we now store the uncompressed size in the `filesize'
variable, like we do when for example loading a file over the network
or when reading it from a file system. Following that analogy, it is
only consequent to also print the size.
Signed-off-by: Wolfgang Denk <wd@denx.de>
The implementation of the string compare function of the "itest"
command was weird, as only the length of the shortest argument was
included in the compare, with the result that something like
"itest.s abd == abddef" would return TRUE. Fix this.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-by: Detlev Zundel <dzu@denx.de>
u-boot BSP generates XILINX_USE_MSR_INSTR macro
even for system with MSR=0. That's why explicitly
check that MSR=1.
Signed-off-by: Michal Simek <monstr@monstr.eu>
early_board_init has been skipped to avoid SDRAM corruption in the case
that a fully relocatable image has been loaded into SDRAM and is being
executed from SDRAM. x86 is being aligned with other architectures (ARM
and PPC in particlar) and will be using Cache-As-RAM to run a C
environment from Flash (or SRAM if you have some). early_board_init may
be needed to assist in the setup of Cache-As-RAM and the early C
environment
Position independant functionality is due for removal from the x86
architecture, so create two distinct configurations - One for Flash and
one for SRAM
When DDR data rate is higher than 1200MT/s or controller interleaving is
enabled, additional cycle for write-to-read turnaround is needed to satisfy
dynamic ODT timing.
Signed-off-by: York Sun <yorksun@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>