[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