@ -19,6 +19,16 @@
# include <time.h>
# include <unistd.h>
# include <u-boot/sha1.h>
/* define __KERNEL__ in order to get the definitions
* required by the linker list . This is probably not
* the best way to do this */
# ifndef __KERNEL__
# define __KERNEL__
# include <linker_lists.h>
# undef __KERNEL__
# endif /* __KERNEL__ */
# include "fdt_host.h"
# define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
@ -127,29 +137,8 @@ struct image_type_params {
*/
int ( * vrec_header ) ( struct image_tool_params * ,
struct image_type_params * ) ;
/* pointer to the next registered entry in linked list */
struct image_type_params * next ;
} ;
/*
* Tool registration function .
*/
typedef void ( * imagetool_register_t ) ( struct image_type_params * ) ;
/*
* Initializes all image types with the given registration callback
* function .
* An image tool uses this function to initialize all image types .
*/
void register_image_tool ( imagetool_register_t image_register ) ;
/*
* Register a image type within a tool .
* An image type uses this function to register itself within
* all tools .
*/
void register_image_type ( struct image_type_params * tparams ) ;
/**
* imagetool_get_type ( ) - find the image type params for a given image type
*
@ -161,9 +150,7 @@ void register_image_type(struct image_type_params *tparams);
* if input type_id is not supported by any of image_type_support
* returns NULL
*/
struct image_type_params * imagetool_get_type (
int type ,
struct image_type_params * tparams ) ;
struct image_type_params * imagetool_get_type ( int type ) ;
/*
* imagetool_verify_print_header ( ) - verifies the image header
@ -201,24 +188,37 @@ int imagetool_save_datafile(
/*
* There is a c file associated with supported image type low level code
* for ex . default_image . c , fit_image . c
* init_xxx_type ( ) is the only function referred by image tool core to avoid
* a single lined header file , you can define them here
*
* Supported image types init functions
*/
void init_default_image_type ( void ) ;
void init_atmel_image_type ( void ) ;
void init_pbl_image_type ( void ) ;
void init_ais_image_type ( void ) ;
void init_kwb_image_type ( void ) ;
void init_imx_image_type ( void ) ;
void init_mxs_image_type ( void ) ;
void init_fit_image_type ( void ) ;
void init_ubl_image_type ( void ) ;
void init_omap_image_type ( void ) ;
void init_socfpga_image_type ( void ) ;
void init_gpimage_type ( void ) ;
void pbl_load_uboot ( int fd , struct image_tool_params * mparams ) ;
# define U_BOOT_IMAGE_TYPE( \
_id , \
_name , \
_header_size , \
_header , \
_check_params , \
_verify_header , \
_print_header , \
_set_header , \
_extract_datafile , \
_check_image_type , \
_fflag_handle , \
_vrec_header \
) \
ll_entry_declare ( struct image_type_params , _id , image_type ) = { \
. name = _name , \
. header_size = _header_size , \
. hdr = _header , \
. check_params = _check_params , \
. verify_header = _verify_header , \
. print_header = _print_header , \
. set_header = _set_header , \
. extract_datafile = _extract_datafile , \
. check_image_type = _check_image_type , \
. fflag_handle = _fflag_handle , \
. vrec_header = _vrec_header \
}
# endif /* _IMAGETOOL_H_ */