---------------------------------------------
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

kwimage support available with mkimage utility will generate kirkwood boot
image that can be flashed on the board NAND/SPI flash

Board specific configuration file specifications:
------------------------------------------------
1. This file must present in the $(BOARDDIR) and the name should be
	kwbimage.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 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>
