blob: 2a5b3b3be5d2d46d5fd52d5d25d0e8eac25f31db [file] [log] [blame]
Prafulla Wadaskar07329412009-09-07 15:05:02 +05301---------------------------------------------
2Kirkwood Boot Image generation using mkimage
3---------------------------------------------
4
5This document describes the U-Boot feature as it
6is implemented for the Kirkwood family of SoCs.
7
8The Kirkwood SoC's can boot directly from NAND FLASH,
9SPI FLASH, SATA etc. using its internal bootRom support.
10
11for more details refer section 24.2 of Kirkwood functional specifications.
12ref: www.marvell.com/products/embedded.../kirkwood/index.jsp
13
14Command syntax:
15--------------
16./tools/mkimage -l <kwboot_file>
17 to list the kwb image file details
18
19./tools/mkimage -n <board specific configuration file> \
20 -T kwbimage -a <start address> -e <execution address> \
21 -d <input_raw_binary> <output_kwboot_file>
22
23for ex.
24./tools/mkimage -n ./board/Marvell/openrd_base/kwbimage.cfg \
25 -T kwbimage -a 0x00600000 -e 0x00600000 \
26 -d u-boot.bin u-boot.kwb
27
28kwimage support available with mkimage utility will generate kirkwood boot
29image that can be flashed on the board NAND/SPI flash
30
31Board specific configuration file specifications:
32------------------------------------------------
331. This file must present in the $(BOARDDIR) and the name should be
34 kwbimage.cfg (since this is used in Makefile)
352. This file can have empty lines and lines starting with "#" as first
36 character to put comments
373. This file can have configuration command lines as mentioned below,
38 any other information in this file is treated as invalid.
39
40Configuration command line syntax:
41---------------------------------
421. Each command line is must have two strings, first one command or address
43 and second one data string
442. Following are the valid command strings and associated data strings:-
45 Command string data string
46 -------------- -----------
47 BOOT_FROM nand/spi/sata
48 NAND_ECC_MODE default/rs/hamming/disabled
49 NAND_PAGE_SIZE any uint16_t hex value
50 SATA_PIO_MODE any uint32_t hex value
51 DDR_INIT_DELAY any uint32_t hex value
52 DATA regaddr and regdara hex value
53 you can have maximum 55 such register programming commands
54
553. All commands are optional to program
56
57Typical example of kwimage.cfg file:
58-----------------------------------
59
60# Boot Media configurations
61BOOT_FROM nand
62NAND_ECC_MODE default
63NAND_PAGE_SIZE 0x0800
64
65# Configure RGMII-0 interface pad voltage to 1.8V
66DATA 0xFFD100e0 0x1b1b1b9b
67# DRAM Configuration
68DATA 0xFFD01400 0x43000c30
69DATA 0xFFD01404 0x37543000
70DATA 0xFFD01408 0x22125451
71DATA 0xFFD0140C 0x00000a33
72DATA 0xFFD01410 0x000000cc
73DATA 0xFFD01414 0x00000000
74DATA 0xFFD01418 0x00000000
75DATA 0xFFD0141C 0x00000C52
76DATA 0xFFD01420 0x00000040
77DATA 0xFFD01424 0x0000F17F
78DATA 0xFFD01428 0x00085520
79DATA 0xFFD0147C 0x00008552
80DATA 0xFFD01504 0x0FFFFFF1
81DATA 0xFFD01508 0x10000000
82DATA 0xFFD0150C 0x0FFFFFF5
83DATA 0xFFD01514 0x00000000
84DATA 0xFFD0151C 0x00000000
85DATA 0xFFD01494 0x00030000
86DATA 0xFFD01498 0x00000000
87DATA 0xFFD0149C 0x0000E803
88DATA 0xFFD01480 0x00000001
89# End of Header extension
90DATA 0x0 0x0
91
92------------------------------------------------
93Author: Prafulla Wadaskar <prafulla@marvell.com>