mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 08:59:33 +00:00
tools/kwbimage: add DEBUG option
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.packham@gmail.com> Signed-off-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
4bdb547978
commit
2611c05e84
2 changed files with 10 additions and 1 deletions
|
@ -69,6 +69,7 @@ struct image_cfg_element {
|
||||||
IMAGE_CFG_PAYLOAD,
|
IMAGE_CFG_PAYLOAD,
|
||||||
IMAGE_CFG_DATA,
|
IMAGE_CFG_DATA,
|
||||||
IMAGE_CFG_BAUDRATE,
|
IMAGE_CFG_BAUDRATE,
|
||||||
|
IMAGE_CFG_DEBUG,
|
||||||
} type;
|
} type;
|
||||||
union {
|
union {
|
||||||
unsigned int version;
|
unsigned int version;
|
||||||
|
@ -87,6 +88,7 @@ struct image_cfg_element {
|
||||||
unsigned int nandpagesz;
|
unsigned int nandpagesz;
|
||||||
struct ext_hdr_v0_reg regdata;
|
struct ext_hdr_v0_reg regdata;
|
||||||
unsigned int baudrate;
|
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);
|
e = image_find_option(IMAGE_CFG_BAUDRATE);
|
||||||
if (e)
|
if (e)
|
||||||
main_hdr->options = baudrate_to_option(e->baudrate);
|
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);
|
binarye = image_find_option(IMAGE_CFG_BINARY);
|
||||||
if (binarye) {
|
if (binarye) {
|
||||||
|
@ -579,6 +584,10 @@ static int image_create_config_parse_oneline(char *line,
|
||||||
char *value = strtok_r(NULL, deliminiters, &saveptr);
|
char *value = strtok_r(NULL, deliminiters, &saveptr);
|
||||||
el->type = IMAGE_CFG_BAUDRATE;
|
el->type = IMAGE_CFG_BAUDRATE;
|
||||||
el->baudrate = strtoul(value, NULL, 10);
|
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 {
|
} else {
|
||||||
fprintf(stderr, "Ignoring unknown line '%s'\n", line);
|
fprintf(stderr, "Ignoring unknown line '%s'\n", line);
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,7 +73,7 @@ struct kwb_header {
|
||||||
/* Structure of the main header, version 1 (Armada 370, Armada XP) */
|
/* Structure of the main header, version 1 (Armada 370, Armada XP) */
|
||||||
struct main_hdr_v1 {
|
struct main_hdr_v1 {
|
||||||
uint8_t blockid; /* 0 */
|
uint8_t blockid; /* 0 */
|
||||||
uint8_t reserved1; /* 1 */
|
uint8_t flags; /* 1 */
|
||||||
uint16_t reserved2; /* 2-3 */
|
uint16_t reserved2; /* 2-3 */
|
||||||
uint32_t blocksize; /* 4-7 */
|
uint32_t blocksize; /* 4-7 */
|
||||||
uint8_t version; /* 8 */
|
uint8_t version; /* 8 */
|
||||||
|
|
Loading…
Reference in a new issue