xref: /openbmc/u-boot/doc/README.kwbimage (revision adbba99606a06df1435de6f1866c0e7996412e27)
1aa0c7a86SPrafulla Wadaskar---------------------------------------------
2aa0c7a86SPrafulla WadaskarKirkwood Boot Image generation using mkimage
3aa0c7a86SPrafulla Wadaskar---------------------------------------------
4aa0c7a86SPrafulla Wadaskar
5aa0c7a86SPrafulla WadaskarThis document describes the U-Boot feature as it
6aa0c7a86SPrafulla Wadaskaris implemented for the Kirkwood family of SoCs.
7aa0c7a86SPrafulla Wadaskar
8aa0c7a86SPrafulla WadaskarThe Kirkwood SoC's can boot directly from NAND FLASH,
9aa0c7a86SPrafulla WadaskarSPI FLASH, SATA etc. using its internal bootRom support.
10aa0c7a86SPrafulla Wadaskar
11aa0c7a86SPrafulla Wadaskarfor more details refer section 24.2 of Kirkwood functional specifications.
12aa0c7a86SPrafulla Wadaskarref: www.marvell.com/products/embedded.../kirkwood/index.jsp
13aa0c7a86SPrafulla Wadaskar
14aa0c7a86SPrafulla WadaskarCommand syntax:
15aa0c7a86SPrafulla Wadaskar--------------
16aa0c7a86SPrafulla Wadaskar./tools/mkimage -l <kwboot_file>
17aa0c7a86SPrafulla Wadaskar		to list the kwb image file details
18aa0c7a86SPrafulla Wadaskar
19aa0c7a86SPrafulla Wadaskar./tools/mkimage -n <board specific configuration file> \
20aa0c7a86SPrafulla Wadaskar		-T kwbimage -a <start address> -e <execution address> \
21aa0c7a86SPrafulla Wadaskar		-d <input_raw_binary> <output_kwboot_file>
22aa0c7a86SPrafulla Wadaskar
23aa0c7a86SPrafulla Wadaskarfor ex.
24aa0c7a86SPrafulla Wadaskar./tools/mkimage -n ./board/Marvell/openrd_base/kwbimage.cfg \
25aa0c7a86SPrafulla Wadaskar		-T kwbimage -a 0x00600000 -e 0x00600000 \
26aa0c7a86SPrafulla Wadaskar		-d u-boot.bin u-boot.kwb
27aa0c7a86SPrafulla Wadaskar
281ff1f89cSKarl O. Pinc
2932324b7fSKarl O. Pinckwbimage support available with mkimage utility will generate kirkwood boot
301ff1f89cSKarl O. Pincimage that can be flashed on the board NAND/SPI flash.  The make target
311ff1f89cSKarl O. Pincwhich uses mkimage to produce such an image is "u-boot.kwb".  For example:
321ff1f89cSKarl O. Pinc
33*adbba996STimo Ketola  export KBUILD_OUTPUT=/tmp/build
341ff1f89cSKarl O. Pinc  make distclean
351ff1f89cSKarl O. Pinc  make yourboard_config
36*adbba996STimo Ketola  make u-boot.kwb
371ff1f89cSKarl O. Pinc
38aa0c7a86SPrafulla Wadaskar
39aa0c7a86SPrafulla WadaskarBoard specific configuration file specifications:
40aa0c7a86SPrafulla Wadaskar------------------------------------------------
411ff1f89cSKarl O. Pinc1. This file must present in the $(BOARDDIR).  The default name is
421ff1f89cSKarl O. Pinc	kwbimage.cfg.  The name can be set as part of the full path
431ff1f89cSKarl O. Pinc	to the file using CONFIG_SYS_KWD_CONFIG (probably in
441ff1f89cSKarl O. Pinc	include/configs/<yourboard>.h).   The path should look like:
454ab3fc5eSMasahiro Yamada	$(CONFIG_BOARDDIR)/<yourkwbimagename>.cfg
46aa0c7a86SPrafulla Wadaskar2. This file can have empty lines and lines starting with "#" as first
47aa0c7a86SPrafulla Wadaskar	character to put comments
48aa0c7a86SPrafulla Wadaskar3. This file can have configuration command lines as mentioned below,
49aa0c7a86SPrafulla Wadaskar	any other information in this file is treated as invalid.
50aa0c7a86SPrafulla Wadaskar
51aa0c7a86SPrafulla WadaskarConfiguration command line syntax:
52aa0c7a86SPrafulla Wadaskar---------------------------------
53aa0c7a86SPrafulla Wadaskar1. Each command line is must have two strings, first one command or address
54aa0c7a86SPrafulla Wadaskar	and second one data string
55aa0c7a86SPrafulla Wadaskar2. Following are the valid command strings and associated data strings:-
56aa0c7a86SPrafulla Wadaskar	Command string		data string
57aa0c7a86SPrafulla Wadaskar	--------------		-----------
58aa0c7a86SPrafulla Wadaskar	BOOT_FROM		nand/spi/sata
59aa0c7a86SPrafulla Wadaskar	NAND_ECC_MODE		default/rs/hamming/disabled
60aa0c7a86SPrafulla Wadaskar	NAND_PAGE_SIZE		any uint16_t hex value
61aa0c7a86SPrafulla Wadaskar	SATA_PIO_MODE		any uint32_t hex value
62aa0c7a86SPrafulla Wadaskar	DDR_INIT_DELAY		any uint32_t hex value
63aa0c7a86SPrafulla Wadaskar	DATA			regaddr and regdara hex value
64aa0c7a86SPrafulla Wadaskar	you can have maximum 55 such register programming commands
65aa0c7a86SPrafulla Wadaskar
66aa0c7a86SPrafulla Wadaskar3. All commands are optional to program
67aa0c7a86SPrafulla Wadaskar
68aa0c7a86SPrafulla WadaskarTypical example of kwimage.cfg file:
69aa0c7a86SPrafulla Wadaskar-----------------------------------
70aa0c7a86SPrafulla Wadaskar
71aa0c7a86SPrafulla Wadaskar# Boot Media configurations
72aa0c7a86SPrafulla WadaskarBOOT_FROM	nand
73aa0c7a86SPrafulla WadaskarNAND_ECC_MODE	default
74aa0c7a86SPrafulla WadaskarNAND_PAGE_SIZE	0x0800
75aa0c7a86SPrafulla Wadaskar
76aa0c7a86SPrafulla Wadaskar# Configure RGMII-0 interface pad voltage to 1.8V
77aa0c7a86SPrafulla WadaskarDATA 0xFFD100e0 0x1b1b1b9b
78aa0c7a86SPrafulla Wadaskar# DRAM Configuration
79aa0c7a86SPrafulla WadaskarDATA 0xFFD01400 0x43000c30
80aa0c7a86SPrafulla WadaskarDATA 0xFFD01404 0x37543000
81aa0c7a86SPrafulla WadaskarDATA 0xFFD01408 0x22125451
82aa0c7a86SPrafulla WadaskarDATA 0xFFD0140C 0x00000a33
83aa0c7a86SPrafulla WadaskarDATA 0xFFD01410 0x000000cc
84aa0c7a86SPrafulla WadaskarDATA 0xFFD01414 0x00000000
85aa0c7a86SPrafulla WadaskarDATA 0xFFD01418 0x00000000
86aa0c7a86SPrafulla WadaskarDATA 0xFFD0141C 0x00000C52
87aa0c7a86SPrafulla WadaskarDATA 0xFFD01420 0x00000040
88aa0c7a86SPrafulla WadaskarDATA 0xFFD01424 0x0000F17F
89aa0c7a86SPrafulla WadaskarDATA 0xFFD01428 0x00085520
90aa0c7a86SPrafulla WadaskarDATA 0xFFD0147C 0x00008552
91aa0c7a86SPrafulla WadaskarDATA 0xFFD01504 0x0FFFFFF1
92aa0c7a86SPrafulla WadaskarDATA 0xFFD01508 0x10000000
93aa0c7a86SPrafulla WadaskarDATA 0xFFD0150C 0x0FFFFFF5
94aa0c7a86SPrafulla WadaskarDATA 0xFFD01514 0x00000000
95aa0c7a86SPrafulla WadaskarDATA 0xFFD0151C 0x00000000
96aa0c7a86SPrafulla WadaskarDATA 0xFFD01494 0x00030000
97aa0c7a86SPrafulla WadaskarDATA 0xFFD01498 0x00000000
98aa0c7a86SPrafulla WadaskarDATA 0xFFD0149C 0x0000E803
99aa0c7a86SPrafulla WadaskarDATA 0xFFD01480 0x00000001
100aa0c7a86SPrafulla Wadaskar# End of Header extension
101aa0c7a86SPrafulla WadaskarDATA 0x0 0x0
102aa0c7a86SPrafulla Wadaskar
103aa0c7a86SPrafulla Wadaskar------------------------------------------------
104aa0c7a86SPrafulla WadaskarAuthor: Prafulla Wadaskar <prafulla@marvell.com>
105