X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=tools%2Fmkimage.h;h=af491544e42b5557a1e06c0afd0aef50d6fa010d;hb=bb02c5366052f8aa619961e98cd2ef74631ce8f6;hp=120970fc68fed9123b4a630fb6149abf4a90b836;hpb=c7138920b85ac05c7601105dd9961142995191cf;p=karo-tx-uboot.git diff --git a/tools/mkimage.h b/tools/mkimage.h index 120970fc68..af491544e4 100644 --- a/tools/mkimage.h +++ b/tools/mkimage.h @@ -3,20 +3,7 @@ * DENX Software Engineering * Wolfgang Denk, wd@denx.de * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * SPDX-License-Identifier: GPL-2.0+ */ #ifndef _MKIIMAGE_H_ @@ -42,12 +29,26 @@ #define debug(fmt,args...) #endif /* MKIMAGE_DEBUG */ +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) + +static inline void *map_sysmem(ulong paddr, unsigned long len) +{ + return (void *)(uintptr_t)paddr; +} + +static inline ulong map_to_sysmem(void *ptr) +{ + return (ulong)(uintptr_t)ptr; +} + #define MKIMAGE_TMPFILE_SUFFIX ".tmp" #define MKIMAGE_MAX_TMPFILE_LEN 256 #define MKIMAGE_DEFAULT_DTC_OPTIONS "-I dts -O dtb -p 500" #define MKIMAGE_MAX_DTC_CMDLINE_LEN 512 #define MKIMAGE_DTC "dtc" /* assume dtc is in $PATH */ +#define IH_ARCH_DEFAULT IH_ARCH_INVALID + /* * This structure defines all such variables those are initialized by * mkimage main core and need to be referred by image type specific @@ -60,6 +61,7 @@ struct mkimage_params { int lflag; int vflag; int xflag; + int skipcpy; int os; int arch; int type; @@ -68,9 +70,14 @@ struct mkimage_params { unsigned int addr; unsigned int ep; char *imagename; + char *imagename2; char *datafile; char *imagefile; char *cmdname; + const char *keydir; /* Directory holding private keys */ + const char *keydest; /* Destination .dtb for public key */ + const char *comment; /* Comment to add to signature node */ + int require_keys; /* 1 to mark signing keys as 'required' */ }; /* @@ -104,7 +111,7 @@ struct image_type_params { */ int (*verify_header) (unsigned char *, int, struct mkimage_params *); /* Prints image information abstracting from image header */ - void (*print_header) (void *); + void (*print_header) (const void *); /* * The header or image contents need to be set as per image type to * be generated using this callback function. @@ -122,6 +129,16 @@ struct image_type_params { int (*check_image_type) (uint8_t); /* This callback function will be executed if fflag is defined */ int (*fflag_handle) (struct mkimage_params *); + /* + * This callback function will be executed for variable size record + * It is expected to build this header in memory and return its length + * and a pointer to it by using image_type_params.header_size and + * image_type_params.hdr. The return value shall indicate if an + * additional padding should be used when copying the data image + * by returning the padding length. + */ + int (*vrec_header) (struct mkimage_params *, + struct image_type_params *); /* pointer to the next registered entry in linked list */ struct image_type_params *next; }; @@ -139,7 +156,15 @@ void mkimage_register (struct image_type_params *tparams); * * Supported image types init functions */ +void pbl_load_uboot(int fd, struct mkimage_params *mparams); +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_default_image_type (void); void init_fit_image_type (void); +void init_ubl_image_type(void); +void init_omap_image_type(void); #endif /* _MKIIMAGE_H_ */