README on how boot images are created for secure TI devices

CONFIG_TI_SECURE_DEVICE:
Secure TI devices require a boot image that is authenticated by ROM
code to function. Without this, even JTAG remains locked and the
device is essentially useless. In order to create a valid boot image for
a secure device from TI, the initial public software image must be signed
and combined with various headers, certificates, and other binary images.

Information on the details on the complete boot image format can be obtained
from Texas Instruments. The tools used to generate boot images for secure
devices are part of a secure development package (SECDEV) that can be
downloaded from:

	http://www.ti.com/mysecuresoftware (login required)

The secure development package is access controlled due to NDA and export
control restrictions. Access must be requested and granted by TI before the
package is viewable and downloadable. Contact TI, either online or by way
of a local TI representative, to request access.

When CONFIG_TI_SECURE_DEVICE is set, the U-Boot SPL build process requires
the presence and use of these tools in order to create a viable boot image.
The build process will look for the environment variable TI_SECURE_DEV_PKG,
which should be the path of the installed SECDEV package. If the
TI_SECURE_DEV_PKG variable is not defined or if it is defined but doesn't
point to a valid SECDEV package, a warning is issued during the build to
indicate that a final secure bootable image was not created.

Within the SECDEV package exists an image creation script:

${TI_SECURE_DEV_PKG}/scripts/create-boot-image.sh

This is called as part of the SPL/u-boot build process. As the secure boot
image formats and requirements differ between secure SOC from TI, the
purpose of this script is to abstract these details as much as possible.

The script is basically the only required interface to the TI SECDEV package
for secure TI devices.

Invoking the script for AM43xx Secure Devices
=============================================

create-boot-image.sh <IMAGE_FLAG> <INPUT_FILE> <OUTPUT_FILE> <SPL_LOAD_ADDR>

<IMAGE_FLAG> is a value that specifies the type of the image to generate OR
the action the image generation tool will take. Valid values are:
	SPI_X-LOADER - Generates an image for SPI flash (byte swapped)
	XIP_X-LOADER - Generates a single stage u-boot for NOR/QSPI XiP
	ISSW - Generates an image for all other boot modes

<INPUT_FILE> is the full path and filename of the public world boot loader
binary file (depending on the boot media, this is usually either
u-boot-spl.bin or u-boot.bin).

<OUTPUT_FILE> is the full path and filename of the final secure image. The
output binary images should be used in place of the standard non-secure
binary images (see the platform-specific user's guides and releases notes
for how the non-secure images are typically used)
	u-boot-spl_HS_SPI_X-LOADER - byte swapped boot image for SPI flash
	u-boot_HS_XIP_X-LOADER - boot image for NOR or QSPI flash
	u-boot-spl_HS_ISSW - boot image for all other boot media

<SPL_LOAD_ADDR> is the address at which SOC ROM should load the <INPUT_FILE>

Invoking the script for DRA7xx/AM57xx Secure Devices
====================================================

create-boot-image.sh <IMAGE_TYPE> <INPUT_FILE> <OUTPUT_FILE>

<IMAGE_TYPE> is a value that specifies the type of the image to generate OR
the action the image generation tool will take. Valid values are:
	X-LOADER - Generates an image for NOR or QSPI boot modes
	MLO - Generates an image for SD/MMC/eMMC boot modes
	ULO - Generates an image for USB/UART peripheral boot modes
	Note: ULO is not yet used by the u-boot build process

<INPUT_FILE> is the full path and filename of the public world boot loader
binary file (for this platform, this is always u-boot-spl.bin).

<OUTPUT_FILE> is the full path and filename of the final secure image. The
output binary images should be used in place of the standard non-secure
binary images (see the platform-specific user's guides and releases notes
for how the non-secure images are typically used)
	u-boot-spl_HS_MLO - boot image for SD/MMC/eMMC. This image is
		copied to a file named MLO, which is the name that
		the device ROM bootloader requires for loading from
		the FAT partition of an SD card (same as on
		non-secure devices)
	u-boot-spl_HS_X-LOADER - boot image for all other flash memories
		including QSPI and NOR flash
