CELF Project Proposal/Refactor the Qi lightweight bootloader


 * Summary : Refactor the Qi lightweight bootloader.


 * Proposer : Matt Hsu

Description
Qi (named by Alan Cox on Openmoko kernel list) is a minimal bootloader that "breathes life" into Linux. Its goal is to stay close to the minimum needed to "load" and then "boot" Linux -- no boot menus, additional peripheral init or private states.

Qi currently supports Samsung s3c24xx series, s3c6410, TI omap3530, and Freescale i.MX31. The more support platforms are planned to add on. The purpose of this project would be to improve Qi's maintainability, portability. Ideally, this would make people spend less time on bootloader development but be more focused on Linux system.

Project objectives:
 * Make the hierarchy of source files more sensible and clean
 * Generalize components which could be used in common such as I2C drivers.
 * Example: platform specific I2C driver -> GPIO bitbang driver.
 * Remove duplicated, unused code, header definition. Keep Qi as minimum as needed.

Related work

 * http://wiki.openmoko.org/wiki/Qi

Development branches are hosted here:
 * http://git.warmcat.com/cgi-bin/cgit/qi/
 * http://gitorious.org/0xlab-bootloader


 * Scope : Unknown

Comments
QUESTION: why Qi and not Barebox (u-boot-v2) or APEX?