]> git.sur5r.net Git - u-boot/blobdiff - tools/kwbimage.h
tools/kwbimage: add DEBUG option
[u-boot] / tools / kwbimage.h
index 9d2585c0e727238689520cf92747d8da5bfa017c..01c2f1f3238b57e4e9b78029c6331cf2b02abb5c 100644 (file)
@@ -9,6 +9,7 @@
 #ifndef _KWBIMAGE_H_
 #define _KWBIMAGE_H_
 
+#include <compiler.h>
 #include <stdint.h>
 
 #define KWBIMAGE_MAX_CONFIG    ((0x1dc - 0x20)/sizeof(struct reg_config))
@@ -72,7 +73,7 @@ struct kwb_header {
 /* Structure of the main header, version 1 (Armada 370, Armada XP) */
 struct main_hdr_v1 {
        uint8_t  blockid;               /* 0 */
-       uint8_t  reserved1;             /* 1 */
+       uint8_t  flags;                 /* 1 */
        uint16_t reserved2;             /* 2-3 */
        uint32_t blocksize;             /* 4-7 */
        uint8_t  version;               /* 8 */
@@ -81,7 +82,7 @@ struct main_hdr_v1 {
        uint32_t srcaddr;               /* C-F */
        uint32_t destaddr;              /* 10-13 */
        uint32_t execaddr;              /* 14-17 */
-       uint8_t  reserved3;             /* 18 */
+       uint8_t  options;               /* 18 */
        uint8_t  nandblocksize;         /* 19 */
        uint8_t  nandbadblklocation;    /* 1A */
        uint8_t  reserved4;             /* 1B */
@@ -90,6 +91,18 @@ struct main_hdr_v1 {
        uint8_t  checksum;              /* 1F */
 };
 
+/*
+ * Main header options
+ */
+#define MAIN_HDR_V1_OPT_BAUD_DEFAULT   0
+#define MAIN_HDR_V1_OPT_BAUD_2400      0x1
+#define MAIN_HDR_V1_OPT_BAUD_4800      0x2
+#define MAIN_HDR_V1_OPT_BAUD_9600      0x3
+#define MAIN_HDR_V1_OPT_BAUD_19200     0x4
+#define MAIN_HDR_V1_OPT_BAUD_38400     0x5
+#define MAIN_HDR_V1_OPT_BAUD_57600     0x6
+#define MAIN_HDR_V1_OPT_BAUD_115200    0x7
+
 /*
  * Header for the optional headers, version 1 (Armada 370, Armada XP)
  */
@@ -115,7 +128,7 @@ struct opt_hdr_v1 {
 #define OPT_HDR_V1_REGISTER_TYPE 0x3
 
 #define KWBHEADER_V1_SIZE(hdr) \
-       (((hdr)->headersz_msb << 16) | (hdr)->headersz_lsb)
+       (((hdr)->headersz_msb << 16) | le16_to_cpu((hdr)->headersz_lsb))
 
 enum kwbimage_cmd {
        CMD_INVALID,