ARM: mxs: tools: Add support for boot progress display flag
mkimage -T mxs now support new flag in config file: DISPLAYPROGRESS - makes boot process print HTLLC characters for each BootROM instruction. Signed-off-by: Alexey Ignatov <lexszero@gmail.com>
This commit is contained in:
parent
f196044dfd
commit
7a139959d0
@ -1,3 +1,4 @@
|
|||||||
|
DISPLAYPROGRESS
|
||||||
SECTION 0x0 BOOTABLE
|
SECTION 0x0 BOOTABLE
|
||||||
TAG LAST
|
TAG LAST
|
||||||
LOAD 0x1000 spl/u-boot-spl.bin
|
LOAD 0x1000 spl/u-boot-spl.bin
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
DISPLAYPROGRESS
|
||||||
SECTION 0x0 BOOTABLE
|
SECTION 0x0 BOOTABLE
|
||||||
TAG LAST
|
TAG LAST
|
||||||
LOAD 0x1000 spl/u-boot-spl.bin
|
LOAD 0x1000 spl/u-boot-spl.bin
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
DISPLAYPROGRESS
|
||||||
SECTION 0x0 BOOTABLE
|
SECTION 0x0 BOOTABLE
|
||||||
TAG LAST
|
TAG LAST
|
||||||
LOAD 0x1000 spl/u-boot-spl.bin
|
LOAD 0x1000 spl/u-boot-spl.bin
|
||||||
|
@ -27,7 +27,7 @@ These semantics and rules will be outlined now.
|
|||||||
- Each line of the configuration file contains exactly one instruction.
|
- Each line of the configuration file contains exactly one instruction.
|
||||||
- Every numeric value must be encoded in hexadecimal and in format 0xabcdef12 .
|
- Every numeric value must be encoded in hexadecimal and in format 0xabcdef12 .
|
||||||
- The configuration file is a concatenation of blocks called "sections" and
|
- The configuration file is a concatenation of blocks called "sections" and
|
||||||
optionally "DCD blocks" (see below).
|
optionally "DCD blocks" (see below), and optional flags lines.
|
||||||
- Each "section" is started by the "SECTION" instruction.
|
- Each "section" is started by the "SECTION" instruction.
|
||||||
- The "SECTION" instruction has the following semantics:
|
- The "SECTION" instruction has the following semantics:
|
||||||
|
|
||||||
@ -139,9 +139,14 @@ These semantics and rules will be outlined now.
|
|||||||
NOOP
|
NOOP
|
||||||
- This instruction does nothing.
|
- This instruction does nothing.
|
||||||
|
|
||||||
- If the verbose output from the BootROM is enabled, the BootROM will produce a
|
- An optional flags lines can be one of the following:
|
||||||
letter on the Debug UART for each instruction it started processing. Here is a
|
|
||||||
mapping between the above instructions and the BootROM verbose output:
|
DISPLAYPROGRESS
|
||||||
|
- Enable boot progress output form the BootROM.
|
||||||
|
|
||||||
|
- If the boot progress output from the BootROM is enabled, the BootROM will
|
||||||
|
produce a letter on the Debug UART for each instruction it started processing.
|
||||||
|
Here is a mapping between the above instructions and the BootROM output:
|
||||||
|
|
||||||
H -- SB Image header loaded
|
H -- SB Image header loaded
|
||||||
T -- TAG instruction
|
T -- TAG instruction
|
||||||
|
@ -125,7 +125,7 @@ struct sb_image_ctx {
|
|||||||
unsigned int in_section:1;
|
unsigned int in_section:1;
|
||||||
unsigned int in_dcd:1;
|
unsigned int in_dcd:1;
|
||||||
/* Image configuration */
|
/* Image configuration */
|
||||||
unsigned int verbose_boot:1;
|
unsigned int display_progress:1;
|
||||||
unsigned int silent_dump:1;
|
unsigned int silent_dump:1;
|
||||||
char *input_filename;
|
char *input_filename;
|
||||||
char *output_filename;
|
char *output_filename;
|
||||||
@ -1308,8 +1308,8 @@ static int sb_prefill_image_header(struct sb_image_ctx *ictx)
|
|||||||
sizeof(struct sb_sections_header) / SB_BLOCK_SIZE;
|
sizeof(struct sb_sections_header) / SB_BLOCK_SIZE;
|
||||||
hdr->timestamp_us = sb_get_timestamp() * 1000000;
|
hdr->timestamp_us = sb_get_timestamp() * 1000000;
|
||||||
|
|
||||||
/* FIXME -- add proper config option */
|
hdr->flags = ictx->display_progress ?
|
||||||
hdr->flags = ictx->verbose_boot ? SB_IMAGE_FLAG_VERBOSE : 0,
|
SB_IMAGE_FLAG_DISPLAY_PROGRESS : 0;
|
||||||
|
|
||||||
/* FIXME -- We support only default key */
|
/* FIXME -- We support only default key */
|
||||||
hdr->key_count = 1;
|
hdr->key_count = 1;
|
||||||
@ -1428,6 +1428,12 @@ static int sb_parse_line(struct sb_image_ctx *ictx, struct sb_cmd_list *cmd)
|
|||||||
|
|
||||||
cmd->cmd = rptr;
|
cmd->cmd = rptr;
|
||||||
|
|
||||||
|
/* set DISPLAY_PROGRESS flag */
|
||||||
|
if (!strcmp(tok, "DISPLAYPROGRESS")) {
|
||||||
|
ictx->display_progress = 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* DCD */
|
/* DCD */
|
||||||
if (!strcmp(tok, "DCD")) {
|
if (!strcmp(tok, "DCD")) {
|
||||||
ictx->in_section = 0;
|
ictx->in_section = 0;
|
||||||
@ -1681,10 +1687,11 @@ static int sb_verify_image_header(struct sb_image_ctx *ictx,
|
|||||||
ntohs(hdr->component_version.minor),
|
ntohs(hdr->component_version.minor),
|
||||||
ntohs(hdr->component_version.revision));
|
ntohs(hdr->component_version.revision));
|
||||||
|
|
||||||
if (hdr->flags & ~SB_IMAGE_FLAG_VERBOSE)
|
if (hdr->flags & ~SB_IMAGE_FLAGS_MASK)
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
soprintf(ictx, "%s Image flags: %s\n", stat[!!ret],
|
soprintf(ictx, "%s Image flags: %s\n", stat[!!ret],
|
||||||
hdr->flags & SB_IMAGE_FLAG_VERBOSE ? "Verbose_boot" : "");
|
hdr->flags & SB_IMAGE_FLAG_DISPLAY_PROGRESS ?
|
||||||
|
"Display_progress" : "");
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@ -2287,7 +2294,6 @@ static int mxsimage_generate(struct image_tool_params *params,
|
|||||||
|
|
||||||
ctx.cfg_filename = params->imagename;
|
ctx.cfg_filename = params->imagename;
|
||||||
ctx.output_filename = params->imagefile;
|
ctx.output_filename = params->imagefile;
|
||||||
ctx.verbose_boot = 1;
|
|
||||||
|
|
||||||
ret = sb_build_tree_from_cfg(&ctx);
|
ret = sb_build_tree_from_cfg(&ctx);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
@ -81,8 +81,9 @@ struct sb_boot_image_header {
|
|||||||
#define SB_VERSION_MAJOR 1
|
#define SB_VERSION_MAJOR 1
|
||||||
#define SB_VERSION_MINOR 1
|
#define SB_VERSION_MINOR 1
|
||||||
|
|
||||||
/* Enable to HTLLC verbose boot report. */
|
/* Enable to HTLLC boot report. */
|
||||||
#define SB_IMAGE_FLAG_VERBOSE (1 << 0)
|
#define SB_IMAGE_FLAG_DISPLAY_PROGRESS (1 << 0)
|
||||||
|
#define SB_IMAGE_FLAGS_MASK SB_IMAGE_FLAG_DISPLAY_PROGRESS
|
||||||
|
|
||||||
struct sb_key_dictionary_key {
|
struct sb_key_dictionary_key {
|
||||||
/* The CBC-MAC of image and sections header. */
|
/* The CBC-MAC of image and sections header. */
|
||||||
|
Loading…
Reference in New Issue
Block a user