U-boot Upstreaming Project

Introduction
Welcome to the U-boot Upstreaming Project wiki.


 * TI was using a customized version of U-Boot 1.1.4 for both OMAP3 and OMAP4 products. This code base was forked from mainline U-Boot about 4 years ago.  Since the time of the fork, OMAP3 support was added to mainline U-Boot by the open source community.


 * The first phase of this upstreaming project was completed in January 2011. Basic OMAP4 u-boot support is now available in mainline.

X-loader up-streaming(SPL) - OMAP4
We are working on up-streaming x-loader as part of U-Boot. The idea is to build a mini u-boot out of the u-boot tree that fits into OMAP SRAM and bootloads the real u-boot into the SDRAM. Such a mini u-boot is typically called SPL(Second Program Loader) in u-boot terminology.
 * The SPL for OMAP4 will support the following when up-streamed
 * Basic ARM initialization
 * UART console initialization
 * Clocks and DPLL locking (minimal)
 * SDRAM initialization
 * Mux (minimal)
 * MMC initialization(MMC1/MMC2 based on where we are booting from)
 * Bootloading real u-boot from MMC and passing control to it.
 * Improvements in SPL planned over x-loader:
 * Support for all sys_clk frequencies by automatically calculating M & N values for DPLLs
 * Option for doing SDRAM initialization automatically. The SPL can automatically detect the memory devices attached to the board and do the initialization automatically.
 * Note that the automatic initialization may not be optimal if the device timings are better than the JEDEC specified base timings.
 * However, on Elpida devices we use on our reference platforms the timings in the data-sheet are the same as the timings in the JEDEC spec. So the automatic initialization will be optimal too.
 * Facility for customizing the timings is retained.
 * Progress:
 * Everything except bootloading from FAT partition is nearly complete.
 * Cleanup and exhaustive testing to be done
 * Advantages:
 * Better code-reuse with u-boot. Maintenance easier.
 * Opens up possibilities for community contribution
 * Single source for all OMAP3/4 'x-loader's when eventually all OMAP3/4 platforms add SPL support

OMAP3 U-boot Upstreaming
To be added

Future Development Plan

 * External XIP Boot(by-passing ROM code)
 * This will completely by-pass ROM-code. So, the initialization code will have to take care some additional things that are normally done by ROM code.

Information on Testing Procedures
TBD

Submit Your Ideas Here
Please list them as separate subsections (use ===title===). Please include your name, email ID and date for easy processing.

Load .axf files
.axf files are ELF binaries, as generated by the ARM tools.

u-boot seemed to have support for loading ELF binaries at some point, but this was not compiling in our internal u-boot (due to dependencies on cache functions).

It would be nice to be able to load .axf binaries directly with u-boot.

-- Vincent Stehlé [mailto:v-stehle@ti.com ] (24-Jun-2010)

Owner
Steve Sakoman  Aneesh V 

Contributors
Steve Sakoman  Aneesh V <aneesh@ti.com>