Summary
=======

This document covers various features of the 'am335x_evm' build, and some of
the related build targets (am335x_evm_uartN, etc).

Hardware
========

The binary produced by this board supports, based on parsing of the EEPROM
documented in TI's reference designs:
- AM335x GP EVM
- AM335x EVM SK
- Beaglebone White
- Beaglebone Black

Customization
=============

Given that all of the above boards are reference platforms (and the
Beaglebone platforms are OSHA), it is likely that this platform code and
configuration will be used as the basis of a custom platform.  It is
worth noting that aside from things such as NAND or MMC only being
required if a custom platform makes use of these blocks, the following
are required, depending on design:

- GPIO is only required if DDR3 power is controlled in a way similar to
  EVM SK
- SPI is only required for SPI flash, or exposing the SPI bus.

The following blocks are required:
- I2C, to talk with the PMIC and ensure that we do not run afoul of
  errata 1.0.24.

When removing options as part of customization,
CONFIG_EXTRA_ENV_SETTINGS will need additional care to update for your
needs and to remove no longer relevant options as in some cases we
define additional text blocks (such as for NAND or DFU strings).  Also
note that all of the SPL options are grouped together, rather than with
the IP blocks, so both areas will need their choices updated to reflect
the custom design.

NAND
====

The AM335x GP EVM ships with a 256MiB NAND available in most profiles.  In
this example to program the NAND we assume that an SD card has been
inserted with the files to write in the first SD slot and that mtdparts
have been configured correctly for the board. All images are first loaded
into memory, then written to NAND.

Step-1: Building u-boot for NAND boot
	Set following CONFIGxx options for NAND device.
	CONFIG_SYS_NAND_PAGE_SIZE	number of main bytes in NAND page
	CONFIG_SYS_NAND_OOBSIZE		number of OOB bytes in NAND page
	CONFIG_SYS_NAND_BLOCK_SIZE	number of bytes in NAND erase-block
	CONFIG_SYS_NAND_ECCPOS		ECC map for NAND page
	CONFIG_NAND_OMAP_ECCSCHEME	(refer doc/README.nand)

Step-2: Flashing NAND via MMC/SD
	# select BOOTSEL to MMC/SD boot and boot from MMC/SD card
	U-Boot # mmc rescan
	# erase flash
	U-Boot # nand erase.chip
	U-Boot # env default -f -a
	U-Boot # saveenv
	# flash MLO. Redundant copies of MLO are kept for failsafe
	U-Boot # load mmc 0 0x82000000 MLO
	U-Boot # nand write 0x82000000 0x00000 0x20000
	U-Boot # nand write 0x82000000 0x20000 0x20000
	U-Boot # nand write 0x82000000 0x40000 0x20000
	U-Boot # nand write 0x82000000 0x60000 0x20000
	# flash u-boot.img
	U-Boot # load mmc 0 0x82000000 u-boot.img
	U-Boot # nand write 0x82000000 0x80000 0x60000
	# flash kernel image
	U-Boot # load mmc 0 0x82000000 uImage
	U-Boot # nand write 0x82000000 ${nandsrcaddr} ${nandimgsize}
	# flash filesystem image
	U-Boot # load mmc 0 0x82000000 filesystem.img
	U-Boot # nand write 0x82000000 ${loadaddress} 0x300000

Step-3: Set BOOTSEL pin to select NAND boot, and POR the device.
	The device should boot from images flashed on NAND device.

NOR
===

The Beaglebone White can be equiped with a "memory cape" that in turn can
have a NOR module plugged into it.  In this case it is then possible to
program and boot from NOR.  Note that due to how U-Boot is architectured we
must build a specific version of U-Boot that knows we have NOR flash.  This
build is named 'am335x_evm_nor'.  Further, we have a 'am335x_evm_norboot'
build that will assume that the environment is on NOR rather than NAND.  In
the following example we assume that and SD card has been populated with
MLO and u-boot.img from a 'am335x_evm_nor' build and also contains the
'u-boot.bin' from a 'am335x_evm_norboot' build.  When booting from NOR, a
binary must be written to the start of NOR, with no header or similar
prepended.  In the following example we use a size of 512KiB (0x80000)
as that is how much space we set aside before the environment, as per
the config file.

U-Boot # mmc rescan
U-Boot # load mmc 0 ${loadaddr} u-boot.bin
U-Boot # protect off 08000000 +80000
U-Boot # erase 08000000 +80000
U-Boot # cp.b ${loadaddr} 08000000 ${filesize}

Falcon Mode
===========

The default build includes "Falcon Mode" (see doc/README.falcon) via NAND,
eMMC (or raw SD cards) and FAT SD cards.  Our default behavior currently is
to read a 'c' on the console while in SPL at any point prior to loading the
OS payload (so as soon as possible) to opt to booting full U-Boot.  Also
note that while one can program Falcon Mode "in place" great care needs to
be taken by the user to not 'brick' their setup.  As these are all eval
boards with multiple boot methods, recovery should not be an issue in this
worst-case however.

Falcon Mode: eMMC
=================

The recommended layout in this case is:

MMC BLOCKS      |--------------------------------| LOCATION IN BYTES
0x0000 - 0x007F : MBR or GPT table               : 0x000000 - 0x020000
0x0080 - 0x00FF : ARGS or FDT file               : 0x010000 - 0x020000
0x0100 - 0x01FF : SPL.backup1 (first copy used)  : 0x020000 - 0x040000
0x0200 - 0x02FF : SPL.backup2 (second copy used) : 0x040000 - 0x060000
0x0300 - 0x06FF : U-Boot                         : 0x060000 - 0x0e0000
0x0700 - 0x08FF : U-Boot Env + Redundant         : 0x0e0000 - 0x120000
0x0900 - 0x28FF : Kernel                         : 0x120000 - 0x520000

Note that when we run 'spl export' it will prepare to boot the kernel.
This includes relocation of the uImage from where we loaded it to the entry
point defined in the header.  As these locations overlap by default, it
would leave us with an image that if written to MMC will not boot, so
instead of using the loadaddr variable we use 0x81000000 in the following
example.  In this example we are loading from the network, for simplicity,
and assume a valid partition table already exists and 'mmc dev' has already
been run to select the correct device.  Also note that if you previously
had a FAT partition (such as on a Beaglebone Black) it is not enough to
write garbage into the area, you must delete it from the partition table
first.

# Ensure we are able to talk with this mmc device
U-Boot # mmc rescan
U-Boot # tftp 81000000 am335x/MLO
# Write to two of the backup locations ROM uses
U-Boot # mmc write 81000000 100 100
U-Boot # mmc write 81000000 200 100
# Write U-Boot to the location set in the config
U-Boot # tftp 81000000 am335x/u-boot.img
U-Boot # mmc write 81000000 300 400
# Load kernel and device tree into memory, perform export
U-Boot # tftp 81000000 am335x/uImage
U-Boot # run findfdt
U-Boot # tftp ${fdtaddr} am335x/${fdtfile}
U-Boot # run mmcargs
U-Boot # spl export fdt 81000000 - ${fdtaddr}
# Write the updated device tree to MMC
U-Boot # mmc write ${fdtaddr} 80 80
# Write the uImage to MMC
U-Boot # mmc write 81000000 900 2000

Falcon Mode: FAT SD cards
=========================

In this case the additional file is written to the filesystem.  In this
example we assume that the uImage and device tree to be used are already on
the FAT filesystem (only the uImage MUST be for this to function
afterwards) along with a Falcon Mode aware MLO and the FAT partition has
already been created and marked bootable:

U-Boot # mmc rescan
# Load kernel and device tree into memory, perform export
U-Boot # load mmc 0:1 ${loadaddr} uImage
U-Boot # run findfdt
U-Boot # load mmc 0:1 ${fdtaddr} ${fdtfile}
U-Boot # run mmcargs
U-Boot # spl export fdt ${loadaddr} - ${fdtaddr}

This will print a number of lines and then end with something like:
   Using Device Tree in place at 80f80000, end 80f85928
   Using Device Tree in place at 80f80000, end 80f88928
So then you:

U-Boot # fatwrite mmc 0:1 0x80f80000 args 8928

Falcon Mode: NAND
=================

In this case the additional data is written to another partition of the
NAND.  In this example we assume that the uImage and device tree to be are
already located on the NAND somewhere (such as fileystem or mtd partition)
along with a Falcon Mode aware MLO written to the correct locations for
booting and mtdparts have been configured correctly for the board:

U-Boot # nand read ${loadaddr} kernel
U-Boot # load nand rootfs ${fdtaddr} /boot/am335x-evm.dtb
U-Boot # run nandargs
U-Boot # spl export fdt ${loadaddr} - ${fdtaddr}
U-Boot # nand erase.part u-boot-spl-os
U-Boot # nand write ${fdtaddr} u-boot-spl-os
