[U-Boot] [PATCH v3 17/19] da850: Add README.da850

Christian Riesch
2012-08-23T12:52:03Z

Hi Tom,

On Thu, Aug 23, 2012 at 1:19 AM, Tom Rini <trini@ti.com> wrote:
> This file documents when to build for da850evm and when to build for
> da850_am18xxevm. It also documents how to write the u-boot.ais file to
> persistent storage (such as SPI), in some cases as well as how to write
> a recovery image.
>
> Signed-off-by: Tom Rini <trini@ti.com>
> ---
> Changes in v2:
> - Add
>
> Changes in v3:
> - Fix thinko, Nand -> SPI (spotted by Prabhakar Lad)
> - Rename to README.da850, add more direct recovery method (Christian Riesch)
>
> board/davinci/da8xxevm/README.da850 | 62 +++++++++++++++++++++++++++++++++++
> 1 file changed, 62 insertions(+)
> create mode 100644 board/davinci/da8xxevm/README.da850
>
> diff --git a/board/davinci/da8xxevm/README.da850 b/board/davinci/da8xxevm/README.da850
> new file mode 100644
> index 0000000..55291f3
> --- /dev/null
> +++ b/board/davinci/da8xxevm/README.da850
> @@ -0,0 +1,62 @@
> +Summary
> +=======
> +The README is for the boot procedure used for various DA850 (or compatible
> +parts such as the AM1808) based boards.
> +
> +The board is booted in three stages. The initial bootloader which executes
> +upon reset is the ROM Boot Loader (RBL) which sits in the internal ROM. The
> +RBL initializes the memory and then depending on the exact board will

The RBL can initialize the PLLs and the memory (I assume you are
talking about DDR/SDRAM here), but only if the AIS tells it to do so
and provides the configuration data like timing etc. However, for the
da850evm configuration the AIS only tells the RBL to copy the SPL to
the internal SRAM of the SoC. Then, the SPL initializes the DDR
memory.

Actually we wouldn't need SPL to boot from SPI on the da850. We could
as well do memory initialization with AIS/RBL and then let the RBL
copy u-boot to DDR memory. The reason why I introduced SPL for booting
from SPI here is that it gives us more flexibility, e.g. on my custom
board I must check the board revision before configuring the PLLs
because I have different oscillator frequencies on different
revisions.

> +initialize another controller (such as SPI or NAND) to continue the boot
> +process.
> +
> +AIS is an image format defined by TI for the images that are to be
> +loaded to memory by the RBL. The image is divided into a series of
> +sections and the image's entry point is specified. Each section comes
> +with meta data like the target address the section is to be copied to
> +and the size of the section, which is used by the RBL to load the
> +image. At the end of the image the RBL jumps to the image entry
> +point.
> +
> +The secondary stage bootloader (SPL) which is loaded by the RBL then

... initializes the PLLs and the memory controller and ...

> loads
> +the u-boot from a predefined location in persistent storage to DDR and
> +jumps to the u-boot entry point.
> +
> +
> +Compilation
> +===========
> +The exact build target you need will depend on the board you have. For
> +Logic PD boards, or other boards which store the ethernet MAC address at
> +the end of SPI flash, run 'make da850evm'. For boards which store the
> +ethernet MAC address in the i2c EEPROM located at 0x50, run
> +'make da850_am18xxevm'. Once this build completes you will have a
> +u-boot.ais file that needs to be written to the correct persistent
> +storage.
> +
> +
> +Flashing the images to SPI
> +==========================
> +The AIS image can be written to SPI flash using the following commands.
> +Assuming that the network is configured and enabled and the u-boot.ais file
> +is tftp'able.
> +
> +U-Boot > sf probe 0
> +U-Boot > sf erase 0 +320000
> +U-Boot > tftp u-boot.ais
> +U-Boot > sf write c0700000 0 $filesize
> +
> +
> +Recovery
> +========
> +
> +In the case of a "bricked" board, you need to use the TI tools found
> +here[1] to write the u-boot.ais file. An example of recovering to the SPI
> +flash would be:
> +
> +$ mono sfh_OMAP-L138.exe -targetType AM1808 -p /dev/ttyUSB0 \
> + -flash_noubl /path/to/u-boot.ais
> +

I believe for the OMAP-L138 boards you will need -targetType OMAPL138
(or just omit the option because OMAPL138 is the default).

Thanks!
Regards, Christian

> +
> +Links
> +=====
> +[1]
> + http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L137
> --
> 1.7.9.5
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot