[U-Boot] [PATCH 2/2] usbarmory: Add board_run_command() function

Stefano Babic sbabic at denx.de
Mon Jun 20 17:46:52 CEST 2016


Hallo Andrej,

On 20/06/2016 17:21, andrej at inversepath.com wrote:
> From: Andrej Rosano <andrej at inversepath.com>
> 
> Define a default board_run_command() function. This function contains
> the commands needed to boot the board when CLI is disabled (CONFIG_CMDLINE=n).
> 
> Signed-off-by: Andrej Rosano <andrej at inversepath.com>
> ---
>  board/inversepath/usbarmory/usbarmory.c | 31 +++++++++++++++++++++++++++++++
>  include/configs/usbarmory.h             | 11 +++++++----
>  2 files changed, 38 insertions(+), 4 deletions(-)
> 
> diff --git a/board/inversepath/usbarmory/usbarmory.c b/board/inversepath/usbarmory/usbarmory.c
> index a809039..a11e3b3 100644
> --- a/board/inversepath/usbarmory/usbarmory.c
> +++ b/board/inversepath/usbarmory/usbarmory.c
> @@ -415,3 +415,34 @@ int checkboard(void)
>  	puts("Board: Inverse Path USB armory MkI\n");
>  	return 0;
>  }
> +
> +#ifndef CONFIG_CMDLINE
> +static char *ext2_argv[] = {
> +	"ext2load",
> +	"mmc",
> +	"0:1",
> +	USBARMORY_FIT_ADDR,
> +	USBARMORY_FIT_PATH
> +};
> +
> +static char *bootm_argv[] = {
> +	"bootm",
> +	USBARMORY_FIT_ADDR
> +};
> +
> +int board_run_command(const char *cmdline)
> +{
> +	printf("%s %s %s %s %s\n", ext2_argv[0], ext2_argv[1], ext2_argv[2],
> +	       ext2_argv[3], ext2_argv[4]);
> +
> +	if (do_ext2load(NULL, 0, 5, ext2_argv) != 0) {
> +		udelay(5*1000*1000);
> +		return 1;
> +	}
> +
> +	printf("%s %s\n", bootm_argv[0], bootm_argv[1]);
> +	do_bootm(NULL, 0, 2, bootm_argv);
> +
> +	return 1;
> +}

I ten to NACK this. You can do exactly the same with a U-Boot script,
and if you want to have this as default, you can change your default
environment. This is just a wrapper around the hush shell.


> +#endif
> diff --git a/include/configs/usbarmory.h b/include/configs/usbarmory.h
> index c0e093f..5484204 100644
> --- a/include/configs/usbarmory.h
> +++ b/include/configs/usbarmory.h
> @@ -17,16 +17,13 @@
>  #define CONFIG_SYS_FSL_CLK
>  #define CONFIG_BOARD_EARLY_INIT_F
>  #define CONFIG_MXC_GPIO
> +#define CONFIG_SYS_NO_FLASH
>  
>  #include <asm/arch/imx-regs.h>
>  
>  #include <config_distro_defaults.h>
>  
> -/* U-Boot commands */
> -
>  /* U-Boot environment */
> -#define CONFIG_ENV_OVERWRITE
> -#define CONFIG_SYS_NO_FLASH
>  #define CONFIG_ENV_OFFSET	(6 * 64 * 1024)
>  #define CONFIG_ENV_SIZE		(8 * 1024)
>  #define CONFIG_ENV_IS_IN_MMC
> @@ -101,6 +98,12 @@
>  	"console=ttymxc0,115200\0"				\
>  	BOOTENV
>  
> +#ifndef CONFIG_CMDLINE
> +#define CONFIG_BOOTARGS "console=ttymxc0,115200 root=/dev/mmcblk0p1 rootwait rw"
> +#define USBARMORY_FIT_PATH	"/boot/usbarmory.itb"
> +#define USBARMORY_FIT_ADDR	"0x70800000"
> +#endif
> +
>  /* Physical Memory Map */
>  #define CONFIG_NR_DRAM_BANKS		1
>  #define PHYS_SDRAM			CSD0_BASE_ADDR
> 

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
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
=====================================================================


More information about the U-Boot mailing list