android13/u-boot/test/rockchip/test-download.c

93 lines
2.1 KiB
C

/*
* (C) Copyright 2019 Rockchip Electronics Co., Ltd
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include "test-rockchip.h"
#ifdef CONFIG_CMD_GO
static int do_test_brom(cmd_tbl_t *cmdtp, int flag,
int argc, char *const argv[])
{
return run_command("rbrom", 0);
}
#endif
#ifdef CONFIG_CMD_FASTBOOT
static int do_test_fastboot(cmd_tbl_t *cmdtp, int flag,
int argc, char *const argv[])
{
return run_command("fastboot usb 0", 0);
}
#endif
#ifdef CONFIG_CMD_ROCKUSB
static int do_test_rockusb(cmd_tbl_t *cmdtp, int flag,
int argc, char *const argv[])
{
return run_command("rockusb 0 ${devtype} ${devnum}", 0);
}
#endif
#ifdef CONFIG_CMD_NET
static int do_test_tftp(cmd_tbl_t *cmdtp, int flag,
int argc, char *const argv[])
{
char load_cmd[64];
char serverip_cmd[64];
int ret = 0;
if (argc != 3)
return CMD_RET_USAGE;
snprintf(serverip_cmd, 64, "env set serverip %s", argv[1]);
snprintf(load_cmd, 64, "tftp %s", argv[2]);
ret |= run_command(serverip_cmd, 0);
ret |= run_command("dhcp", 0);
ret |= run_command(load_cmd, 0);
if (ret)
ut_err("tftp: failed to download file\n");
return ret;
}
#endif
static cmd_tbl_t sub_cmd[] = {
#ifdef CONFIG_CMD_GO
UNIT_CMD_ATTR_DEFINE(brom, 0, CMD_FLG_NORETURN),
#endif
#ifdef CONFIG_CMD_FASTBOOT
UNIT_CMD_ATTR_DEFINE(fastboot, 0, CMD_FLG_NORETURN),
#endif
#ifdef CONFIG_CMD_ROCKUSB
UNIT_CMD_ATTR_DEFINE(rockusb, 0, CMD_FLG_NORETURN),
#endif
#ifdef CONFIG_CMD_NET
UNIT_CMD_ATTR_DEFINE(tftp, 0, CMD_FLG_NORETURN),
#endif
};
static const char sub_cmd_help[] =
#ifdef CONFIG_CMD_GO
" [n] rktest brom - test bootrom, enter download mode\n"
#endif
#ifdef CONFIG_CMD_FASTBOOT
" [n] rktest fastboot - test fastboot, enter download mode\n"
#endif
#ifdef CONFIG_CMD_ROCKUSB
" [n] rktest rockusb - test rockusb, enter download mode\n"
#endif
#ifdef CONFIG_CMD_NET
" [.] rktest tftp [serverip] [file] - test tftp download\n"
#endif
;
const struct cmd_group cmd_grp_download = {
.id = TEST_ID_DOWNLOAD,
.help = sub_cmd_help,
.cmd = sub_cmd,
.cmd_n = ARRAY_SIZE(sub_cmd),
};