]> git.sur5r.net Git - u-boot/blobdiff - include/image.h
Merge branch 'master' into next
[u-boot] / include / image.h
index 4a7bf7820a8e0ad55ecb04113730986d23a9fa50..d2e78fe298376aa17b442d7891ac990ab3c35cb4 100644 (file)
 #define IH_TYPE_SCRIPT         6       /* Script file                  */
 #define IH_TYPE_FILESYSTEM     7       /* Filesystem Image (any type)  */
 #define IH_TYPE_FLATDT         8       /* Binary Flat Device Tree Blob */
+#define IH_TYPE_KWBIMAGE       9       /* Kirkwood Boot Image          */
 
 /*
  * Compression Types
 #define IH_COMP_GZIP           1       /* gzip  Compression Used       */
 #define IH_COMP_BZIP2          2       /* bzip2 Compression Used       */
 #define IH_COMP_LZMA           3       /* lzma  Compression Used       */
+#define IH_COMP_LZO            4       /* lzo   Compression Used       */
 
 #define IH_MAGIC       0x27051956      /* Image Magic Number           */
 #define IH_NMLEN               32      /* Image Name Length            */
@@ -218,12 +220,10 @@ typedef struct bootm_headers {
        const char      *fit_uname_rd;  /* init ramdisk subimage node unit name */
        int             fit_noffset_rd; /* init ramdisk subimage node offset */
 
-#if defined(CONFIG_PPC)
        void            *fit_hdr_fdt;   /* FDT blob FIT image header */
        const char      *fit_uname_fdt; /* FDT blob subimage node unit name */
        int             fit_noffset_fdt;/* FDT blob subimage node offset */
 #endif
-#endif
 
 #ifndef USE_HOSTCC
        image_info_t    os;             /* os image info */
@@ -284,6 +284,30 @@ typedef struct bootm_headers {
 #define uimage_to_cpu(x)               be32_to_cpu(x)
 #define cpu_to_uimage(x)               cpu_to_be32(x)
 
+/*
+ * Translation table for entries of a specific type; used by
+ * get_table_entry_id() and get_table_entry_name().
+ */
+typedef struct table_entry {
+       int     id;
+       char    *sname;         /* short (input) name to find table entry */
+       char    *lname;         /* long (output) name to print for messages */
+} table_entry_t;
+
+/*
+ * get_table_entry_id() scans the translation table trying to find an
+ * entry that matches the given short name. If a matching entry is
+ * found, it's id is returned to the caller.
+ */
+int get_table_entry_id (table_entry_t *table,
+               const char *table_name, const char *name);
+/*
+ * get_table_entry_name() scans the translation table trying to find
+ * an entry that matches the given id. If a matching entry is found,
+ * its long name is returned to the caller.
+ */
+char *get_table_entry_name (table_entry_t *table, char *msg, int id);
+
 const char *genimg_get_os_name (uint8_t os);
 const char *genimg_get_arch_name (uint8_t arch);
 const char *genimg_get_type_name (uint8_t type);