---------------------------------------------
Kirkwood Boot Image generation using mkimage
---------------------------------------------

This document describes the U-Boot feature as it
is implemented for the Kirkwood family of SoCs.

The Kirkwood SoC's can boot directly from NAND FLASH,
SPI FLASH, SATA etc. using its internal bootRom support.

for more details refer section 24.2 of Kirkwood functional specifications.
ref: www.marvell.com/products/embedded.../kirkwood/index.jsp

Command syntax:
--------------
./tools/mkimage -l <kwboot_file>
		to list the kwb image file details

./tools/mkimage -n <board specific configuration file> \
		-T kwbimage -a <start address> -e <execution address> \
		-d <input_raw_binary> <output_kwboot_file>

for ex.
./tools/mkimage -n ./board/Marvell/openrd_base/kwbimage.cfg \
		-T kwbimage -a 0x00600000 -e 0x00600000 \
		-d u-boot.bin u-boot.kwb


kwbimage support available with mkimage utility will generate kirkwood boot
image that can be flashed on the board NAND/SPI flash.  The make target
which uses mkimage to produce such an image is "u-boot.kwb".  For example:

  export BUILD_DIR=/tmp/build
  make distclean
  make yourboard_config
  make $BUILD_DIR/u-boot.kwb


Board specific configuration file specifications:
------------------------------------------------
1. This file must present in the $(BOARDDIR).  The default name is
	kwbimage.cfg.  The name can be set as part of the full path
        to the file using CONFIG_SYS_KWD_CONFIG (probably in
        include/configs/<yourboard>.h).   The path should look like:
        $(SRCTREE)/$(CONFIG_BOARDDIR)/<yourkwbimagename>.cfg
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 is 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
	--------------		-----------
	BOOT_FROM		nand/spi/sata
	NAND_ECC_MODE		default/rs/hamming/disabled
	NAND_PAGE_SIZE		any uint16_t hex value
	SATA_PIO_MODE		any uint32_t hex value
	DDR_INIT_DELAY		any uint32_t hex value
	DATA			regaddr and regdara hex value
	you can have maximum 55 such register programming commands

3. All commands are optional to program

Typical example of kwimage.cfg file:
-----------------------------------

# Boot Media configurations
BOOT_FROM	nand
NAND_ECC_MODE	default
NAND_PAGE_SIZE	0x0800

# Configure RGMII-0 interface pad voltage to 1.8V
DATA 0xFFD100e0 0x1b1b1b9b
# DRAM Configuration
DATA 0xFFD01400 0x43000c30
DATA 0xFFD01404 0x37543000
DATA 0xFFD01408 0x22125451
DATA 0xFFD0140C 0x00000a33
DATA 0xFFD01410 0x000000cc
DATA 0xFFD01414 0x00000000
DATA 0xFFD01418 0x00000000
DATA 0xFFD0141C 0x00000C52
DATA 0xFFD01420 0x00000040
DATA 0xFFD01424 0x0000F17F
DATA 0xFFD01428 0x00085520
DATA 0xFFD0147C 0x00008552
DATA 0xFFD01504 0x0FFFFFF1
DATA 0xFFD01508 0x10000000
DATA 0xFFD0150C 0x0FFFFFF5
DATA 0xFFD01514 0x00000000
DATA 0xFFD0151C 0x00000000
DATA 0xFFD01494 0x00030000
DATA 0xFFD01498 0x00000000
DATA 0xFFD0149C 0x0000E803
DATA 0xFFD01480 0x00000001
# End of Header extension
DATA 0x0 0x0

------------------------------------------------
Author: Prafulla Wadaskar <prafulla@marvell.com>
