Skip to content
Snippets Groups Projects
README.kwbimage 2.99 KiB
Newer Older
  • Learn to ignore specific revisions
  • ---------------------------------------------
    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>