X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=tools%2Fmkimage.h;h=950e19067f0a34b25328b5d691bd51d0b56a63fd;hp=d109d403ff8744e50fe01a75d11ec39f1a604c15;hb=3b7891f1498f77e7df66b7955accb946e9eb6037;hpb=1902692aa0b2dcbb9351172be03c57d1e82447e4 diff --git a/tools/mkimage.h b/tools/mkimage.h index d109d403ff..950e19067f 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' */ }; /* @@ -122,6 +129,13 @@ 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 + */ + 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,10 +153,14 @@ 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_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_ */