Skip to contentSkip to conversation

ARM: mxs: tools: Add support for boot progress display flag

PATCH Superseded Alexey Ignatov 2 participants 4 messages Oct 9, 2014

Subsystems (2)

v3 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 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.

---
 arch/arm/cpu/arm926ejs/mxs/mxsimage-signed.cfg |  1 +
 arch/arm/cpu/arm926ejs/mxs/mxsimage.mx23.cfg   |  1 +
 arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg   |  1 +
 doc/README.mxsimage                            | 13 +++++++++----
 tools/mxsimage.c                               | 16 ++++++++++------
 tools/mxsimage.h                               |  5 +++--
 6 files changed, 25 insertions(+), 12 deletions(-)
arch/arm/cpu/arm926ejs/mxs/mxsimage-signed.cfg +1 -0
index 1520bba..83953da 100644
@@ -1,3 +1,4 @@
+DISPLAYPROGRESS
 SECTION 0x0 BOOTABLE
  TAG LAST
  LOAD     0x1000     spl/u-boot-spl.bin
arch/arm/cpu/arm926ejs/mxs/mxsimage.mx23.cfg +1 -0
index 55510e9..e702809 100644
@@ -1,3 +1,4 @@
+DISPLAYPROGRESS
 SECTION 0x0 BOOTABLE
  TAG LAST
  LOAD     0x1000     spl/u-boot-spl.bin
arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg +1 -0
index bb78cb0..3f7bf59 100644
@@ -1,3 +1,4 @@
+DISPLAYPROGRESS
 SECTION 0x0 BOOTABLE
  TAG LAST
  LOAD     0x1000     spl/u-boot-spl.bin
doc/README.mxsimage +9 -4
index 0d31cba..c3975ee 100644
@@ -27,7 +27,7 @@ These semantics and rules will be outlined now.
 - Each line of the configuration file contains exactly one instruction.
 - Every numeric value must be encoded in hexadecimal and in format 0xabcdef12 .
 - 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.
   - The "SECTION" instruction has the following semantics:
 
@@ -139,9 +139,14 @@ These semantics and rules will be outlined now.
 	NOOP
 	- This instruction does nothing.
 
-- If the verbose 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 verbose output:
+  - An optional flags lines can be one of the following:
+
+	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
    T -- TAG instruction
tools/mxsimage.c +10 -6
index 81c7f2d..ab18041 100644
@@ -125,7 +125,7 @@ struct sb_image_ctx {
 	unsigned int			in_section:1;
 	unsigned int			in_dcd:1;
 	/* Image configuration */
-	unsigned int			verbose_boot:1;
+	unsigned int			display_progress:1;
 	unsigned int			silent_dump:1;
 	char				*input_filename;
 	char				*output_filename;
@@ -1308,8 +1308,7 @@ static int sb_prefill_image_header(struct sb_image_ctx *ictx)
 		sizeof(struct sb_sections_header) / SB_BLOCK_SIZE;
 	hdr->timestamp_us = sb_get_timestamp() * 1000000;
 
-	/* FIXME -- add proper config option */
-	hdr->flags = ictx->verbose_boot ? SB_IMAGE_FLAG_VERBOSE : 0,
+	hdr->flags = ictx->display_progress ? SB_IMAGE_FLAG_DISPLAY_PROGRESS : 0;
 
 	/* FIXME -- We support only default key */
 	hdr->key_count = 1;
@@ -1427,6 +1426,12 @@ static int sb_parse_line(struct sb_image_ctx *ictx, struct sb_cmd_list *cmd)
 	}
 
 	cmd->cmd = rptr;
+	
+	/* set DISPLAY_PROGRESS flag */
+	if (!strcmp(tok, "DISPLAYPROGRESS")) {
+		ictx->display_progress = 1;
+		return 0;
+	}
 
 	/* DCD */
 	if (!strcmp(tok, "DCD")) {
@@ -1681,10 +1686,10 @@ static int sb_verify_image_header(struct sb_image_ctx *ictx,
 		 ntohs(hdr->component_version.minor),
 		 ntohs(hdr->component_version.revision));
 
-	if (hdr->flags & ~SB_IMAGE_FLAG_VERBOSE)
+	if (hdr->flags & ~SB_IMAGE_FLAGS_MASK)
 		ret = -EINVAL;
 	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)
 		return ret;
 
@@ -2287,7 +2292,6 @@ static int mxsimage_generate(struct image_tool_params *params,
 
 	ctx.cfg_filename = params->imagename;
 	ctx.output_filename = params->imagefile;
-	ctx.verbose_boot = 1;
 
 	ret = sb_build_tree_from_cfg(&ctx);
 	if (ret)
tools/mxsimage.h +3 -2
index 6cd59d2..9c61b4c 100644
@@ -81,8 +81,9 @@ struct sb_boot_image_header {
 #define	SB_VERSION_MAJOR	1
 #define	SB_VERSION_MINOR	1
 
-/* Enable to HTLLC verbose boot report. */
-#define SB_IMAGE_FLAG_VERBOSE	(1 << 0)
+/* Enable to HTLLC boot report. */
+#define SB_IMAGE_FLAG_DISPLAY_PROGRESS	(1 << 0)
+#define SB_IMAGE_FLAGS_MASK (SB_IMAGE_FLAG_DISPLAY_PROGRESS)
 
 struct sb_key_dictionary_key {
 	/* The CBC-MAC of image and sections header. */
Signature · 1 line
1.8.5.3
#1 lore raw

PATCH v3 1/1 ARM: mxs: tools: Add support for boot progress display flag

Quoted 5 lines · Alexey Ignatov

mkimage -T mxs now support new flag in config file:
DISPLAYPROGRESS - makes boot process print HTLLC characters for each BootROM instruction.

Quoted 8 lines
---
 arch/arm/cpu/arm926ejs/mxs/mxsimage-signed.cfg |  1 +
 arch/arm/cpu/arm926ejs/mxs/mxsimage.mx23.cfg   |  1 +
 arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg   |  1 +
 doc/README.mxsimage                            | 13 +++++++++----
 tools/mxsimage.c                               | 16 ++++++++++------
 tools/mxsimage.h                               |  5 +++--
 6 files changed, 25 insertions(+), 12 deletions(-)

A hint: Please add a changelog so the people reading your patch don't have to go searching for the changes you did in the next version. What did you change here?

Best regards,
Marek Vasut

#2 lore raw

PATCH v3 1/1 ARM: mxs: tools: Add support for boot progress display flag

In reply to Alexey Ignatov

Sorry, forgot to add changelog.

v1: initial version
v2: contains an error, don't use it
v3: removed VERBOSEPROGRESS flag, added DISPLAYPROGRESS flag to default mkimage configs, added documentation

#3 lore raw

PATCH v3 1/1 ARM: mxs: tools: Add support for boot progress display flag

Quoted 6 lines · Alexey Ignatov

Sorry, forgot to add changelog.

v1: initial version
v2: contains an error, don't use it
v3: removed VERBOSEPROGRESS flag, added DISPLAYPROGRESS flag to default mkimage configs, added documentation

Calm down, no need to haste with re-posting :) There is one last minor detail about those () in +#define SB_IMAGE_FLAGS_MASK (SB_IMAGE_FLAG_DISPLAY_PROGRESS) so a V4 would be likely the one which will go in, unless someone has any other objections :)

Best regards,
Marek Vasut