u-boot-2016/include
Mingkai Hu 9a1a0aedbb NAND boot: MPC8536DS support
MPC8536E can support booting from NAND flash which uses the
image u-boot-nand.bin. This image contains two parts: a 4K
NAND loader and a main U-Boot image. The former is appended
to the latter to produce u-boot-nand.bin. The 4K NAND loader
includes the corresponding nand_spl directory, along with the
code twisted by CONFIG_NAND_SPL. The main U-Boot image just
like a general U-Boot image except the parts that included by
CONFIG_SYS_RAMBOOT.

When power on, eLBC will automatically load from bank 0 the
4K NAND loader into the FCM buffer RAM where CPU can execute
the boot code directly. In the first stage, the NAND loader
copies itself to RAM or L2SRAM to free up the FCM buffer RAM,
then loads the main image from NAND flash to RAM or L2SRAM
and boot from it.

This patch implements the NAND loader to load the main image
into L2SRAM, so the main image can configure the RAM by using
SPD EEPROM. In the first stage, the NAND loader copies itself
to the second to last 4K address space, and uses the last 4K
address space as the initial RAM for stack.

Obviously, the size of L2SRAM shouldn't be less than the size
of the image used. If so, the workaround is to generate another
image that includes the code to configure the RAM by SPD and
load it to L2SRAM first, then relocate the main image to RAM
to boot up.

Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-09-30 08:42:06 -05:00
..
asm-arm Correct ffs/fls regression for PowerPC etc 2009-09-17 22:45:31 +02:00
asm-avr32 Add AVR32 LCD support 2009-07-26 13:12:02 +02:00
asm-blackfin Correct ffs/fls regression for PowerPC etc 2009-09-17 22:45:31 +02:00
asm-generic asm-generic: Consolidate errno.h to asm-generic/errno.h 2009-07-09 14:07:11 +02:00
asm-i386 Correct ffs/fls regression for PowerPC etc 2009-09-17 22:45:31 +02:00
asm-m68k Correct ffs/fls regression for PowerPC etc 2009-09-17 22:45:31 +02:00
asm-microblaze Correct ffs/fls regression for PowerPC etc 2009-09-17 22:45:31 +02:00
asm-mips Correct ffs/fls regression for PowerPC etc 2009-09-17 22:45:31 +02:00
asm-nios Correct ffs/fls regression for PowerPC etc 2009-09-17 22:45:31 +02:00
asm-nios2 Correct ffs/fls regression for PowerPC etc 2009-09-17 22:45:31 +02:00
asm-ppc ppc/85xx: Clean up immap_85xx.h 2009-09-28 22:35:58 -05:00
asm-sh Correct ffs/fls regression for PowerPC etc 2009-09-17 22:45:31 +02:00
asm-sparc asm-generic: Consolidate errno.h to asm-generic/errno.h 2009-07-09 14:07:11 +02:00
bedbug
configs NAND boot: MPC8536DS support 2009-09-30 08:42:06 -05:00
cramfs
galileo
jffs2
linux Correct ffs/fls regression for PowerPC etc 2009-09-17 22:45:31 +02:00
lzma Refresh LZMA-lib to v4.65 2009-07-22 09:43:27 +02:00
mtd
pcmcia
u-boot tools: mkimage: Fixed build warnings 2009-09-10 22:58:47 +02:00
usb usb: fix CONFIG_SYS_MPC83xx_USB_ADDR not defined error 2009-07-09 21:33:14 +02:00
.gitignore
4xx_i2c.h
74xx_7xx.h
405_dimm.h
405_mal.h Dual-license IBM code contributions 2009-08-09 23:15:33 +02:00
_exports.h export SPI functions to standalone apps 2009-08-09 22:34:51 +02:00
ACEX1K.h
addr_map.h
ahci.h Update Freescale copyrights to remove "All Rights Reserved" 2009-07-29 09:59:22 +02:00
ali512x.h
altera.h
ambapp.h
api_public.h
arm925t.h
armcoremodule.h
at45.h
at91rm9200_i2c.h
at91rm9200_net.h
ata.h
atmel_lcdc.h
bcd.h Replace BCD2BIN and BIN2BCD macros with inline functions 2009-08-25 12:57:55 +02:00
bcm5221.h
bmp_layout.h
bus_vcxk.h new video driver for bus vcxk framebuffers 2009-07-26 13:17:21 +02:00
bzlib.h
circbuf.h
clps7111.h
command.h
common.h tools: mkimage: Fixed build warnings 2009-09-10 22:58:47 +02:00
commproc.h
compiler.h Move uninitialized_var() macro from ubi_uboot.h to compiler.h 2009-09-04 22:16:40 +02:00
config_cmd_all.h
config_cmd_default.h include/config_cmd_default.h cleanup 2009-07-17 23:25:51 +02:00
crc.h
da9030.h
dataflash.h
ddr_spd.h
div64.h
dm9000.h
dm9161.h
dp83848.h
ds1722.h Misc ds1722 fixups 2009-09-04 21:54:52 +02:00
ds4510.h
dtt.h
e500.h ppc/p4080: Determine various chip frequencies on CoreNet platforms 2009-09-24 12:05:29 -05:00
elf.h compiler.h: unify system ifdef cruft here 2009-07-19 21:41:46 +02:00
environment.h unify {CONFIG_,}ENV_IS_EMBEDDED 2009-08-25 12:57:54 +02:00
exports.h export SPI functions to standalone apps 2009-08-09 22:34:51 +02:00
ext2fs.h
fat.h
fdc.h
fdt.h
fdt_support.h
fis.h
flash.h Support up to 7 banks for ids as specified in JEDEC JEP106Z 2009-08-26 08:58:27 +02:00
fpga.h
fsl_esdhc.h fsl_esdhc: Add device tree fixups 2009-07-16 22:24:06 +02:00
fsl_nfc.h MX31: Add NAND SPL for i.MX31. 2009-06-21 16:18:12 +02:00
hush.h
hwconfig.h Add simple hwconfig infrastructure 2009-07-16 22:23:53 +02:00
i2c.h powerpc: updates for the keymile boards 2009-07-21 00:06:11 +02:00
i8042.h
ide.h mucmc52, uc101: delete ata@3a00 node, if no CF card is detected 2009-09-25 01:22:13 +02:00
image.h mkimage: Add Kirkwood Boot Image support (kwbimage) 2009-09-10 22:58:48 +02:00
iomux.h stdio/device: rework function naming convention 2009-07-18 00:27:46 +02:00
ioports.h
keyboard.h
kgdb.h
lcd.h lcd.h: define extern vidinfo_t for all cases 2009-07-26 13:16:50 +02:00
lcdvideo.h
lh7a40x.h
lh7a400.h
lh7a404.h
libata.h
libfdt.h
libfdt_env.h compiler.h: unify system ifdef cruft here 2009-07-19 21:41:46 +02:00
linux_logo.h
lmb.h
logbuff.h
lpd7a400_cpld.h
lxt971a.h
lynxkdi.h
malloc.h Consolidate arch-specific mem_malloc_init() implementations 2009-09-04 21:47:07 +02:00
mb862xx.h video: mb862xx: use macros instead of magic numbers 2009-07-17 15:23:40 +02:00
MCD_dma.h
MCD_progCheck.h
MCD_tasksInit.h
mg_disk.h
mii_phy.h
miiphy.h Dual-license IBM code contributions 2009-08-09 23:15:33 +02:00
mk48t59.h
mmc.h include/mmc.h: Fix typo in IS_SD() macro 2009-08-23 22:11:30 +02:00
mpc5xx.h
mpc5xxx.h
mpc5xxx_sdma.h
mpc8xx.h
mpc8xx_irq.h
mpc83xx.h mpc83xx: add missing CSCONFIG_ODT_WR_CFG for 832x CPUs 2009-08-21 17:10:35 -05:00
mpc85xx.h
mpc86xx.h
mpc106.h
mpc824x.h
mpc8220.h
mpc8260.h
mpc8260_irq.h
nand.h Remove legacy NAND and disk on chip code. 2009-07-16 19:07:47 -05:00
net.h net: sync env ethaddr to device enetaddr in eth_init() 2009-08-07 17:39:23 -07:00
netdev.h Convert CS8900 Ethernet driver to CONFIG_NET_MULTI API 2009-08-25 13:35:54 -07:00
nios-io.h
nios.h
nios2-epcs.h
nios2-io.h
nios2.h
nomadik.h
ns7520_eth.h
ns9750_bbus.h
ns9750_eth.h
ns9750_mem.h
ns9750_ser.h
ns9750_sys.h
ns16550.h
ns87308.h
onenand_uboot.h
part.h
pc_keyb.h
pca953x.h
pci.h pci/fsl_pci_init: Use PCIe capability to determine if controller is PCIe 2009-08-28 17:12:36 -05:00
pci_ids.h Add Intel E1000 PCIE card support 2009-08-08 02:26:05 -07:00
pcmcia.h
post.h
ppc4xx.h ppc4xx: Big cleanup of PPC4xx defines 2009-09-11 10:35:58 +02:00
ppc4xx_enet.h Dual-license IBM code contributions 2009-08-09 23:15:33 +02:00
ppc405.h ppc4xx: Big cleanup of PPC4xx defines 2009-09-11 10:35:58 +02:00
ppc440.h ppc4xx: Big cleanup of PPC4xx defines 2009-09-11 10:35:58 +02:00
ppc_asm.tmpl
ppc_defs.h
ps2mult.h
radeon.h
reiserfs.h
rtc.h Switch from per-driver to common definition of bin2bcd and bcd2bin 2009-08-25 12:57:55 +02:00
s3c24x0.h include/s3c24x0.h: fix S3C24X0_SPI_CHANNEL declaration 2009-08-25 12:22:38 +02:00
s3c64x0.h
s3c2400.h
s3c2410.h
s3c6400.h
s6e63d6.h
s_record.h
SA-1100.h
sata.h
scsi.h
sed156x.h
sed13806.h
serial.h stdio/device: rework function naming convention 2009-07-18 00:27:46 +02:00
sha1.h
sha256.h
sm501.h
smiLynxEM.h
spartan2.h
spartan3.h
spd.h
spd_sdram.h
spi.h
spi_flash.h
status_led.h
stdio_dev.h console: unify printing current devices 2009-07-19 01:02:46 +02:00
stratixII.h
sym53c8xx.h
systemace.h
timestamp.h
tsec.h
tsi108.h
tsi148.h Add support for the Tundra TSI148 VME-bridge 2009-07-19 11:21:08 +02:00
twl4030.h OMAP3 Move twl4030 mmc function 2009-07-29 09:57:43 +02:00
tws.h
ubi_uboot.h Move uninitialized_var() macro from ubi_uboot.h to compiler.h 2009-09-04 22:16:40 +02:00
universe.h
usb.h
usb_cdc_acm.h
usb_defs.h
usbdescriptors.h
usbdevice.h
version.h
vfd_logo.h
video.h
video_ad7176.h
video_ad7177.h
video_ad7179.h
video_easylogo.h
video_fb.h
video_font.h
video_logo.h
virtex2.h
vsc7385.h
vxworks.h
w83c553f.h
watchdog.h
xilinx.h
xyzModem.h