summaryrefslogtreecommitdiffstats
path: root/qemu/roms/u-boot/doc/README.ublimage
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/u-boot/doc/README.ublimage')
-rw-r--r--qemu/roms/u-boot/doc/README.ublimage141
1 files changed, 0 insertions, 141 deletions
diff --git a/qemu/roms/u-boot/doc/README.ublimage b/qemu/roms/u-boot/doc/README.ublimage
deleted file mode 100644
index ab25b2615..000000000
--- a/qemu/roms/u-boot/doc/README.ublimage
+++ /dev/null
@@ -1,141 +0,0 @@
----------------------------------------------
-UBL image Boot Image generation using mkimage
----------------------------------------------
-
-This document describes how to set up an U-Boot image that can be directly
-booted by a DaVinci processor via NAND boot mode, using an UBL header,
-but without need for UBL.
-
-For more details see section 11.2 "ARM ROM Boot Modes" of
-http://focus.ti.com/lit/ug/sprufg5a/sprufg5a.pdf
-
-Command syntax:
---------------
-./tools/mkimage -l <u-boot_file>
- to list the UBL image file details
-
-./tools/mkimage -T ublimage \
- -n <board specific configuration file> \
- -d <u-boot binary> <output image file>
-
-For example, for the davinci dm365evm board:
-./tools/mkimage -n ./board/davinci/dm365evm/ublimage.cfg \
- -T ublimage \
- -d u-boot-nand.bin u-boot.ubl
-
-You can generate the image directly when you compile u-boot with:
-
-$ make u-boot.ubl
-
-The output image can be flashed into the NAND.
-
-Please check the DaVinci documentation for further details.
-
-Board specific configuration file specifications:
--------------------------------------------------
-1. This file must present in the $(BOARDDIR) and the name should be
- ublimage.cfg (since this is used in Makefile).
-2. This file can have empty lines and lines starting with "#" as first
- character to put comments.
-3. This file can have configuration command lines as mentioned below,
- any other information in this file is treated as invalid.
-
-Configuration command line syntax:
----------------------------------
-1. Each command line must have two strings, first one command or address
- and second one data string
-2. Following are the valid command strings and associated data strings:-
- Command string data string
- -------------- -----------
- MODE UBL special mode, on of:
- safe
- Example:
- MODE safe
-
- ENTRY Entry point address for the user
- bootloader (absolute address) = TEXT_BASE
- nand_spl loader.
- Example:
- ENTRY 0x00000020
-
- PAGES Number of pages (size of user bootloader
- in number of pages)
- Example:
- PAGES 27
-
- START_BLOCK Block number where user bootloader is present
- Example:
- START_BLOCK 5
-
- START_PAGE Page number where user bootloader is present
- (for RBL always 0)
- Example:
- START_PAGE 0
-
-------------------------------------------------
-
-Structure of the u-boot.ubl binary:
-
-compile steps:
-
-1) nand_spl code compile, with pad_to = (TEXT_BASE +
- (CONFIG_SYS_NROF_PAGES_NAND_SPL * pagesize))
- Example: cam_enc_4xx pad_to = 0x20 + (6 * 0x800) = 0x3020 = 12320
- -> u-boot-spl-16k.bin
-
- !! TEXT_BASE = 0x20, as the RBL starts at 0x20
-
-2) compile u-boot.bin ("normal" u-boot)
- -> u-boot.bin
-
-3) create u-boot-nand.bin = u-boot-spl-16k.bin + u-boot.bin
-
-4) create u-boot.ubl, size = 1 page size NAND
- create UBL header and paste it before u-boot.bin
-
-This steps are done automagically if you do a "make all"
-
--> You get an u-boot.ubl binary, which you can flash
- into your NAND.
-
-Structure of this binary (Example for the cam_enc_4xx board with a NAND
-page size = 0x800):
-
-offset : 0x00000 | 0x800 | 0x3800
-content: UBL | nand_spl | u-boot code
- Header | code |
-
-The NAND layout looks for example like this:
-
-(Example for the cam_enc_4xx board with a NAND page size = 0x800, block
-size = 0x20000 and CONFIG_SYS_NROF_UBL_HEADER 5):
-
-offset : 0x80000 | 0xa0000 | 0xa3000
-content: UBL | nand_spl | u-boot code
- Header | code |
- ^ ^
- ^ 0xa0000 = CONFIG_SYS_NROF_UBL_HEADER * 0x20000
- ^
- 0x80000 = Block 4 * 0x20000
-
-If the cpu starts in NAND boot mode, it checks the UBL descriptor
-starting with block 1 (page 0). When a valid UBL signature is found,
-the corresponding block number (from 1 to 24) is written to the last 32
-bits of ARM internal memory (0x7ffc-0x8000). This feature is provided
-as a basic debug mechanism. If not found, it continues with block 2
-... last possible block is 24
-
-If a valid UBL descriptor is found, the UBL descriptor is read and
-processed. The descriptor gives the information required for loading
-and control transfer to the nand_spl code. The nand_spl code is then
-read and processed.
-
-Once the user-specified start-up conditions are set, the RBL copies the
-nand_spl into ARM internal RAM, starting at address 0x0000: 0020.
- ^^^^
-
-The nand_spl code itself now does necessary intializations, and at least,
-copies the u-boot code from NAND into RAM, and jumps to it ...
-
-------------------------------------------------
-Author: Heiko Schocher <hs@denx.de>