mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-09-28 01:01:22 +02:00
toradex: configblock: add an -y parameter to 'cfgblock create’
Add an optional -y parameter to 'cfgblock create’ to simplify automation. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Reviewed-by: Igor Opaniuk <igor.opaniuk@toradex.com>
This commit is contained in:
parent
671b6a3d78
commit
587b13c69c
@ -418,6 +418,7 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc,
|
|||||||
int offset = 0;
|
int offset = 0;
|
||||||
int ret = CMD_RET_SUCCESS;
|
int ret = CMD_RET_SUCCESS;
|
||||||
int err;
|
int err;
|
||||||
|
int force_overwrite = 0;
|
||||||
|
|
||||||
/* Allocate RAM area for config block */
|
/* Allocate RAM area for config block */
|
||||||
config_block = memalign(ARCH_DMA_MINALIGN, size);
|
config_block = memalign(ARCH_DMA_MINALIGN, size);
|
||||||
@ -428,6 +429,11 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc,
|
|||||||
|
|
||||||
memset(config_block, 0xff, size);
|
memset(config_block, 0xff, size);
|
||||||
|
|
||||||
|
if (argc >= 3) {
|
||||||
|
if (argv[2][0] == '-' && argv[2][1] == 'y')
|
||||||
|
force_overwrite = 1;
|
||||||
|
}
|
||||||
|
|
||||||
read_tdx_cfg_block();
|
read_tdx_cfg_block();
|
||||||
if (valid_cfgblock) {
|
if (valid_cfgblock) {
|
||||||
#if defined(CONFIG_TDX_CFG_BLOCK_IS_IN_NAND)
|
#if defined(CONFIG_TDX_CFG_BLOCK_IS_IN_NAND)
|
||||||
@ -448,24 +454,31 @@ static int do_cfgblock_create(cmd_tbl_t *cmdtp, int flag, int argc,
|
|||||||
CONFIG_TDX_CFG_BLOCK_OFFSET);
|
CONFIG_TDX_CFG_BLOCK_OFFSET);
|
||||||
goto out;
|
goto out;
|
||||||
#else
|
#else
|
||||||
char message[CONFIG_SYS_CBSIZE];
|
if (!force_overwrite) {
|
||||||
sprintf(message,
|
char message[CONFIG_SYS_CBSIZE];
|
||||||
"A valid Toradex config block is present, still recreate? [y/N] ");
|
|
||||||
|
|
||||||
if (!cli_readline(message))
|
sprintf(message,
|
||||||
goto out;
|
"A valid Toradex config block is present, still recreate? [y/N] ");
|
||||||
|
|
||||||
if (console_buffer[0] != 'y' && console_buffer[0] != 'Y')
|
if (!cli_readline(message))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
if (console_buffer[0] != 'y' &&
|
||||||
|
console_buffer[0] != 'Y')
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Parse new Toradex config block data... */
|
/* Parse new Toradex config block data... */
|
||||||
if (argc < 3)
|
if (argc < 3 || (force_overwrite && argc < 4)) {
|
||||||
err = get_cfgblock_interactive();
|
err = get_cfgblock_interactive();
|
||||||
else
|
} else {
|
||||||
err = get_cfgblock_barcode(argv[2]);
|
if (force_overwrite)
|
||||||
|
err = get_cfgblock_barcode(argv[3]);
|
||||||
|
else
|
||||||
|
err = get_cfgblock_barcode(argv[2]);
|
||||||
|
}
|
||||||
if (err) {
|
if (err) {
|
||||||
ret = CMD_RET_FAILURE;
|
ret = CMD_RET_FAILURE;
|
||||||
goto out;
|
goto out;
|
||||||
@ -549,8 +562,8 @@ static int do_cfgblock(cmd_tbl_t *cmdtp, int flag, int argc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
U_BOOT_CMD(
|
U_BOOT_CMD(
|
||||||
cfgblock, 3, 0, do_cfgblock,
|
cfgblock, 4, 0, do_cfgblock,
|
||||||
"Toradex config block handling commands",
|
"Toradex config block handling commands",
|
||||||
"create [barcode] - (Re-)create Toradex config block\n"
|
"create [-y] [barcode] - (Re-)create Toradex config block\n"
|
||||||
"cfgblock reload - Reload Toradex config block from flash"
|
"cfgblock reload - Reload Toradex config block from flash"
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user