
Summary
=======

This README is about U-Boot support for TI's ARM Cortex-A8 based OMAP3 [1]
family of SoCs. TI's OMAP3 SoC family contains an ARM Cortex-A8. Additionally,
some family members contain a TMS320C64x+ DSP and/or an Imagination SGX 2D/3D
graphics processor and various other standard peripherals.

Currently the following boards are supported:

* OMAP3530 BeagleBoard [2]

* Gumstix Overo [3]

Toolchain
=========

While ARM Cortex-A8 support ARM v7 instruction set (-march=armv7a) we compile
with -march=armv5 to allow more compilers to work. For U-Boot code this has
no performance impact.

Build
=====

* BeagleBoard:

make omap3_beagle_config
make

* Gumstix Overo:

make omap3_overo_config
make

Custom commands
===============

To make U-Boot for OMAP3 support NAND device SW or HW ECC calculation, U-Boot
for OMAP3 supports custom user command

nandecc hw/sw

To be compatible with NAND drivers using SW ECC (e.g. kernel code)

nandecc sw

enables SW ECC calculation. HW ECC enabled with

nandecc hw

is typically used to write 2nd stage bootloader (known as 'x-loader') which is
executed by OMAP3's boot rom and therefore has to be written with HW ECC.

For all other commands see

help

Acknowledgements
================

OMAP3 U-Boot is based on U-Boot tar ball [4] for BeagleBoard and EVM done by
several TI employees.

Links
=====

[1] OMAP3:

http://www.ti.com/omap3 (high volume) and
http://www.ti.com/omap35x (broad market)

[2] OMAP3530 BeagleBoard:

http://beagleboard.org/

[3] Gumstix Overo:

http://www.gumstix.net/Overo/

[4] TI OMAP3 U-Boot:

http://beagleboard.googlecode.com/files/u-boot_beagle_revb.tar.gz
