mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 12:08:19 +00:00 
			
		
		
		
	The new atmelimage converts a machine code BLOB to bootable ROM image. Atmel ROM has no sophisticated image format, it only checks the first 7 ARM vectors. The vectors can contain valid B or LDR opcodes, the 6'th vector contains the image size to load. Additionally the PMECC header can be written by the atmelimage target. The parameters must be given via the -n switch as a coma separated list. For example: mkimage -T atmelimage \ -n usePmecc=1,sectorPerPage=4,sectorSize=512,spareSize=64,eccBits=4,eccOffset=36 \ -d spl/u-boot-spl.bin boot.bin A provided image can be checked for correct header setup. It prints out the PMECC header parameters if it has one and the 6'th interrupt vector content. ---8<--- Image Type: ATMEL ROM-Boot Image with PMECC Header PMECC header ==================== eccOffset: 36 sectorSize: 512 eccBitReq: 4 spareSize: 64 nbSectorPerPage: 4 usePmecc: 1 ==================== 6'th vector has 17044 set --->8--- A SPL binary modified with the atmelimage mkimage target was succesfully booted on a sama5d34ek via MMC and NAND. Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com> Cc: Bo Shen <voice.shen@atmel.com> Cc: Heiko Schocher <hs@denx.de> Tested-by: Bo Shen <voice.shen@atmel.com>
		
			
				
	
	
		
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * (C) Copyright 2013
 | |
|  *
 | |
|  * Written by Guilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| #include "imagetool.h"
 | |
| 
 | |
| /*
 | |
|  * Callback function to register a image type within a tool
 | |
|  */
 | |
| static imagetool_register_t register_func;
 | |
| 
 | |
| /*
 | |
|  * register_image_tool -
 | |
|  *
 | |
|  * The tool provides its own registration function in order to all image
 | |
|  * types initialize themselves.
 | |
|  */
 | |
| void register_image_tool(imagetool_register_t image_register)
 | |
| {
 | |
| 	/*
 | |
| 	 * Save the image tool callback function. It will be used to register
 | |
| 	 * image types within that tool
 | |
| 	 */
 | |
| 	register_func = image_register;
 | |
| 
 | |
| 	/* Init ATMEL ROM Boot Image generation/list support */
 | |
| 	init_atmel_image_type();
 | |
| 	/* Init Freescale PBL Boot image generation/list support */
 | |
| 	init_pbl_image_type();
 | |
| 	/* Init Kirkwood Boot image generation/list support */
 | |
| 	init_kwb_image_type();
 | |
| 	/* Init Freescale imx Boot image generation/list support */
 | |
| 	init_imx_image_type();
 | |
| 	/* Init Freescale mxs Boot image generation/list support */
 | |
| 	init_mxs_image_type();
 | |
| 	/* Init FIT image generation/list support */
 | |
| 	init_fit_image_type();
 | |
| 	/* Init TI OMAP Boot image generation/list support */
 | |
| 	init_omap_image_type();
 | |
| 	/* Init Default image generation/list support */
 | |
| 	init_default_image_type();
 | |
| 	/* Init Davinci UBL support */
 | |
| 	init_ubl_image_type();
 | |
| 	/* Init Davinci AIS support */
 | |
| 	init_ais_image_type();
 | |
| 	/* Init TI Keystone boot image generation/list support */
 | |
| 	init_gpimage_type();
 | |
| }
 | |
| 
 | |
| /*
 | |
|  * register_image_type -
 | |
|  *
 | |
|  * Register a image type within a tool
 | |
|  */
 | |
| void register_image_type(struct image_type_params *tparams)
 | |
| {
 | |
| 	register_func(tparams);
 | |
| }
 |