All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/2] tools: arm: imx: Implement BOOT_OFFSET command for imximage
Date: Fri, 26 Apr 2013 10:19:48 +0200	[thread overview]
Message-ID: <517A38A4.9010902@denx.de> (raw)
In-Reply-To: <1366920963-8646-1-git-send-email-marex@denx.de>

On 25/04/2013 22:16, Marek Vasut wrote:
> Implement BOOT_OFFSET command for imximage. This command is parallel
> to current BOOT_FROM command, but allows more flexibility in configuring
> arbitrary image header offset. Also add an imximage.cfg with default
> offset values into arm/arch/imx-common/ so the board-specific imximage.cfg
> can include this file to avoid magic constants.
> 
> The syntax of BOOT_OFFSET command is "BOOT_OFFSET <u32 offset>".
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
> Cc: Beno?t Th?baudeau <benoit.thebaudeau@advansee.com>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> Cc: Scott Wood <scottwood@freescale.com>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Tom Rini <trini@ti.com>
> ---
>  arch/arm/include/asm/imx-common/imximage.cfg |   30 ++++++++++++++++++++++++++
>  doc/README.imximage                          |   18 ++++++++++++++++
>  tools/imximage.c                             |    6 ++++++
>  tools/imximage.h                             |    6 ++++++
>  4 files changed, 60 insertions(+)
>  create mode 100644 arch/arm/include/asm/imx-common/imximage.cfg
> 
> diff --git a/arch/arm/include/asm/imx-common/imximage.cfg b/arch/arm/include/asm/imx-common/imximage.cfg
> new file mode 100644
> index 0000000..95daa3d
> --- /dev/null
> +++ b/arch/arm/include/asm/imx-common/imximage.cfg
> @@ -0,0 +1,30 @@
> +/*
> + * i.MX image header offset values
> + * Copyright (C) 2013 Marek Vasut <marex@denx.de>
> + *
> + * See file CREDITS for list of people who contributed to this
> + * project.
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License as
> + * published by the Free Software Foundation; either version 2 of
> + * the License or (at your option) any later version.
> + */
> +
> +/*
> + * NOTE: This file must be kept in sync with tools/imximage.h because
> + *       tools/imximage.c can not cross-include headers from arch/arm/
> + *       and vice-versa.
> + */
> +
> +#ifndef __ASM_IMX_COMMON_IMXIMAGE_CFG__
> +#define __ASM_IMX_COMMON_IMXIMAGE_CFG__
> +
> +/* Standard image header offset for NAND, SATA, SD, SPI flash. */
> +#define FLASH_OFFSET_STANDARD	0x400
> +/* Specific image header offset for booting from OneNAND. */
> +#define FLASH_OFFSET_ONENAND	0x100
> +/* Specific image header offset for booting from memory-mapped NOR. */
> +#define FLASH_OFFSET_NOR	0x1000
> +
> +#endif  /* __ASM_IMX_COMMON_IMXIMAGE_CFG__ */
> diff --git a/doc/README.imximage b/doc/README.imximage
> index 073e3fc..802eb90 100644
> --- a/doc/README.imximage
> +++ b/doc/README.imximage
> @@ -65,9 +65,27 @@ Configuration command line syntax:
>  				This command need appear the fist before
>  				other valid commands in configuration file.
>  
> +	BOOT_OFFSET		value
> +
> +				This command is parallel to BOOT_FROM and
> +				is preferred over BOOT_FROM.
> +
> +				value:  Offset of the image header, this
> +					value shall be set to one of the
> +					values found in the file:
> +						arch/arm/include/asm/\
> +						imx-common/imximage.cfg
> +				Example:
> +				BOOT_OFFSET FLASH_OFFSET_STANDARD
> +
>  	BOOT_FROM		nand/spi/sd/onenand/nor/sata
> +
> +				This command is parallel to BOOT_OFFSET and
> +				is to be deprecated in favor of BOOT_OFFSET.
> +
>  				Example:
>  				BOOT_FROM spi
> +
>  	DATA			type address value
>  
>  				type: word=4, halfword=2, byte=1
> diff --git a/tools/imximage.c b/tools/imximage.c
> index c018562..5e8e470 100644
> --- a/tools/imximage.c
> +++ b/tools/imximage.c
> @@ -37,6 +37,7 @@
>   */
>  static table_entry_t imximage_cmds[] = {
>  	{CMD_BOOT_FROM,         "BOOT_FROM",            "boot command",	  },
> +	{CMD_BOOT_OFFSET,       "BOOT_OFFSET",          "Boot offset",	  },
>  	{CMD_DATA,              "DATA",                 "Reg Write Data", },
>  	{CMD_IMAGE_VERSION,     "IMAGE_VERSION",        "image version",  },
>  	{-1,                    "",                     "",	          },
> @@ -352,6 +353,11 @@ static void parse_cfg_cmd(struct imx_header *imxhdr, int32_t cmd, char *token,
>  		if (unlikely(cmd_ver_first != 1))
>  			cmd_ver_first = 0;
>  		break;
> +	case CMD_BOOT_OFFSET:
> +		imxhdr->flash_offset = get_cfg_value(token, name, lineno);
> +		if (unlikely(cmd_ver_first != 1))
> +			cmd_ver_first = 0;
> +		break;
>  	case CMD_DATA:
>  		value = get_cfg_value(token, name, lineno);
>  		(*set_dcd_val)(imxhdr, name, lineno, fld, value, dcd_len);
> diff --git a/tools/imximage.h b/tools/imximage.h
> index dfd2e9e..99e124a 100644
> --- a/tools/imximage.h
> +++ b/tools/imximage.h
> @@ -31,6 +31,11 @@
>  
>  #define HEADER_OFFSET	0x400
>  
> +/*
> + * NOTE: This file must be kept in sync with arch/arm/include/asm/\
> + *       imx-common/imximage.cfg because tools/imximage.c can not
> + *       cross-include headers from arch/arm/ and vice-versa.
> + */
>  #define CMD_DATA_STR	"DATA"
>  #define FLASH_OFFSET_UNDEFINED	0xFFFFFFFF
>  #define FLASH_OFFSET_STANDARD	0x400
> @@ -52,6 +57,7 @@ enum imximage_cmd {
>  	CMD_INVALID,
>  	CMD_IMAGE_VERSION,
>  	CMD_BOOT_FROM,
> +	CMD_BOOT_OFFSET,
>  	CMD_DATA
>  };
>  

It looks great.

Acked-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic


-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

  parent reply	other threads:[~2013-04-26  8:19 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-25 20:16 [U-Boot] [PATCH 1/2] tools: arm: imx: Implement BOOT_OFFSET command for imximage Marek Vasut
2013-04-25 20:16 ` [U-Boot] [PATCH V3 2/2] arm: mx5: Add support for DENX M53EVK Marek Vasut
2013-04-25 21:42   ` Wolfgang Denk
2013-04-26  1:07     ` Marek Vasut
2013-05-03 14:59   ` Benoît Thébaudeau
2013-05-03 15:09     ` Benoît Thébaudeau
2013-05-03 17:31     ` Benoît Thébaudeau
2013-05-03 19:56       ` Marek Vasut
2013-05-03 20:06         ` Benoît Thébaudeau
2013-05-03 20:17           ` Marek Vasut
2013-05-05 15:57   ` Stefano Babic
2013-04-25 21:29 ` [U-Boot] [PATCH 1/2] tools: arm: imx: Implement BOOT_OFFSET command for imximage Benoît Thébaudeau
2013-04-26  0:57   ` Marek Vasut
2013-04-26  7:11     ` Benoît Thébaudeau
2013-04-26  8:19 ` Stefano Babic [this message]
2013-04-26  8:49 ` Stefan Roese
2013-04-28  9:19 ` Stefano Babic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=517A38A4.9010902@denx.de \
    --to=sbabic@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.