]> git.sur5r.net Git - u-boot/blobdiff - tools/imximage.h
Merge branch 'master' of git://git.denx.de/u-boot-socfpga
[u-boot] / tools / imximage.h
index d41c74f327e070f6503ee427cc4821f4289c5c4b..db8b9a3dd487455d01eb0d25b2efb49e83f8b27b 100644 (file)
@@ -9,6 +9,7 @@
 #define _IMXIMAGE_H_
 
 #define MAX_HW_CFG_SIZE_V2 220 /* Max number of registers imx can set for v2 */
+#define MAX_PLUGIN_CODE_SIZE (64 * 1024)
 #define MAX_HW_CFG_SIZE_V1 60  /* Max number of registers imx can set for v1 */
 #define APP_CODE_BARKER        0xB1
 #define DCD_BARKER     0xB17219E9
@@ -64,6 +65,7 @@ enum imximage_cmd {
        CMD_CHECK_BITS_SET,
        CMD_CHECK_BITS_CLR,
        CMD_CSF,
+       CMD_PLUGIN,
 };
 
 enum imximage_fld_types {
@@ -133,10 +135,14 @@ typedef struct {
        uint8_t param;
 } __attribute__((packed)) write_dcd_command_t;
 
-typedef struct {
-       ivt_header_t header;
+struct dcd_v2_cmd {
        write_dcd_command_t write_dcd_command;
        dcd_addr_data_t addr_data[MAX_HW_CFG_SIZE_V2];
+};
+
+typedef struct {
+       ivt_header_t header;
+       struct dcd_v2_cmd dcd_cmd;
        uint32_t padding[1]; /* end up on an 8-byte boundary */
 } dcd_v2_t;
 
@@ -160,7 +166,10 @@ typedef struct {
 typedef struct {
        flash_header_v2_t fhdr;
        boot_data_t boot_data;
-       dcd_v2_t dcd_table;
+       union {
+               dcd_v2_t dcd_table;
+               char plugin_code[MAX_PLUGIN_CODE_SIZE];
+       } data;
 } imx_header_v2_t;
 
 /* The header must be aligned to 4k on MX53 for NAND boot */