Offset 0x1 in the generated kwb image file is a set of flags, bit 0
enables debug output from the BootROM firmware.  Allow a DEBUG option in
the kwb configuration to request debug output from the BootROM firmware.

Signed-off-by: Chris Packham <judge.pack...@gmail.com>
---

 tools/kwbimage.c | 9 +++++++++
 tools/kwbimage.h | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/tools/kwbimage.c b/tools/kwbimage.c
index ad182c5c5d9a..69844d916965 100644
--- a/tools/kwbimage.c
+++ b/tools/kwbimage.c
@@ -69,6 +69,7 @@ struct image_cfg_element {
                IMAGE_CFG_PAYLOAD,
                IMAGE_CFG_DATA,
                IMAGE_CFG_BAUDRATE,
+               IMAGE_CFG_DEBUG,
        } type;
        union {
                unsigned int version;
@@ -87,6 +88,7 @@ struct image_cfg_element {
                unsigned int nandpagesz;
                struct ext_hdr_v0_reg regdata;
                unsigned int baudrate;
+               unsigned int debug;
        };
 };
 
@@ -425,6 +427,9 @@ static void *image_create_v1(size_t *imagesz, struct 
image_tool_params *params,
        e = image_find_option(IMAGE_CFG_BAUDRATE);
        if (e)
                main_hdr->options = baudrate_to_option(e->baudrate);
+       e = image_find_option(IMAGE_CFG_DEBUG);
+       if (e)
+               main_hdr->flags = e->debug ? 0x1 : 0;
 
        binarye = image_find_option(IMAGE_CFG_BINARY);
        if (binarye) {
@@ -579,6 +584,10 @@ static int image_create_config_parse_oneline(char *line,
                char *value = strtok_r(NULL, deliminiters, &saveptr);
                el->type = IMAGE_CFG_BAUDRATE;
                el->baudrate = strtoul(value, NULL, 10);
+       } else if (!strcmp(keyword, "DEBUG")) {
+               char *value = strtok_r(NULL, deliminiters, &saveptr);
+               el->type = IMAGE_CFG_DEBUG;
+               el->debug = strtoul(value, NULL, 10);
        } else {
                fprintf(stderr, "Ignoring unknown line '%s'\n", line);
        }
diff --git a/tools/kwbimage.h b/tools/kwbimage.h
index 9b06004a0b10..01c2f1f3238b 100644
--- a/tools/kwbimage.h
+++ b/tools/kwbimage.h
@@ -73,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 */
-- 
2.10.2

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to