U-boot Upstreaming Project
From OMAPpedia
Contents |
[edit] 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.
[edit] 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
[edit] OMAP3 U-boot Upstreaming
To be added
[edit] 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.
[edit] Information on Testing Procedures
TBD
[edit] Submit Your Ideas Here
Please list them as separate subsections (use ===title===). Please include your name, email ID and date for easy processing.
[edit] 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é (24-Jun-2010)
[edit] Owner
Steve Sakoman <> Aneesh V <>
[edit] Contributors
Steve Sakoman <> Aneesh V <>