Tom Rini | 95a372b | 2012-08-20 09:31:52 -0700 | [diff] [blame] | 1 | Summary |
| 2 | ======= |
| 3 | The README is for the boot procedure used for various DA850 (or compatible |
| 4 | parts such as the AM1808) based boards. |
| 5 | |
| 6 | In the context of U-Boot, the board is booted in three stages. The initial |
| 7 | bootloader which executes upon reset is the ROM Boot Loader (RBL) and sits |
| 8 | in the internal ROM. The RBL initializes the internal memory and then |
| 9 | depending on the exact board and pin configurations will initialize another |
| 10 | controller (such as SPI or NAND) to continue the boot process by loading |
| 11 | the secondary program loader (SPL). The SPL will initialize the system |
| 12 | further (some clocks, SDRAM) and then load the full u-boot from a |
| 13 | predefined location in persistent storage to DDR and jumps to the u-boot |
| 14 | entry point. |
| 15 | |
| 16 | AIS is an image format defined by TI for the images that are to be loaded |
| 17 | to memory by the RBL. The image is divided into a series of sections and |
| 18 | the image's entry point is specified. Each section comes with meta data |
| 19 | like the target address the section is to be copied to and the size of the |
| 20 | section, which is used by the RBL to load the image. At the end of the |
| 21 | image the RBL jumps to the image entry point. The AIS format allows for |
| 22 | other things such as programming the clocks and SDRAM if the header is |
| 23 | programmed for it. We do not take advantage of this and instead use SPL as |
| 24 | it allows for additional flexibility (run-time detect of board revision, |
| 25 | loading the next image from a different media, etc). |
| 26 | |
| 27 | |
| 28 | Compilation |
| 29 | =========== |
| 30 | The exact build target you need will depend on the board you have. For |
| 31 | Logic PD boards, or other boards which store the ethernet MAC address at |
| 32 | the end of SPI flash, run 'make da850evm'. For boards which store the |
| 33 | ethernet MAC address in the i2c EEPROM located at 0x50, run |
| 34 | 'make da850_am18xxevm'. Once this build completes you will have a |
| 35 | u-boot.ais file that needs to be written to the correct persistent |
| 36 | storage. |
| 37 | |
| 38 | |
| 39 | Flashing the images to SPI |
| 40 | ========================== |
| 41 | The AIS image can be written to SPI flash using the following commands. |
| 42 | Assuming that the network is configured and enabled and the u-boot.ais file |
| 43 | is tftp'able. |
| 44 | |
| 45 | U-Boot > sf probe 0 |
| 46 | U-Boot > sf erase 0 +320000 |
| 47 | U-Boot > tftp u-boot.ais |
| 48 | U-Boot > sf write c0700000 0 $filesize |
| 49 | |
| 50 | |
| 51 | Recovery |
| 52 | ======== |
| 53 | |
| 54 | In the case of a "bricked" board, you need to use the TI tools found |
| 55 | here[1] to write the u-boot.ais file. An example of recovering to the SPI |
| 56 | flash of an AM1808 would be: |
| 57 | |
| 58 | $ mono sfh_OMAP-L138.exe -targetType AM1808 -p /dev/ttyUSB0 \ |
| 59 | -flash_noubl /path/to/u-boot.ais |
| 60 | |
| 61 | For other target types and flash locations: |
| 62 | |
| 63 | $ mono sfh_OMAP-L138.exe -h |
| 64 | |
| 65 | Links |
| 66 | ===== |
| 67 | [1] |
| 68 | http://processors.wiki.ti.com/index.php/Serial_Boot_and_Flash_Loading_Utility_for_OMAP-L138 |