Summary
=======

Note: this document used to be about the entire family of DaVinci SOCs but the
support for the DM* family and DA830 has since been dropped.

This README is about U-Boot support for TI's DA850 SoC. This SOC has an OMAP
part number but is very similar to the DaVinci series.

Currently the following boards are supported:

* TI DA850 EVM

* TI OMAP-L138 LCDK

* Lego EV3

Build
=====

* TI DA850 EVM:

make da850evm_config
make

* TI OMAP-L138 LCDK

make omapl138_lcdk_defconfig
make

* Lego EV3

make legoev3_defconfig
make

Bootloaders
===============

For DA850 an SPL (secondary program loader, see doc/README.SPL) is provided
to load U-Boot from SPI flash, MMC or NAND. The SPL takes care of the low level
initialization.

The SPL is built as u-boot.ais for all DA850 defconfigs except those booting
from NOR flash. The resulting image file can be programmed to the SPI flash
of the DA850 EVM/LCDK.

Devices that support booting from NOR utilize execute in place (XIP) and do
not require SPL to perform low level initialization.

Environment Variables
=====================

The DA850 EVM allows the user to specify the maximum cpu clock allowed by the
silicon, in Hz, via an environment variable "maxcpuclk".

The maximum clock rate allowed depends on the silicon populated on the EVM.
Please make sure you understand the restrictions placed on this clock in the
device specific datasheet before setting up this variable. This information is
passed to the Linux kernel using the ATAG_REVISION atag.

If "maxcpuclk" is not defined, the configuration CFG_DA850_EVM_MAX_CPU_CLK
is used to obtain this information.

Links
=====

1) TI DA850 EVM
http://focus.ti.com/docs/prod/folders/print/omap-l138.html
http://www.logicpd.com/products/development-kits/zoom-omap-l138-evm-development-kit

2) TI OMAP-L138 LCDK
http://focus.ti.com/docs/prod/folders/print/omap-l138.html
https://www.ti.com/tool/TMDXLCDK138

Davinci special defines
=======================

CFG_SYS_DV_NOR_BOOT_CFG:	AM18xx based boards, booting in NOR Boot mode
				need a "NOR Boot Configuration Word" stored
				in the NOR Flash. This define adds this.
				More Info about this, see:
				spraba5a.pdf chapter 3.1
