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

Tom Rini
2012-08-23T16:17:55Z

On 08/23/2012 05:52 AM, Christian Riesch wrote:
> 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.

True. I suppose this is what I get for copy/pasting docs from a similar
board and focusing more on the "write these bits to hardware" rather
than "what do these bits do exactly" :) Thanks, I'll re-word things a
bit more.

>> +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).

Indeed, I should say it's an example for AM1808.

--
Tom